From f66bdc71a05b06e3485895aeb01337700f91c80c Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Tue, 20 Apr 2021 14:26:36 +0100 Subject: [PATCH] Add gh-pages to main dev branch --- docs/gh-pages/.hgignore | 9 + docs/gh-pages/404.html | 3 + docs/gh-pages/CNAME | 1 + docs/gh-pages/Gemfile | 6 + docs/gh-pages/LICENSE | 23 + docs/gh-pages/README.md | 12 + docs/gh-pages/_config.yml | 95 + docs/gh-pages/_data/locale.yml | 111 + docs/gh-pages/_data/navigation.yml | 79 + docs/gh-pages/_data/variables.yml | 64 + .../_includes/analytics-providers/custom.html | 3 + .../_includes/analytics-providers/google.html | 14 + docs/gh-pages/_includes/analytics.html | 7 + docs/gh-pages/_includes/article-footer.html | 55 + docs/gh-pages/_includes/article-header.html | 49 + docs/gh-pages/_includes/article-info.html | 96 + docs/gh-pages/_includes/article-list.html | 144 + .../_includes/article-section-navigator.html | 54 + .../article/footer/author-profile.html | 47 + .../_includes/article/footer/custom.html | 3 + .../_includes/article/footer/license.html | 14 + .../_includes/article/footer/subscribe.html | 6 + .../_includes/article/top/custom.html | 3 + docs/gh-pages/_includes/aside/toc.html | 1 + docs/gh-pages/_includes/author-links.html | 120 + .../_includes/comments-providers/custom.html | 3 + .../_includes/comments-providers/disqus.html | 22 + .../_includes/comments-providers/gitalk.html | 39 + .../_includes/comments-providers/valine.html | 33 + docs/gh-pages/_includes/comments.html | 11 + .../_includes/extensions/bilibili.html | 5 + .../_includes/extensions/codepen.html | 4 + .../extensions/netease-cloud-music.html | 4 + .../_includes/extensions/slideshare.html | 6 + .../_includes/extensions/soundcloud.html | 4 + docs/gh-pages/_includes/extensions/ted.html | 5 + .../_includes/extensions/youtube.html | 4 + docs/gh-pages/_includes/figure.html | 15 + docs/gh-pages/_includes/footer.html | 37 + docs/gh-pages/_includes/head.html | 24 + docs/gh-pages/_includes/head/custom.html | 7 + docs/gh-pages/_includes/head/favicon.html | 26 + docs/gh-pages/_includes/header.html | 46 + docs/gh-pages/_includes/known-issue-box.html | 2 + .../_includes/main/bottom/custom.html | 3 + docs/gh-pages/_includes/main/top/custom.html | 3 + .../_includes/markdown-enhancements.html | 17 + .../markdown-enhancements/chart.html | 15 + .../markdown-enhancements/mathjax.html | 17 + .../markdown-enhancements/mermaid.html | 10 + .../pageview-providers/custom/home.html | 3 + .../pageview-providers/custom/post.html | 3 + .../pageview-providers/leancloud/home.html | 35 + .../pageview-providers/leancloud/leancloud.js | 71 + .../pageview-providers/leancloud/post.html | 31 + docs/gh-pages/_includes/pageview.html | 29 + docs/gh-pages/_includes/paginator.html | 98 + docs/gh-pages/_includes/scripts/archieve.js | 135 + docs/gh-pages/_includes/scripts/article.js | 24 + .../gh-pages/_includes/scripts/aside/affix.js | 26 + docs/gh-pages/_includes/scripts/aside/toc.js | 35 + docs/gh-pages/_includes/scripts/common.js | 7 + .../_includes/scripts/components/lightbox.js | 49 + .../_includes/scripts/components/search.js | 86 + .../_includes/scripts/components/sidebar.js | 31 + docs/gh-pages/_includes/scripts/home.js | 3 + docs/gh-pages/_includes/scripts/lib/affix.js | 111 + .../gh-pages/_includes/scripts/lib/gallery.js | 192 + .../_includes/scripts/lib/lazyload.js | 143 + docs/gh-pages/_includes/scripts/lib/modal.js | 64 + .../_includes/scripts/lib/scroll-to.js | 13 + docs/gh-pages/_includes/scripts/lib/swiper.js | 203 + .../_includes/scripts/lib/throttle.js | 28 + docs/gh-pages/_includes/scripts/lib/toc.js | 107 + docs/gh-pages/_includes/scripts/page.js | 3 + .../_includes/scripts/utils/imagesLoad.js | 28 + .../gh-pages/_includes/scripts/utils/utils.js | 43 + .../gh-pages/_includes/scripts/variables.html | 35 + .../search-providers/custom/search.html | 3 + .../search-providers/default/search-data.js | 14 + .../search-providers/default/search.html | 18 + .../search-providers/default/search.js | 127 + .../google-custom-search-engine/search.html | 21 + .../google-custom-search-engine/search.js | 33 + docs/gh-pages/_includes/search.html | 20 + .../_includes/sharing-providers/addthis.html | 9 + .../_includes/sharing-providers/addtoany.html | 10 + .../_includes/sharing-providers/custom.html | 3 + docs/gh-pages/_includes/sharing.html | 7 + docs/gh-pages/_includes/sidebar/toc.html | 25 + docs/gh-pages/_includes/snippets/assign.html | 9 + .../_includes/snippets/get-article-title.html | 11 + .../gh-pages/_includes/snippets/get-lang.html | 6 + .../_includes/snippets/get-locale-string.html | 12 + .../_includes/snippets/get-nav-url.html | 8 + .../_includes/snippets/get-sources.html | 2 + .../get-string-from-locale-config.html | 7 + .../_includes/snippets/is_collection.html | 6 + .../gh-pages/_includes/snippets/page-url.html | 2 + .../_includes/snippets/prepend-baseurl.html | 4 + .../_includes/snippets/prepend-path.html | 1 + .../_includes/svg/icon/social/behance.svg | 3 + .../_includes/svg/icon/social/douban.svg | 5 + .../_includes/svg/icon/social/facebook.svg | 3 + .../_includes/svg/icon/social/flicker.svg | 5 + .../_includes/svg/icon/social/github.svg | 3 + .../_includes/svg/icon/social/googleplus.svg | 3 + .../_includes/svg/icon/social/linkedin.svg | 3 + .../_includes/svg/icon/social/mail.svg | 6 + .../_includes/svg/icon/social/medium.svg | 3 + .../_includes/svg/icon/social/npm.svg | 9 + .../_includes/svg/icon/social/pinterest.svg | 3 + .../gh-pages/_includes/svg/icon/social/qq.svg | 3 + .../_includes/svg/icon/social/telegram.svg | 4 + .../_includes/svg/icon/social/twitter.svg | 3 + .../_includes/svg/icon/social/weibo.svg | 6 + .../_includes/svg/icon/social/weixin.svg | 3 + .../_includes/svg/icon/social/zhihu.svg | 3 + docs/gh-pages/_includes/svg/logo.svg | 1 + docs/gh-pages/_includes/tags.html | 52 + docs/gh-pages/_layouts/404.html | 13 + docs/gh-pages/_layouts/archive.html | 31 + docs/gh-pages/_layouts/article.html | 29 + docs/gh-pages/_layouts/articles.html | 89 + docs/gh-pages/_layouts/base.html | 25 + docs/gh-pages/_layouts/home.html | 34 + docs/gh-pages/_layouts/landing.html | 178 + docs/gh-pages/_layouts/none.html | 1 + docs/gh-pages/_layouts/page.html | 270 + .../_page_fragments/supported-formats-dash.md | 27 + .../_page_fragments/supported-formats-hls.md | 32 + .../supported-formats-progressive.md | 44 + .../supported-formats-smoothstreaming.md | 16 + docs/gh-pages/_sass/additional/_alert.scss | 29 + .../_sass/additional/_photo-frame.scss | 17 + docs/gh-pages/_sass/additional/_tag.scss | 21 + .../gh-pages/_sass/animate/_fade-in-down.scss | 10 + docs/gh-pages/_sass/animate/_fade-in-up.scss | 10 + docs/gh-pages/_sass/animate/_fade-in.scss | 8 + docs/gh-pages/_sass/common/_classes.scss | 23 + docs/gh-pages/_sass/common/_function.scss | 15 + docs/gh-pages/_sass/common/_print.scss | 20 + docs/gh-pages/_sass/common/_reset.scss | 160 + docs/gh-pages/_sass/common/_variables.scss | 150 + .../_sass/common/components/_button.scss | 163 + .../_sass/common/components/_card.scss | 103 + .../_sass/common/components/_gallery.scss | 21 + .../_sass/common/components/_hero.scss | 70 + .../_sass/common/components/_image.scss | 19 + .../_sass/common/components/_item.scss | 100 + .../_sass/common/components/_menu.scss | 67 + .../_sass/common/components/_modal.scss | 39 + .../_sass/common/components/_swiper.scss | 48 + .../_sass/common/components/_toc.scss | 112 + .../_sass/components/_article-content.scss | 221 + .../_sass/components/_article-footer.scss | 17 + .../_sass/components/_article-header.scss | 50 + .../_sass/components/_article-info.scss | 25 + .../_sass/components/_article-list.scss | 18 + .../_sass/components/_author-links.scss | 43 + .../_sass/components/_author-profile.scss | 26 + .../_sass/components/_extensions.scss | 35 + docs/gh-pages/_sass/components/_footer.scss | 33 + docs/gh-pages/_sass/components/_header.scss | 120 + docs/gh-pages/_sass/components/_lightbox.scss | 7 + docs/gh-pages/_sass/components/_main.scss | 28 + docs/gh-pages/_sass/components/_search.scss | 186 + docs/gh-pages/_sass/components/_tags.scss | 24 + docs/gh-pages/_sass/custom.scss | 7 + docs/gh-pages/_sass/layout/_404.scss | 14 + docs/gh-pages/_sass/layout/_archive.scss | 5 + docs/gh-pages/_sass/layout/_article.scss | 29 + docs/gh-pages/_sass/layout/_articles.scss | 17 + docs/gh-pages/_sass/layout/_base.scss | 6 + docs/gh-pages/_sass/layout/_home.scss | 15 + docs/gh-pages/_sass/layout/_landing.scss | 23 + docs/gh-pages/_sass/layout/_page.scss | 165 + docs/gh-pages/_sass/skins/_chocolate.scss | 74 + docs/gh-pages/_sass/skins/_dark.scss | 74 + docs/gh-pages/_sass/skins/_default.scss | 74 + docs/gh-pages/_sass/skins/_forest.scss | 74 + docs/gh-pages/_sass/skins/_ocean.scss | 74 + docs/gh-pages/_sass/skins/_orange.scss | 74 + .../_sass/skins/highlight/_default.scss | 0 .../skins/highlight/_tomorrow-night-blue.scss | 2 + .../highlight/_tomorrow-night-bright.scss | 2 + .../highlight/_tomorrow-night-eighties.scss | 2 + .../skins/highlight/_tomorrow-night.scss | 2 + .../_sass/skins/highlight/_tomorrow.scss | 2 + .../skins/highlight/tomorrow/_default.scss | 10 + .../skins/highlight/tomorrow/_highlight.scss | 74 + .../skins/highlight/tomorrow/_night-blue.scss | 10 + .../highlight/tomorrow/_night-bright.scss | 10 + .../highlight/tomorrow/_night-eighties.scss | 10 + .../skins/highlight/tomorrow/_night.scss | 10 + docs/gh-pages/ad-insertion.md | 221 + docs/gh-pages/analytics.md | 264 + .../assets/android-chrome-192x192.png | Bin 0 -> 8893 bytes .../assets/android-chrome-256x256.png | Bin 0 -> 12262 bytes docs/gh-pages/assets/android-chrome-96x96.png | Bin 0 -> 4781 bytes docs/gh-pages/assets/apple-touch-icon.png | Bin 0 -> 8335 bytes docs/gh-pages/assets/browserconfig.xml | 9 + docs/gh-pages/assets/css/main.scss | 76 + docs/gh-pages/assets/favicon-16x16.png | Bin 0 -> 1061 bytes docs/gh-pages/assets/favicon-32x32.png | Bin 0 -> 1806 bytes docs/gh-pages/assets/favicon.ico | Bin 0 -> 15086 bytes docs/gh-pages/assets/images/logo/logo.svg | 8 + docs/gh-pages/assets/mstile-150x150.png | Bin 0 -> 6619 bytes docs/gh-pages/assets/safari-pinned-tab.svg | 23 + docs/gh-pages/assets/search.js | 3 + docs/gh-pages/assets/site.webmanifest | 19 + docs/gh-pages/battery-consumption.md | 76 + docs/gh-pages/customization.md | 277 + docs/gh-pages/dash.md | 86 + docs/gh-pages/debug-logging.md | 126 + docs/gh-pages/demo-application.md | 259 + docs/gh-pages/design-documents.md | 36 + .../docs/reference/allclasses-frame.html | 1126 + .../docs/reference/allclasses-noframe.html | 1126 + .../AbstractConcatenatedTimeline.html | 838 + .../google/android/exoplayer2/BasePlayer.html | 1205 + .../android/exoplayer2/BaseRenderer.html | 1339 + .../C.AudioAllowedCapturePolicy.html | 189 + .../exoplayer2/C.AudioContentType.html | 190 + .../android/exoplayer2/C.AudioFlags.html | 192 + .../android/exoplayer2/C.AudioFocusGain.html | 189 + .../android/exoplayer2/C.AudioUsage.html | 191 + .../android/exoplayer2/C.BufferFlags.html | 190 + .../android/exoplayer2/C.ColorRange.html | 189 + .../android/exoplayer2/C.ColorSpace.html | 189 + .../android/exoplayer2/C.ColorTransfer.html | 189 + .../android/exoplayer2/C.ContentType.html | 189 + .../android/exoplayer2/C.CryptoMode.html | 190 + .../google/android/exoplayer2/C.Encoding.html | 192 + .../android/exoplayer2/C.FormatSupport.html | 189 + .../android/exoplayer2/C.NetworkType.html | 190 + .../android/exoplayer2/C.PcmEncoding.html | 191 + .../android/exoplayer2/C.Projection.html | 189 + .../android/exoplayer2/C.RoleFlags.html | 190 + .../android/exoplayer2/C.SelectionFlags.html | 189 + .../android/exoplayer2/C.StereoMode.html | 189 + .../android/exoplayer2/C.StreamType.html | 189 + .../android/exoplayer2/C.VideoOutputMode.html | 189 + .../exoplayer2/C.VideoScalingMode.html | 189 + .../google/android/exoplayer2/C.WakeMode.html | 189 + .../com/google/android/exoplayer2/C.html | 4789 ++ .../android/exoplayer2/ControlDispatcher.html | 551 + .../exoplayer2/DefaultControlDispatcher.html | 817 + ...faultLivePlaybackSpeedControl.Builder.html | 504 + .../DefaultLivePlaybackSpeedControl.html | 604 + .../DefaultLoadControl.Builder.html | 480 + .../exoplayer2/DefaultLoadControl.html | 988 + ...enderersFactory.ExtensionRendererMode.html | 189 + .../exoplayer2/DefaultRenderersFactory.html | 1077 + .../exoplayer2/ExoPlaybackException.Type.html | 191 + .../exoplayer2/ExoPlaybackException.html | 777 + .../android/exoplayer2/ExoPlayer.Builder.html | 713 + .../google/android/exoplayer2/ExoPlayer.html | 1014 + .../android/exoplayer2/ExoPlayerFactory.html | 710 + .../exoplayer2/ExoPlayerLibraryInfo.html | 489 + .../ExoTimeoutException.TimeoutOperation.html | 192 + .../exoplayer2/ExoTimeoutException.html | 445 + .../android/exoplayer2/Format.Builder.html | 1042 + .../com/google/android/exoplayer2/Format.html | 2158 + .../android/exoplayer2/FormatHolder.html | 362 + .../IllegalSeekPositionException.html | 384 + .../exoplayer2/LivePlaybackSpeedControl.html | 346 + .../android/exoplayer2/LoadControl.html | 468 + .../MediaItem.AdsConfiguration.html | 351 + .../android/exoplayer2/MediaItem.Builder.html | 1033 + .../MediaItem.ClippingProperties.html | 402 + .../MediaItem.DrmConfiguration.html | 457 + .../MediaItem.LiveConfiguration.html | 486 + .../MediaItem.PlaybackProperties.html | 460 + .../exoplayer2/MediaItem.Subtitle.html | 540 + .../google/android/exoplayer2/MediaItem.html | 524 + .../exoplayer2/MediaMetadata.Builder.html | 324 + .../android/exoplayer2/MediaMetadata.html | 351 + .../android/exoplayer2/MetadataRetriever.html | 307 + .../android/exoplayer2/NoSampleRenderer.html | 1216 + .../android/exoplayer2/ParserException.html | 351 + .../exoplayer2/PlaybackParameters.html | 497 + .../android/exoplayer2/PlaybackPreparer.html | 258 + .../exoplayer2/Player.AudioComponent.html | 489 + .../Player.DefaultEventListener.html | 386 + .../exoplayer2/Player.DeviceComponent.html | 407 + .../Player.DiscontinuityReason.html | 190 + .../android/exoplayer2/Player.EventFlags.html | 191 + .../exoplayer2/Player.EventListener.html | 830 + .../android/exoplayer2/Player.Events.html | 382 + .../Player.MediaItemTransitionReason.html | 189 + .../exoplayer2/Player.MetadataComponent.html | 283 + .../Player.PlayWhenReadyChangeReason.html | 189 + .../Player.PlaybackSuppressionReason.html | 190 + .../android/exoplayer2/Player.RepeatMode.html | 189 + .../android/exoplayer2/Player.State.html | 190 + .../exoplayer2/Player.TextComponent.html | 300 + .../Player.TimelineChangeReason.html | 189 + .../exoplayer2/Player.VideoComponent.html | 625 + .../com/google/android/exoplayer2/Player.html | 3020 ++ .../exoplayer2/PlayerMessage.Sender.html | 258 + .../exoplayer2/PlayerMessage.Target.html | 274 + .../android/exoplayer2/PlayerMessage.html | 822 + .../android/exoplayer2/Renderer.State.html | 189 + .../exoplayer2/Renderer.VideoScalingMode.html | 192 + .../exoplayer2/Renderer.WakeupListener.html | 284 + .../google/android/exoplayer2/Renderer.html | 1349 + .../RendererCapabilities.AdaptiveSupport.html | 190 + .../RendererCapabilities.Capabilities.html | 204 + .../RendererCapabilities.FormatSupport.html | 192 + ...RendererCapabilities.TunnelingSupport.html | 189 + .../exoplayer2/RendererCapabilities.html | 839 + .../exoplayer2/RendererConfiguration.html | 384 + .../android/exoplayer2/RenderersFactory.html | 272 + .../android/exoplayer2/SeekParameters.html | 520 + .../exoplayer2/SimpleExoPlayer.Builder.html | 990 + .../android/exoplayer2/SimpleExoPlayer.html | 3958 ++ .../android/exoplayer2/Timeline.Period.html | 858 + .../android/exoplayer2/Timeline.Window.html | 898 + .../google/android/exoplayer2/Timeline.html | 1007 + .../analytics/AnalyticsCollector.html | 2131 + .../AnalyticsListener.EventFlags.html | 191 + .../AnalyticsListener.EventTime.html | 582 + .../analytics/AnalyticsListener.Events.html | 431 + .../analytics/AnalyticsListener.html | 3004 ++ .../DefaultPlaybackSessionManager.html | 566 + .../PlaybackSessionManager.Listener.html | 344 + .../analytics/PlaybackSessionManager.html | 435 + .../PlaybackStats.EventTimeAndException.html | 394 + .../PlaybackStats.EventTimeAndFormat.html | 397 + ...aybackStats.EventTimeAndPlaybackState.html | 394 + .../exoplayer2/analytics/PlaybackStats.html | 2288 + .../PlaybackStatsListener.Callback.html | 262 + .../analytics/PlaybackStatsListener.html | 819 + .../exoplayer2/analytics/package-frame.html | 46 + .../exoplayer2/analytics/package-summary.html | 270 + .../exoplayer2/analytics/package-tree.html | 184 + .../audio/AacUtil.AacAudioObjectType.html | 189 + .../exoplayer2/audio/AacUtil.Config.html | 306 + .../android/exoplayer2/audio/AacUtil.html | 738 + .../Ac3Util.SyncFrameInfo.StreamType.html | 189 + .../audio/Ac3Util.SyncFrameInfo.html | 466 + .../android/exoplayer2/audio/Ac3Util.html | 623 + .../audio/Ac4Util.SyncFrameInfo.html | 340 + .../android/exoplayer2/audio/Ac4Util.html | 525 + .../audio/AudioAttributes.Builder.html | 386 + .../exoplayer2/audio/AudioAttributes.html | 433 + .../exoplayer2/audio/AudioCapabilities.html | 463 + .../AudioCapabilitiesReceiver.Listener.html | 258 + .../audio/AudioCapabilitiesReceiver.html | 359 + .../exoplayer2/audio/AudioListener.html | 317 + .../audio/AudioProcessor.AudioFormat.html | 419 + ...ocessor.UnhandledAudioFormatException.html | 292 + .../exoplayer2/audio/AudioProcessor.html | 485 + ...RendererEventListener.EventDispatcher.html | 463 + .../audio/AudioRendererEventListener.html | 508 + .../AudioSink.ConfigurationException.html | 356 + .../AudioSink.InitializationException.html | 393 + .../exoplayer2/audio/AudioSink.Listener.html | 404 + .../audio/AudioSink.SinkFormatSupport.html | 189 + .../audio/AudioSink.WriteException.html | 383 + .../android/exoplayer2/audio/AudioSink.html | 949 + .../exoplayer2/audio/AuxEffectInfo.html | 429 + .../exoplayer2/audio/BaseAudioProcessor.html | 674 + .../audio/DecoderAudioRenderer.html | 1071 + .../DefaultAudioSink.AudioProcessorChain.html | 362 + ...tAudioSink.DefaultAudioProcessorChain.html | 459 + ...k.InvalidAudioTrackTimestampException.html | 255 + .../exoplayer2/audio/DefaultAudioSink.html | 1224 + .../android/exoplayer2/audio/DtsUtil.html | 448 + .../exoplayer2/audio/ForwardingAudioSink.html | 958 + .../audio/MediaCodecAudioRenderer.html | 1572 + .../audio/MpegAudioUtil.Header.html | 460 + .../exoplayer2/audio/MpegAudioUtil.html | 380 + .../android/exoplayer2/audio/OpusUtil.html | 388 + .../audio/SilenceSkippingAudioProcessor.html | 633 + .../exoplayer2/audio/SonicAudioProcessor.html | 666 + .../TeeAudioProcessor.AudioBufferSink.html | 284 + ...AudioProcessor.WavFileAudioBufferSink.html | 357 + .../exoplayer2/audio/TeeAudioProcessor.html | 489 + .../android/exoplayer2/audio/WavUtil.html | 530 + .../exoplayer2/audio/package-frame.html | 79 + .../exoplayer2/audio/package-summary.html | 465 + .../exoplayer2/audio/package-tree.html | 233 + .../database/DatabaseIOException.html | 308 + .../exoplayer2/database/DatabaseProvider.html | 339 + .../database/DefaultDatabaseProvider.html | 367 + .../database/ExoDatabaseProvider.html | 434 + .../exoplayer2/database/VersionTable.html | 479 + .../exoplayer2/database/package-frame.html | 37 + .../exoplayer2/database/package-summary.html | 215 + .../exoplayer2/database/package-tree.html | 184 + .../android/exoplayer2/decoder/Buffer.html | 466 + .../exoplayer2/decoder/CryptoInfo.html | 585 + .../android/exoplayer2/decoder/Decoder.html | 382 + .../exoplayer2/decoder/DecoderCounters.html | 590 + .../exoplayer2/decoder/DecoderException.html | 344 + ...oderInputBuffer.BufferReplacementMode.html | 190 + ...tBuffer.InsufficientCapacityException.html | 371 + .../decoder/DecoderInputBuffer.html | 700 + ...ReuseEvaluation.DecoderDiscardReasons.html | 189 + ...derReuseEvaluation.DecoderReuseResult.html | 189 + .../decoder/DecoderReuseEvaluation.html | 883 + .../decoder/OutputBuffer.Owner.html | 260 + .../exoplayer2/decoder/OutputBuffer.html | 399 + .../exoplayer2/decoder/SimpleDecoder.html | 587 + .../decoder/SimpleOutputBuffer.html | 433 + .../exoplayer2/decoder/package-frame.html | 50 + .../exoplayer2/decoder/package-summary.html | 287 + .../exoplayer2/decoder/package-tree.html | 203 + .../device/DeviceInfo.PlaybackType.html | 190 + .../android/exoplayer2/device/DeviceInfo.html | 486 + .../exoplayer2/device/DeviceListener.html | 269 + .../exoplayer2/device/package-frame.html | 35 + .../exoplayer2/device/package-summary.html | 202 + .../exoplayer2/device/package-tree.html | 169 + .../doc-files/exoplayer-threading-model.svg | 3 + .../exoplayer2/doc-files/renderer-states.svg | 3 + .../doc-files/timeline-advanced.svg | 3 + .../doc-files/timeline-live-indefinite.svg | 3 + .../doc-files/timeline-live-limited.svg | 3 + .../doc-files/timeline-live-multi-period.svg | 3 + .../exoplayer2/doc-files/timeline-period.svg | 3 + .../doc-files/timeline-playlist.svg | 3 + .../timeline-single-file-midrolls.svg | 51 + .../doc-files/timeline-single-file.svg | 3 + .../exoplayer2/doc-files/timeline-window.svg | 3 + .../exoplayer2/drm/DecryptionException.html | 336 + .../drm/DefaultDrmSessionManager.Builder.html | 515 + ...ionManager.MissingSchemeDataException.html | 251 + .../drm/DefaultDrmSessionManager.Mode.html | 190 + .../drm/DefaultDrmSessionManager.html | 787 + .../drm/DefaultDrmSessionManagerProvider.html | 362 + .../drm/DrmInitData.SchemeData.html | 628 + .../android/exoplayer2/drm/DrmInitData.html | 679 + .../drm/DrmSession.DrmSessionException.html | 297 + .../exoplayer2/drm/DrmSession.State.html | 189 + .../android/exoplayer2/drm/DrmSession.html | 618 + ...mSessionEventListener.EventDispatcher.html | 526 + .../drm/DrmSessionEventListener.html | 420 + .../exoplayer2/drm/DrmSessionManager.html | 430 + .../drm/DrmSessionManagerProvider.html | 258 + .../exoplayer2/drm/DummyExoMediaDrm.html | 886 + .../exoplayer2/drm/ErrorStateDrmSession.html | 560 + .../exoplayer2/drm/ExoMediaCrypto.html | 195 + .../drm/ExoMediaDrm.AppManagedProvider.html | 325 + .../ExoMediaDrm.KeyRequest.RequestType.html | 191 + .../drm/ExoMediaDrm.KeyRequest.html | 563 + .../exoplayer2/drm/ExoMediaDrm.KeyStatus.html | 337 + .../drm/ExoMediaDrm.OnEventListener.html | 276 + ...xoMediaDrm.OnExpirationUpdateListener.html | 272 + ...ExoMediaDrm.OnKeyStatusChangeListener.html | 273 + .../exoplayer2/drm/ExoMediaDrm.Provider.html | 260 + .../drm/ExoMediaDrm.ProvisionRequest.html | 340 + .../android/exoplayer2/drm/ExoMediaDrm.html | 984 + .../exoplayer2/drm/FrameworkMediaCrypto.html | 376 + .../exoplayer2/drm/FrameworkMediaDrm.html | 933 + .../exoplayer2/drm/HttpMediaDrmCallback.html | 454 + .../exoplayer2/drm/KeysExpiredException.html | 288 + .../exoplayer2/drm/LocalMediaDrmCallback.html | 355 + .../exoplayer2/drm/MediaDrmCallback.html | 295 + .../drm/MediaDrmCallbackException.html | 407 + .../exoplayer2/drm/OfflineLicenseHelper.html | 558 + .../drm/UnsupportedDrmException.Reason.html | 189 + .../drm/UnsupportedDrmException.html | 423 + .../drm/UnsupportedMediaCrypto.html | 268 + .../android/exoplayer2/drm/WidevineUtil.html | 340 + .../android/exoplayer2/drm/package-frame.html | 75 + .../exoplayer2/drm/package-summary.html | 439 + .../android/exoplayer2/drm/package-tree.html | 218 + .../exoplayer2/ext/av1/Gav1Decoder.html | 547 + .../ext/av1/Gav1DecoderException.html | 251 + .../exoplayer2/ext/av1/Gav1Library.html | 266 + .../ext/av1/Libgav1VideoRenderer.html | 654 + .../exoplayer2/ext/av1/package-frame.html | 33 + .../exoplayer2/ext/av1/package-summary.html | 197 + .../exoplayer2/ext/av1/package-tree.html | 188 + .../exoplayer2/ext/cast/CastPlayer.html | 1683 + .../ext/cast/DefaultCastOptionsProvider.html | 374 + .../ext/cast/DefaultMediaItemConverter.html | 342 + .../ext/cast/MediaItemConverter.html | 283 + .../ext/cast/SessionAvailabilityListener.html | 267 + .../exoplayer2/ext/cast/package-frame.html | 34 + .../exoplayer2/ext/cast/package-summary.html | 203 + .../exoplayer2/ext/cast/package-tree.html | 172 + .../ext/cronet/CronetDataSource.Factory.html | 601 + .../CronetDataSource.OpenException.html | 388 + .../ext/cronet/CronetDataSource.html | 990 + .../ext/cronet/CronetDataSourceFactory.html | 778 + ...ronetEngineWrapper.CronetEngineSource.html | 189 + .../ext/cronet/CronetEngineWrapper.html | 517 + .../exoplayer2/ext/cronet/package-frame.html | 38 + .../ext/cronet/package-summary.html | 220 + .../exoplayer2/ext/cronet/package-tree.html | 193 + .../ext/ffmpeg/FfmpegAudioRenderer.html | 568 + .../ext/ffmpeg/FfmpegDecoderException.html | 251 + .../exoplayer2/ext/ffmpeg/FfmpegLibrary.html | 347 + .../exoplayer2/ext/ffmpeg/package-frame.html | 32 + .../ext/ffmpeg/package-summary.html | 191 + .../exoplayer2/ext/ffmpeg/package-tree.html | 183 + .../exoplayer2/ext/flac/FlacDecoder.html | 490 + .../ext/flac/FlacDecoderException.html | 251 + .../ext/flac/FlacExtractor.Flags.html | 189 + .../exoplayer2/ext/flac/FlacExtractor.html | 572 + .../exoplayer2/ext/flac/FlacLibrary.html | 289 + .../ext/flac/LibflacAudioRenderer.html | 538 + .../exoplayer2/ext/flac/package-frame.html | 38 + .../exoplayer2/ext/flac/package-summary.html | 220 + .../exoplayer2/ext/flac/package-tree.html | 193 + .../exoplayer2/ext/gvr/GvrAudioProcessor.html | 586 + .../exoplayer2/ext/gvr/package-frame.html | 27 + .../exoplayer2/ext/gvr/package-summary.html | 168 + .../exoplayer2/ext/gvr/package-tree.html | 161 + .../ext/ima/ImaAdsLoader.Builder.html | 754 + .../exoplayer2/ext/ima/ImaAdsLoader.html | 763 + .../exoplayer2/ext/ima/package-frame.html | 28 + .../exoplayer2/ext/ima/package-summary.html | 174 + .../exoplayer2/ext/ima/package-tree.html | 162 + ...heduler.JobDispatcherSchedulerService.html | 428 + .../jobdispatcher/JobDispatcherScheduler.html | 448 + .../ext/jobdispatcher/package-frame.html | 28 + .../ext/jobdispatcher/package-summary.html | 174 + .../ext/jobdispatcher/package-tree.html | 178 + .../ext/leanback/LeanbackPlayerAdapter.html | 619 + .../ext/leanback/package-frame.html | 27 + .../ext/leanback/package-summary.html | 168 + .../exoplayer2/ext/leanback/package-tree.html | 165 + .../ext/media2/DefaultMediaItemConverter.html | 354 + .../ext/media2/MediaItemConverter.html | 271 + ...allbackBuilder.AllowedCommandProvider.html | 354 + ...CallbackBuilder.CustomCommandProvider.html | 305 + ...Builder.DefaultAllowedCommandProvider.html | 461 + ...nCallbackBuilder.DisconnectedCallback.html | 263 + ...lbackBuilder.MediaIdMediaItemProvider.html | 335 + ...sionCallbackBuilder.MediaItemProvider.html | 279 + ...onCallbackBuilder.PostConnectCallback.html | 263 + ...SessionCallbackBuilder.RatingCallback.html | 270 + .../SessionCallbackBuilder.SkipCallback.html | 301 + .../ext/media2/SessionCallbackBuilder.html | 731 + .../ext/media2/SessionPlayerConnector.html | 1028 + .../exoplayer2/ext/media2/package-frame.html | 42 + .../ext/media2/package-summary.html | 257 + .../exoplayer2/ext/media2/package-tree.html | 180 + ...MediaSessionConnector.CaptionCallback.html | 288 + ...MediaSessionConnector.CommandReceiver.html | 285 + ...SessionConnector.CustomActionProvider.html | 302 + ...onnector.DefaultMediaMetadataProvider.html | 338 + ...sionConnector.MediaButtonEventHandler.html | 267 + ...essionConnector.MediaMetadataProvider.html | 270 + ...MediaSessionConnector.PlaybackActions.html | 188 + ...ediaSessionConnector.PlaybackPreparer.html | 418 + .../MediaSessionConnector.QueueEditor.html | 316 + .../MediaSessionConnector.QueueNavigator.html | 466 + .../MediaSessionConnector.RatingCallback.html | 290 + .../mediasession/MediaSessionConnector.html | 1049 + .../RepeatModeActionProvider.html | 434 + ...ineQueueEditor.MediaIdEqualityChecker.html | 306 + ...imelineQueueEditor.MediaSourceFactory.html | 262 + .../TimelineQueueEditor.QueueDataAdapter.html | 308 + .../ext/mediasession/TimelineQueueEditor.html | 580 + .../mediasession/TimelineQueueNavigator.html | 640 + .../ext/mediasession/package-frame.html | 50 + .../ext/mediasession/package-summary.html | 297 + .../ext/mediasession/package-tree.html | 187 + .../ext/okhttp/OkHttpDataSource.Factory.html | 492 + .../ext/okhttp/OkHttpDataSource.html | 783 + .../ext/okhttp/OkHttpDataSourceFactory.html | 467 + .../exoplayer2/ext/okhttp/package-frame.html | 29 + .../ext/okhttp/package-summary.html | 180 + .../exoplayer2/ext/okhttp/package-tree.html | 171 + .../ext/opus/LibopusAudioRenderer.html | 538 + .../exoplayer2/ext/opus/OpusDecoder.html | 534 + .../ext/opus/OpusDecoderException.html | 251 + .../exoplayer2/ext/opus/OpusLibrary.html | 358 + .../exoplayer2/ext/opus/package-frame.html | 33 + .../exoplayer2/ext/opus/package-summary.html | 197 + .../exoplayer2/ext/opus/package-tree.html | 188 + .../exoplayer2/ext/rtmp/RtmpDataSource.html | 444 + .../ext/rtmp/RtmpDataSourceFactory.html | 330 + .../exoplayer2/ext/rtmp/package-frame.html | 28 + .../exoplayer2/ext/rtmp/package-summary.html | 174 + .../exoplayer2/ext/rtmp/package-tree.html | 166 + .../ext/vp9/LibvpxVideoRenderer.html | 635 + .../exoplayer2/ext/vp9/VpxDecoder.html | 547 + .../ext/vp9/VpxDecoderException.html | 251 + .../exoplayer2/ext/vp9/VpxLibrary.html | 381 + .../exoplayer2/ext/vp9/VpxOutputBuffer.html | 342 + .../exoplayer2/ext/vp9/package-frame.html | 34 + .../exoplayer2/ext/vp9/package-summary.html | 203 + .../exoplayer2/ext/vp9/package-tree.html | 201 + .../WorkManagerScheduler.SchedulerWorker.html | 348 + .../ext/workmanager/WorkManagerScheduler.html | 434 + .../ext/workmanager/package-frame.html | 28 + .../ext/workmanager/package-summary.html | 174 + .../ext/workmanager/package-tree.html | 170 + ...inarySearchSeeker.BinarySearchSeekMap.html | 423 + ...hSeeker.DefaultSeekTimestampConverter.html | 317 + ...inarySearchSeeker.SeekOperationParams.html | 335 + ...rySearchSeeker.SeekTimestampConverter.html | 258 + ...arySearchSeeker.TimestampSearchResult.html | 440 + .../BinarySearchSeeker.TimestampSeeker.html | 285 + .../extractor/BinarySearchSeeker.html | 629 + .../android/exoplayer2/extractor/CeaUtil.html | 365 + .../exoplayer2/extractor/ChunkIndex.html | 548 + .../extractor/ConstantBitrateSeekMap.html | 427 + .../extractor/DefaultExtractorInput.html | 842 + .../extractor/DefaultExtractorsFactory.html | 676 + .../extractor/DummyExtractorOutput.html | 386 + .../extractor/DummyTrackOutput.html | 466 + .../extractor/Extractor.ReadResult.html | 190 + .../exoplayer2/extractor/Extractor.html | 499 + .../exoplayer2/extractor/ExtractorInput.html | 774 + .../exoplayer2/extractor/ExtractorOutput.html | 348 + .../extractor/ExtractorsFactory.html | 322 + .../FlacFrameReader.SampleNumberHolder.html | 308 + .../exoplayer2/extractor/FlacFrameReader.html | 411 + ...tadataReader.FlacStreamMetadataHolder.html | 310 + .../extractor/FlacMetadataReader.html | 490 + .../extractor/FlacSeekTableSeekMap.html | 395 + .../FlacStreamMetadata.SeekTable.html | 327 + .../extractor/FlacStreamMetadata.html | 800 + .../extractor/ForwardingExtractorInput.html | 832 + .../extractor/GaplessInfoHolder.html | 413 + .../exoplayer2/extractor/Id3Peeker.html | 318 + .../exoplayer2/extractor/IndexSeekMap.html | 399 + .../exoplayer2/extractor/PositionHolder.html | 304 + .../extractor/SeekMap.SeekPoints.html | 426 + .../extractor/SeekMap.Unseekable.html | 415 + .../android/exoplayer2/extractor/SeekMap.html | 338 + .../exoplayer2/extractor/SeekPoint.html | 422 + .../extractor/TrackOutput.CryptoData.html | 437 + .../extractor/TrackOutput.SampleDataPart.html | 189 + .../exoplayer2/extractor/TrackOutput.html | 561 + .../exoplayer2/extractor/VorbisBitArray.html | 434 + .../extractor/VorbisUtil.CommentHeader.html | 337 + .../exoplayer2/extractor/VorbisUtil.Mode.html | 353 + .../extractor/VorbisUtil.VorbisIdHeader.html | 497 + .../exoplayer2/extractor/VorbisUtil.html | 476 + .../extractor/amr/AmrExtractor.Flags.html | 189 + .../extractor/amr/AmrExtractor.html | 570 + .../extractor/amr/package-frame.html | 31 + .../extractor/amr/package-summary.html | 185 + .../extractor/amr/package-tree.html | 165 + .../extractor/flac/FlacExtractor.Flags.html | 189 + .../extractor/flac/FlacExtractor.html | 575 + .../extractor/flac/package-frame.html | 31 + .../extractor/flac/package-summary.html | 185 + .../extractor/flac/package-tree.html | 165 + .../extractor/flv/FlvExtractor.html | 511 + .../extractor/flv/package-frame.html | 27 + .../extractor/flv/package-summary.html | 168 + .../extractor/flv/package-tree.html | 161 + .../extractor/jpeg/JpegExtractor.html | 479 + .../jpeg/StartOffsetExtractorOutput.html | 396 + .../extractor/jpeg/package-frame.html | 28 + .../extractor/jpeg/package-summary.html | 175 + .../extractor/jpeg/package-tree.html | 162 + .../mkv/EbmlProcessor.ElementType.html | 190 + .../extractor/mkv/EbmlProcessor.html | 635 + .../mkv/MatroskaExtractor.Flags.html | 189 + .../extractor/mkv/MatroskaExtractor.html | 824 + .../extractor/mkv/package-frame.html | 36 + .../extractor/mkv/package-summary.html | 208 + .../extractor/mkv/package-tree.html | 170 + .../extractor/mp3/Mp3Extractor.Flags.html | 189 + .../extractor/mp3/Mp3Extractor.html | 662 + .../extractor/mp3/package-frame.html | 31 + .../extractor/mp3/package-summary.html | 185 + .../extractor/mp3/package-tree.html | 165 + .../mp4/FragmentedMp4Extractor.Flags.html | 190 + .../extractor/mp4/FragmentedMp4Extractor.html | 766 + .../extractor/mp4/Mp4Extractor.Flags.html | 189 + .../extractor/mp4/Mp4Extractor.html | 709 + .../extractor/mp4/PsshAtomUtil.html | 414 + .../extractor/mp4/Track.Transformation.html | 189 + .../exoplayer2/extractor/mp4/Track.html | 612 + .../extractor/mp4/TrackEncryptionBox.html | 403 + .../extractor/mp4/package-frame.html | 37 + .../extractor/mp4/package-summary.html | 222 + .../extractor/mp4/package-tree.html | 171 + .../extractor/ogg/OggExtractor.html | 511 + .../extractor/ogg/package-frame.html | 27 + .../extractor/ogg/package-summary.html | 168 + .../extractor/ogg/package-tree.html | 161 + .../exoplayer2/extractor/package-frame.html | 75 + .../exoplayer2/extractor/package-summary.html | 466 + .../exoplayer2/extractor/package-tree.html | 213 + .../extractor/rawcc/RawCcExtractor.html | 478 + .../extractor/rawcc/package-frame.html | 27 + .../extractor/rawcc/package-summary.html | 168 + .../extractor/rawcc/package-tree.html | 161 + .../exoplayer2/extractor/ts/Ac3Extractor.html | 514 + .../exoplayer2/extractor/ts/Ac3Reader.html | 438 + .../exoplayer2/extractor/ts/Ac4Extractor.html | 514 + .../exoplayer2/extractor/ts/Ac4Reader.html | 438 + .../extractor/ts/AdtsExtractor.Flags.html | 189 + .../extractor/ts/AdtsExtractor.html | 576 + .../exoplayer2/extractor/ts/AdtsReader.html | 478 + .../DefaultTsPayloadReaderFactory.Flags.html | 189 + .../ts/DefaultTsPayloadReaderFactory.html | 603 + .../exoplayer2/extractor/ts/DtsReader.html | 422 + .../extractor/ts/DvbSubtitleReader.html | 418 + .../extractor/ts/ElementaryStreamReader.html | 345 + .../exoplayer2/extractor/ts/H262Reader.html | 414 + .../exoplayer2/extractor/ts/H263Reader.html | 418 + .../exoplayer2/extractor/ts/H264Reader.html | 426 + .../exoplayer2/extractor/ts/H265Reader.html | 418 + .../exoplayer2/extractor/ts/Id3Reader.html | 414 + .../exoplayer2/extractor/ts/LatmReader.html | 422 + .../extractor/ts/MpegAudioReader.html | 428 + .../ts/PassthroughSectionPayloadReader.html | 356 + .../exoplayer2/extractor/ts/PesReader.html | 408 + .../exoplayer2/extractor/ts/PsExtractor.html | 614 + .../extractor/ts/SectionPayloadReader.html | 288 + .../extractor/ts/SectionReader.html | 406 + .../exoplayer2/extractor/ts/SeiReader.html | 321 + .../extractor/ts/TsExtractor.Mode.html | 189 + .../exoplayer2/extractor/ts/TsExtractor.html | 1065 + .../ts/TsPayloadReader.DvbSubtitleInfo.html | 343 + .../extractor/ts/TsPayloadReader.EsInfo.html | 364 + .../extractor/ts/TsPayloadReader.Factory.html | 293 + .../extractor/ts/TsPayloadReader.Flags.html | 189 + .../ts/TsPayloadReader.TrackIdGenerator.html | 373 + .../extractor/ts/TsPayloadReader.html | 452 + .../exoplayer2/extractor/ts/TsUtil.html | 302 + .../extractor/ts/package-frame.html | 66 + .../extractor/ts/package-summary.html | 389 + .../exoplayer2/extractor/ts/package-tree.html | 200 + .../extractor/wav/WavExtractor.html | 511 + .../extractor/wav/package-frame.html | 27 + .../extractor/wav/package-summary.html | 168 + .../extractor/wav/package-tree.html | 161 + .../mediacodec/MediaCodecAdapter.Factory.html | 299 + ...aCodecAdapter.OnFrameRenderedListener.html | 259 + .../mediacodec/MediaCodecAdapter.html | 668 + .../MediaCodecDecoderException.html | 360 + .../exoplayer2/mediacodec/MediaCodecInfo.html | 916 + ...nderer.DecoderInitializationException.html | 435 + .../mediacodec/MediaCodecRenderer.html | 1808 + .../mediacodec/MediaCodecSelector.html | 309 + .../MediaCodecUtil.DecoderQueryException.html | 253 + .../exoplayer2/mediacodec/MediaCodecUtil.html | 479 + .../mediacodec/MediaFormatUtil.html | 407 + .../SynchronousMediaCodecAdapter.Factory.html | 331 + .../SynchronousMediaCodecAdapter.html | 735 + .../exoplayer2/mediacodec/package-frame.html | 45 + .../mediacodec/package-summary.html | 262 + .../exoplayer2/mediacodec/package-tree.html | 192 + .../exoplayer2/metadata/Metadata.Entry.html | 321 + .../android/exoplayer2/metadata/Metadata.html | 568 + .../exoplayer2/metadata/MetadataDecoder.html | 264 + .../metadata/MetadataDecoderFactory.html | 333 + .../metadata/MetadataInputBuffer.html | 352 + .../exoplayer2/metadata/MetadataOutput.html | 254 + .../exoplayer2/metadata/MetadataRenderer.html | 668 + .../metadata/SimpleMetadataDecoder.html | 356 + .../metadata/dvbsi/AppInfoTable.html | 492 + .../metadata/dvbsi/AppInfoTableDecoder.html | 383 + .../metadata/dvbsi/package-frame.html | 28 + .../metadata/dvbsi/package-summary.html | 174 + .../metadata/dvbsi/package-tree.html | 166 + .../metadata/emsg/EventMessage.html | 638 + .../metadata/emsg/EventMessageDecoder.html | 348 + .../metadata/emsg/EventMessageEncoder.html | 308 + .../metadata/emsg/package-frame.html | 29 + .../metadata/emsg/package-summary.html | 180 + .../metadata/emsg/package-tree.html | 167 + .../metadata/flac/PictureFrame.html | 600 + .../metadata/flac/VorbisComment.html | 491 + .../metadata/flac/package-frame.html | 28 + .../metadata/flac/package-summary.html | 174 + .../metadata/flac/package-tree.html | 162 + .../exoplayer2/metadata/icy/IcyDecoder.html | 334 + .../exoplayer2/metadata/icy/IcyHeaders.html | 643 + .../exoplayer2/metadata/icy/IcyInfo.html | 520 + .../metadata/icy/package-frame.html | 29 + .../metadata/icy/package-summary.html | 180 + .../exoplayer2/metadata/icy/package-tree.html | 167 + .../exoplayer2/metadata/id3/ApicFrame.html | 528 + .../exoplayer2/metadata/id3/BinaryFrame.html | 444 + .../exoplayer2/metadata/id3/ChapterFrame.html | 586 + .../metadata/id3/ChapterTocFrame.html | 544 + .../exoplayer2/metadata/id3/CommentFrame.html | 510 + .../exoplayer2/metadata/id3/GeobFrame.html | 526 + .../id3/Id3Decoder.FramePredicate.html | 272 + .../exoplayer2/metadata/id3/Id3Decoder.html | 487 + .../exoplayer2/metadata/id3/Id3Frame.html | 407 + .../metadata/id3/InternalFrame.html | 510 + .../exoplayer2/metadata/id3/MlltFrame.html | 544 + .../exoplayer2/metadata/id3/PrivFrame.html | 494 + .../metadata/id3/TextInformationFrame.html | 480 + .../exoplayer2/metadata/id3/UrlLinkFrame.html | 480 + .../metadata/id3/package-frame.html | 43 + .../metadata/id3/package-summary.html | 257 + .../exoplayer2/metadata/id3/package-tree.html | 184 + .../metadata/mp4/MdtaMetadataEntry.html | 549 + .../metadata/mp4/MotionPhotoMetadata.html | 546 + .../metadata/mp4/SlowMotionData.Segment.html | 528 + .../metadata/mp4/SlowMotionData.html | 485 + .../metadata/mp4/SmtaMetadataEntry.html | 493 + .../metadata/mp4/package-frame.html | 31 + .../metadata/mp4/package-summary.html | 192 + .../exoplayer2/metadata/mp4/package-tree.html | 165 + .../exoplayer2/metadata/package-frame.html | 37 + .../exoplayer2/metadata/package-summary.html | 222 + .../exoplayer2/metadata/package-tree.html | 187 + .../metadata/scte35/PrivateCommand.html | 399 + .../metadata/scte35/SpliceCommand.html | 374 + .../metadata/scte35/SpliceInfoDecoder.html | 334 + .../SpliceInsertCommand.ComponentSplice.html | 347 + .../metadata/scte35/SpliceInsertCommand.html | 595 + .../metadata/scte35/SpliceNullCommand.html | 384 + ...SpliceScheduleCommand.ComponentSplice.html | 283 + .../scte35/SpliceScheduleCommand.Event.html | 454 + .../scte35/SpliceScheduleCommand.html | 387 + .../metadata/scte35/TimeSignalCommand.html | 382 + .../metadata/scte35/package-frame.html | 36 + .../metadata/scte35/package-summary.html | 222 + .../metadata/scte35/package-tree.html | 177 + ...ionFileUpgradeUtil.DownloadIdProvider.html | 260 + .../offline/ActionFileUpgradeUtil.html | 318 + .../offline/DefaultDownloadIndex.html | 574 + .../offline/DefaultDownloaderFactory.html | 359 + .../offline/Download.FailureReason.html | 189 + .../exoplayer2/offline/Download.State.html | 190 + .../android/exoplayer2/offline/Download.html | 772 + .../exoplayer2/offline/DownloadCursor.html | 522 + .../exoplayer2/offline/DownloadException.html | 314 + .../offline/DownloadHelper.Callback.html | 282 + ...elper.LiveContentUnsupportedException.html | 297 + .../exoplayer2/offline/DownloadHelper.html | 1326 + .../exoplayer2/offline/DownloadIndex.html | 301 + .../offline/DownloadManager.Listener.html | 418 + .../exoplayer2/offline/DownloadManager.html | 962 + .../exoplayer2/offline/DownloadProgress.html | 321 + .../offline/DownloadRequest.Builder.html | 398 + ...adRequest.UnsupportedRequestException.html | 297 + .../exoplayer2/offline/DownloadRequest.html | 647 + .../exoplayer2/offline/DownloadService.html | 1636 + .../offline/Downloader.ProgressListener.html | 269 + .../exoplayer2/offline/Downloader.html | 335 + .../exoplayer2/offline/DownloaderFactory.html | 260 + .../offline/FilterableManifest.html | 266 + .../offline/FilteringManifestParser.html | 335 + .../offline/ProgressiveDownloader.html | 488 + .../offline/SegmentDownloader.Segment.html | 375 + .../exoplayer2/offline/SegmentDownloader.html | 549 + .../android/exoplayer2/offline/StreamKey.html | 546 + .../offline/WritableDownloadIndex.html | 409 + .../exoplayer2/offline/package-frame.html | 65 + .../exoplayer2/offline/package-summary.html | 377 + .../exoplayer2/offline/package-tree.html | 231 + .../android/exoplayer2/package-frame.html | 136 + .../android/exoplayer2/package-summary.html | 807 + .../android/exoplayer2/package-tree.html | 303 + .../robolectric/PlaybackOutput.html | 313 + .../robolectric/RandomizedMp3Decoder.html | 363 + .../robolectric/RobolectricUtil.html | 440 + .../robolectric/ShadowMediaCodecConfig.html | 357 + .../TestDownloadManagerListener.html | 508 + .../robolectric/TestPlayerRunHelper.html | 596 + .../exoplayer2/robolectric/package-frame.html | 32 + .../robolectric/package-summary.html | 200 + .../exoplayer2/robolectric/package-tree.html | 170 + ...ormScheduler.PlatformSchedulerService.html | 413 + .../scheduler/PlatformScheduler.html | 422 + .../Requirements.RequirementFlags.html | 190 + .../exoplayer2/scheduler/Requirements.html | 725 + .../RequirementsWatcher.Listener.html | 263 + .../scheduler/RequirementsWatcher.html | 374 + .../exoplayer2/scheduler/Scheduler.html | 318 + .../exoplayer2/scheduler/package-frame.html | 39 + .../exoplayer2/scheduler/package-summary.html | 226 + .../exoplayer2/scheduler/package-tree.html | 189 + .../exoplayer2/source/BaseMediaSource.html | 816 + .../source/BehindLiveWindowException.html | 293 + .../source/ClippingMediaPeriod.html | 875 + ...ource.IllegalClippingException.Reason.html | 189 + ...gMediaSource.IllegalClippingException.html | 430 + .../source/ClippingMediaSource.html | 700 + .../source/CompositeMediaSource.html | 686 + .../source/CompositeSequenceableLoader.html | 470 + .../CompositeSequenceableLoaderFactory.html | 260 + .../source/ConcatenatingMediaSource.html | 1283 + ...ultCompositeSequenceableLoaderFactory.html | 316 + .../DefaultMediaSourceEventListener.html | 297 + ...tMediaSourceFactory.AdsLoaderProvider.html | 260 + .../source/DefaultMediaSourceFactory.html | 827 + .../exoplayer2/source/EmptySampleStream.html | 424 + .../ExtractorMediaSource.EventListener.html | 270 + .../source/ExtractorMediaSource.Factory.html | 687 + .../source/ExtractorMediaSource.html | 708 + .../exoplayer2/source/ForwardingTimeline.html | 652 + .../exoplayer2/source/LoadEventInfo.html | 493 + .../exoplayer2/source/LoopingMediaSource.html | 604 + .../MaskingMediaPeriod.PrepareListener.html | 273 + .../exoplayer2/source/MaskingMediaPeriod.html | 995 + ...askingMediaSource.PlaceholderTimeline.html | 497 + .../exoplayer2/source/MaskingMediaSource.html | 622 + .../exoplayer2/source/MediaLoadData.html | 460 + .../source/MediaPeriod.Callback.html | 278 + .../exoplayer2/source/MediaPeriod.html | 684 + .../exoplayer2/source/MediaPeriodId.html | 592 + .../source/MediaSource.MediaPeriodId.html | 422 + .../source/MediaSource.MediaSourceCaller.html | 263 + .../exoplayer2/source/MediaSource.html | 666 + ...iaSourceEventListener.EventDispatcher.html | 813 + .../source/MediaSourceEventListener.html | 469 + .../exoplayer2/source/MediaSourceFactory.html | 513 + ...iaSource.IllegalMergeException.Reason.html | 189 + ...gingMediaSource.IllegalMergeException.html | 388 + .../exoplayer2/source/MergingMediaSource.html | 693 + .../ProgressiveMediaSource.Factory.html | 666 + .../source/ProgressiveMediaSource.html | 563 + ...leQueue.UpstreamFormatChangedListener.html | 258 + .../exoplayer2/source/SampleQueue.html | 1296 + .../source/SampleStream.ReadDataResult.html | 189 + .../exoplayer2/source/SampleStream.html | 371 + .../source/SequenceableLoader.Callback.html | 266 + .../exoplayer2/source/SequenceableLoader.html | 372 + .../ShuffleOrder.DefaultShuffleOrder.html | 569 + .../ShuffleOrder.UnshuffledShuffleOrder.html | 521 + .../exoplayer2/source/ShuffleOrder.html | 442 + .../source/SilenceMediaSource.Factory.html | 357 + .../exoplayer2/source/SilenceMediaSource.html | 564 + .../source/SinglePeriodTimeline.html | 749 + .../SingleSampleMediaSource.Factory.html | 450 + .../source/SingleSampleMediaSource.html | 476 + .../android/exoplayer2/source/TrackGroup.html | 494 + .../exoplayer2/source/TrackGroupArray.html | 526 + .../UnrecognizedInputFormatException.html | 346 + .../source/ads/AdPlaybackState.AdGroup.html | 582 + .../source/ads/AdPlaybackState.AdState.html | 189 + .../source/ads/AdPlaybackState.html | 896 + .../source/ads/AdsLoader.AdViewProvider.html | 311 + .../source/ads/AdsLoader.EventListener.html | 316 + .../ads/AdsLoader.OverlayInfo.Purpose.html | 188 + .../source/ads/AdsLoader.OverlayInfo.html | 490 + .../exoplayer2/source/ads/AdsLoader.html | 479 + .../AdsMediaSource.AdLoadException.Type.html | 189 + .../ads/AdsMediaSource.AdLoadException.html | 520 + .../exoplayer2/source/ads/AdsMediaSource.html | 593 + .../source/ads/SinglePeriodAdTimeline.html | 391 + .../exoplayer2/source/ads/package-frame.html | 47 + .../source/ads/package-summary.html | 266 + .../exoplayer2/source/ads/package-tree.html | 206 + .../source/chunk/BaseMediaChunk.html | 491 + .../source/chunk/BaseMediaChunkIterator.html | 436 + .../source/chunk/BaseMediaChunkOutput.html | 367 + .../source/chunk/BundledChunkExtractor.html | 548 + .../exoplayer2/source/chunk/Chunk.html | 591 + .../ChunkExtractor.TrackOutputProvider.html | 271 + .../source/chunk/ChunkExtractor.html | 374 + .../exoplayer2/source/chunk/ChunkHolder.html | 361 + ...hunkSampleStream.EmbeddedSampleStream.html | 484 + .../ChunkSampleStream.ReleaseCallback.html | 258 + .../source/chunk/ChunkSampleStream.html | 968 + .../exoplayer2/source/chunk/ChunkSource.html | 469 + .../source/chunk/ContainerMediaChunk.html | 512 + .../exoplayer2/source/chunk/DataChunk.html | 447 + .../source/chunk/InitializationChunk.html | 415 + .../exoplayer2/source/chunk/MediaChunk.html | 420 + .../source/chunk/MediaChunkIterator.html | 406 + .../chunk/MediaParserChunkExtractor.html | 453 + .../source/chunk/SingleSampleMediaChunk.html | 464 + .../source/chunk/package-frame.html | 47 + .../source/chunk/package-summary.html | 284 + .../exoplayer2/source/chunk/package-tree.html | 191 + .../source/dash/DashChunkSource.Factory.html | 294 + .../source/dash/DashChunkSource.html | 316 + .../dash/DashManifestStaleException.html | 293 + .../source/dash/DashMediaSource.Factory.html | 775 + .../source/dash/DashMediaSource.html | 596 + .../source/dash/DashSegmentIndex.html | 532 + .../exoplayer2/source/dash/DashUtil.html | 404 + .../source/dash/DashWrappingSegmentIndex.html | 598 + .../dash/DefaultDashChunkSource.Factory.html | 363 + ...tDashChunkSource.RepresentationHolder.html | 434 + ...kSource.RepresentationSegmentIterator.html | 391 + .../source/dash/DefaultDashChunkSource.html | 768 + .../PlayerEmsgHandler.PlayerEmsgCallback.html | 275 + ...yerEmsgHandler.PlayerTrackEmsgHandler.html | 518 + .../source/dash/PlayerEmsgHandler.html | 418 + .../source/dash/manifest/AdaptationSet.html | 434 + .../source/dash/manifest/DashManifest.html | 690 + ...DashManifestParser.RepresentationInfo.html | 403 + .../dash/manifest/DashManifestParser.html | 1808 + .../source/dash/manifest/Descriptor.html | 411 + .../source/dash/manifest/EventStream.html | 419 + .../source/dash/manifest/Period.html | 490 + .../dash/manifest/ProgramInformation.html | 449 + .../source/dash/manifest/RangedUri.html | 493 + ...esentation.MultiSegmentRepresentation.html | 718 + ...sentation.SingleSegmentRepresentation.html | 522 + .../source/dash/manifest/Representation.html | 601 + .../SegmentBase.MultiSegmentBase.html | 544 + .../manifest/SegmentBase.SegmentList.html | 441 + .../manifest/SegmentBase.SegmentTemplate.html | 460 + .../SegmentBase.SegmentTimelineElement.html | 335 + .../SegmentBase.SingleSegmentBase.html | 363 + .../source/dash/manifest/SegmentBase.html | 396 + .../manifest/ServiceDescriptionElement.html | 396 + .../source/dash/manifest/UrlTemplate.html | 310 + .../dash/manifest/UtcTimingElement.html | 357 + .../source/dash/manifest/package-frame.html | 47 + .../source/dash/manifest/package-summary.html | 289 + .../source/dash/manifest/package-tree.html | 194 + .../source/dash/offline/DashDownloader.html | 512 + .../source/dash/offline/package-frame.html | 27 + .../source/dash/offline/package-summary.html | 168 + .../source/dash/offline/package-tree.html | 165 + .../exoplayer2/source/dash/package-frame.html | 46 + .../source/dash/package-summary.html | 267 + .../exoplayer2/source/dash/package-tree.html | 202 + .../hls/BundledHlsMediaChunkExtractor.html | 458 + .../hls/DefaultHlsDataSourceFactory.html | 321 + .../hls/DefaultHlsExtractorFactory.html | 387 + .../source/hls/HlsDataSourceFactory.html | 261 + .../source/hls/HlsExtractorFactory.html | 321 + .../exoplayer2/source/hls/HlsManifest.html | 285 + .../source/hls/HlsMediaChunkExtractor.html | 366 + .../exoplayer2/source/hls/HlsMediaPeriod.html | 944 + .../source/hls/HlsMediaSource.Factory.html | 795 + .../hls/HlsMediaSource.MetadataType.html | 198 + .../exoplayer2/source/hls/HlsMediaSource.html | 593 + .../HlsTrackMetadataEntry.VariantInfo.html | 571 + .../source/hls/HlsTrackMetadataEntry.html | 536 + .../MediaParserHlsMediaChunkExtractor.html | 515 + .../hls/SampleQueueMappingException.html | 298 + .../source/hls/TimestampAdjusterProvider.html | 327 + .../source/hls/WebvttExtractor.html | 486 + .../source/hls/offline/HlsDownloader.html | 513 + .../source/hls/offline/package-frame.html | 27 + .../source/hls/offline/package-summary.html | 168 + .../source/hls/offline/package-tree.html | 165 + .../exoplayer2/source/hls/package-frame.html | 52 + .../source/hls/package-summary.html | 297 + .../exoplayer2/source/hls/package-tree.html | 199 + .../DefaultHlsPlaylistParserFactory.html | 345 + .../playlist/DefaultHlsPlaylistTracker.html | 854 + .../FilteringHlsPlaylistParserFactory.html | 354 + .../playlist/HlsMasterPlaylist.Rendition.html | 374 + .../playlist/HlsMasterPlaylist.Variant.html | 482 + .../hls/playlist/HlsMasterPlaylist.html | 688 + .../hls/playlist/HlsMediaPlaylist.Part.html | 433 + .../HlsMediaPlaylist.PlaylistType.html | 189 + .../HlsMediaPlaylist.RenditionReport.html | 357 + .../playlist/HlsMediaPlaylist.Segment.html | 467 + .../HlsMediaPlaylist.SegmentBase.html | 509 + .../HlsMediaPlaylist.ServerControl.html | 399 + .../source/hls/playlist/HlsMediaPlaylist.html | 909 + .../source/hls/playlist/HlsPlaylist.html | 368 + ...lsPlaylistParser.DeltaUpdateException.html | 297 + .../hls/playlist/HlsPlaylistParser.html | 378 + .../playlist/HlsPlaylistParserFactory.html | 284 + .../playlist/HlsPlaylistTracker.Factory.html | 264 + ...PlaylistTracker.PlaylistEventListener.html | 284 + ...laylistTracker.PlaylistResetException.html | 345 + ...laylistTracker.PlaylistStuckException.html | 345 + ...aylistTracker.PrimaryPlaylistListener.html | 262 + .../hls/playlist/HlsPlaylistTracker.html | 583 + .../source/hls/playlist/package-frame.html | 58 + .../source/hls/playlist/package-summary.html | 334 + .../source/hls/playlist/package-tree.html | 207 + .../mediaparser/InputReaderAdapterV30.html | 429 + .../source/mediaparser/MediaParserUtil.html | 436 + .../mediaparser/OutputConsumerAdapterV30.html | 629 + .../source/mediaparser/package-frame.html | 29 + .../source/mediaparser/package-summary.html | 180 + .../source/mediaparser/package-tree.html | 163 + .../exoplayer2/source/package-frame.html | 92 + .../exoplayer2/source/package-summary.html | 542 + .../exoplayer2/source/package-tree.html | 258 + .../DefaultSsChunkSource.Factory.html | 333 + .../smoothstreaming/DefaultSsChunkSource.html | 629 + .../SsChunkSource.Factory.html | 278 + .../source/smoothstreaming/SsChunkSource.html | 314 + .../SsMediaSource.Factory.html | 748 + .../source/smoothstreaming/SsMediaSource.html | 657 + .../SsManifest.ProtectionElement.html | 337 + .../manifest/SsManifest.StreamElement.html | 615 + .../smoothstreaming/manifest/SsManifest.html | 571 + ...sManifestParser.MissingFieldException.html | 302 + .../manifest/SsManifestParser.html | 351 + .../manifest/package-frame.html | 34 + .../manifest/package-summary.html | 203 + .../manifest/package-tree.html | 181 + .../smoothstreaming/offline/SsDownloader.html | 505 + .../offline/package-frame.html | 27 + .../offline/package-summary.html | 168 + .../smoothstreaming/offline/package-tree.html | 165 + .../source/smoothstreaming/package-frame.html | 35 + .../smoothstreaming/package-summary.html | 207 + .../source/smoothstreaming/package-tree.html | 177 + .../testutil/Action.AddMediaItems.html | 357 + .../testutil/Action.ClearMediaItems.html | 354 + .../testutil/Action.ClearVideoSurface.html | 354 + .../testutil/Action.ExecuteRunnable.html | 356 + .../testutil/Action.MoveMediaItem.html | 360 + .../testutil/Action.PlayUntilPosition.html | 403 + .../exoplayer2/testutil/Action.Prepare.html | 354 + .../testutil/Action.RemoveMediaItem.html | 357 + .../testutil/Action.RemoveMediaItems.html | 360 + .../exoplayer2/testutil/Action.Seek.html | 390 + .../testutil/Action.SendMessages.html | 389 + .../testutil/Action.SetAudioAttributes.html | 360 + .../testutil/Action.SetMediaItems.html | 363 + .../Action.SetMediaItemsResetPosition.html | 360 + .../testutil/Action.SetPlayWhenReady.html | 357 + .../Action.SetPlaybackParameters.html | 360 + .../testutil/Action.SetRendererDisabled.html | 361 + .../testutil/Action.SetRepeatMode.html | 358 + .../Action.SetShuffleModeEnabled.html | 357 + .../testutil/Action.SetShuffleOrder.html | 357 + .../testutil/Action.SetVideoSurface.html | 354 + .../exoplayer2/testutil/Action.Stop.html | 380 + .../Action.ThrowPlaybackException.html | 357 + .../testutil/Action.WaitForIsLoading.html | 399 + .../testutil/Action.WaitForMessage.html | 400 + .../Action.WaitForPendingPlayerCommands.html | 396 + .../testutil/Action.WaitForPlayWhenReady.html | 400 + .../testutil/Action.WaitForPlaybackState.html | 400 + .../Action.WaitForPositionDiscontinuity.html | 396 + .../Action.WaitForTimelineChanged.html | 428 + .../android/exoplayer2/testutil/Action.html | 634 + .../testutil/ActionSchedule.Builder.html | 1356 + .../testutil/ActionSchedule.Callback.html | 258 + .../ActionSchedule.PlayerRunnable.html | 330 + .../ActionSchedule.PlayerTarget.Callback.html | 254 + .../testutil/ActionSchedule.PlayerTarget.html | 385 + .../exoplayer2/testutil/ActionSchedule.html | 265 + .../testutil/AdditionalFailureInfo.html | 340 + .../testutil/AutoAdvancingFakeClock.html | 389 + .../testutil/CacheAsserts.RequestSet.html | 387 + .../exoplayer2/testutil/CacheAsserts.html | 391 + .../testutil/CapturingAudioSink.html | 521 + .../testutil/CapturingRenderersFactory.html | 355 + ...urceContractTest.TestResource.Builder.html | 378 + .../DataSourceContractTest.TestResource.html | 347 + .../testutil/DataSourceContractTest.html | 544 + .../testutil/DecoderCountersUtil.html | 366 + .../DefaultRenderersFactoryAsserts.html | 313 + .../exoplayer2/testutil/DownloadBuilder.html | 602 + .../DummyMainThread.TestRunnable.html | 256 + .../exoplayer2/testutil/DummyMainThread.html | 465 + .../exoplayer2/testutil/DumpFileAsserts.html | 310 + .../exoplayer2/testutil/DumpableFormat.html | 391 + .../exoplayer2/testutil/Dumper.Dumpable.html | 262 + .../android/exoplayer2/testutil/Dumper.html | 418 + .../exoplayer2/testutil/ExoHostedTest.html | 789 + .../testutil/ExoPlayerTestRunner.Builder.html | 722 + .../testutil/ExoPlayerTestRunner.html | 856 + ...ractorAsserts.AssertionConfig.Builder.html | 331 + .../ExtractorAsserts.AssertionConfig.html | 321 + .../ExtractorAsserts.ExtractorFactory.html | 251 + .../ExtractorAsserts.SimulationConfig.html | 365 + .../exoplayer2/testutil/ExtractorAsserts.html | 510 + .../testutil/FakeAdaptiveDataSet.Factory.html | 327 + .../FakeAdaptiveDataSet.Iterator.html | 387 + .../testutil/FakeAdaptiveDataSet.html | 369 + .../testutil/FakeAdaptiveMediaPeriod.html | 788 + .../testutil/FakeAdaptiveMediaSource.html | 428 + .../testutil/FakeAudioRenderer.html | 488 + .../testutil/FakeChunkSource.Factory.html | 310 + .../exoplayer2/testutil/FakeChunkSource.html | 568 + .../exoplayer2/testutil/FakeClock.html | 525 + .../FakeDataSet.FakeData.Segment.html | 420 + .../testutil/FakeDataSet.FakeData.html | 476 + .../exoplayer2/testutil/FakeDataSet.html | 528 + .../testutil/FakeDataSource.Factory.html | 396 + .../exoplayer2/testutil/FakeDataSource.html | 551 + .../FakeExoMediaDrm.LicenseServer.html | 351 + .../exoplayer2/testutil/FakeExoMediaDrm.html | 1022 + .../testutil/FakeExtractorInput.Builder.html | 359 + ...keExtractorInput.SimulatedIOException.html | 297 + .../testutil/FakeExtractorInput.html | 881 + .../testutil/FakeExtractorOutput.html | 509 + .../exoplayer2/testutil/FakeMediaChunk.html | 449 + .../testutil/FakeMediaChunkIterator.html | 383 + .../testutil/FakeMediaClockRenderer.html | 415 + .../FakeMediaPeriod.TrackDataFactory.html | 284 + .../exoplayer2/testutil/FakeMediaPeriod.html | 964 + .../FakeMediaSource.InitialTimeline.html | 383 + .../exoplayer2/testutil/FakeMediaSource.html | 934 + .../exoplayer2/testutil/FakeRenderer.html | 697 + ...FakeSampleStream.FakeSampleStreamItem.html | 389 + .../exoplayer2/testutil/FakeSampleStream.html | 636 + .../exoplayer2/testutil/FakeShuffleOrder.html | 511 + ...FakeTimeline.TimelineWindowDefinition.html | 737 + .../exoplayer2/testutil/FakeTimeline.html | 638 + .../testutil/FakeTrackOutput.Factory.html | 253 + .../exoplayer2/testutil/FakeTrackOutput.html | 686 + .../testutil/FakeTrackSelection.html | 855 + .../testutil/FakeTrackSelector.html | 431 + .../testutil/FakeVideoRenderer.html | 586 + .../testutil/HostActivity.HostedTest.html | 336 + .../exoplayer2/testutil/HostActivity.html | 583 + .../testutil/HttpDataSourceTestEnv.html | 368 + ....FilterableManifestMediaPeriodFactory.html | 262 + .../testutil/MediaPeriodAsserts.html | 360 + .../testutil/MediaSourceTestRunner.html | 648 + .../exoplayer2/testutil/NoUidTimeline.html | 421 + .../exoplayer2/testutil/StubExoPlayer.html | 2517 ++ .../testutil/TestExoPlayerBuilder.html | 640 + .../android/exoplayer2/testutil/TestUtil.html | 845 + .../exoplayer2/testutil/TimelineAsserts.html | 421 + .../WebServerDispatcher.Resource.Builder.html | 418 + .../WebServerDispatcher.Resource.html | 472 + .../testutil/WebServerDispatcher.html | 320 + .../exoplayer2/testutil/package-frame.html | 147 + .../exoplayer2/testutil/package-summary.html | 882 + .../exoplayer2/testutil/package-tree.html | 381 + .../truth/SpannedSubject.AbsoluteSized.html | 260 + .../truth/SpannedSubject.Aligned.html | 260 + .../truth/SpannedSubject.AndSpanFlags.html | 263 + .../truth/SpannedSubject.Colored.html | 260 + .../truth/SpannedSubject.EmphasizedText.html | 271 + .../truth/SpannedSubject.RelativeSized.html | 260 + .../truth/SpannedSubject.RubyText.html | 264 + .../truth/SpannedSubject.Typefaced.html | 260 + .../truth/SpannedSubject.WithSpanFlags.html | 261 + .../testutil/truth/SpannedSubject.html | 1132 + .../testutil/truth/package-frame.html | 39 + .../testutil/truth/package-summary.html | 233 + .../testutil/truth/package-tree.html | 177 + .../text/CaptionStyleCompat.EdgeType.html | 189 + .../exoplayer2/text/CaptionStyleCompat.html | 630 + .../exoplayer2/text/Cue.AnchorType.html | 190 + .../android/exoplayer2/text/Cue.Builder.html | 946 + .../android/exoplayer2/text/Cue.LineType.html | 190 + .../exoplayer2/text/Cue.TextSizeType.html | 190 + .../exoplayer2/text/Cue.VerticalType.html | 189 + .../google/android/exoplayer2/text/Cue.html | 1182 + .../text/SimpleSubtitleDecoder.html | 507 + .../android/exoplayer2/text/Subtitle.html | 330 + .../exoplayer2/text/SubtitleDecoder.html | 272 + .../text/SubtitleDecoderException.html | 336 + .../text/SubtitleDecoderFactory.html | 339 + .../exoplayer2/text/SubtitleInputBuffer.html | 352 + .../exoplayer2/text/SubtitleOutputBuffer.html | 501 + .../android/exoplayer2/text/TextOutput.html | 258 + .../android/exoplayer2/text/TextRenderer.html | 696 + .../exoplayer2/text/cea/Cea608Decoder.html | 626 + .../exoplayer2/text/cea/Cea708Decoder.html | 566 + .../exoplayer2/text/cea/package-frame.html | 28 + .../exoplayer2/text/cea/package-summary.html | 174 + .../exoplayer2/text/cea/package-tree.html | 162 + .../exoplayer2/text/dvb/DvbDecoder.html | 358 + .../exoplayer2/text/dvb/package-frame.html | 27 + .../exoplayer2/text/dvb/package-summary.html | 168 + .../exoplayer2/text/dvb/package-tree.html | 169 + .../exoplayer2/text/package-frame.html | 52 + .../exoplayer2/text/package-summary.html | 297 + .../android/exoplayer2/text/package-tree.html | 219 + .../exoplayer2/text/pgs/PgsDecoder.html | 355 + .../exoplayer2/text/pgs/package-frame.html | 27 + .../exoplayer2/text/pgs/package-summary.html | 168 + .../exoplayer2/text/pgs/package-tree.html | 169 + .../HorizontalTextInVerticalContextSpan.html | 268 + .../exoplayer2/text/span/RubySpan.html | 331 + .../exoplayer2/text/span/SpanUtil.html | 288 + .../text/span/TextAnnotation.Position.html | 197 + .../exoplayer2/text/span/TextAnnotation.html | 341 + .../text/span/TextEmphasisSpan.MarkFill.html | 197 + .../text/span/TextEmphasisSpan.MarkShape.html | 198 + .../text/span/TextEmphasisSpan.html | 508 + .../exoplayer2/text/span/package-frame.html | 37 + .../exoplayer2/text/span/package-summary.html | 222 + .../exoplayer2/text/span/package-tree.html | 171 + .../exoplayer2/text/ssa/SsaDecoder.html | 377 + .../exoplayer2/text/ssa/package-frame.html | 27 + .../exoplayer2/text/ssa/package-summary.html | 168 + .../exoplayer2/text/ssa/package-tree.html | 169 + .../exoplayer2/text/subrip/SubripDecoder.html | 352 + .../exoplayer2/text/subrip/package-frame.html | 27 + .../text/subrip/package-summary.html | 168 + .../exoplayer2/text/subrip/package-tree.html | 169 + .../exoplayer2/text/ttml/TtmlDecoder.html | 376 + .../exoplayer2/text/ttml/package-frame.html | 27 + .../exoplayer2/text/ttml/package-summary.html | 168 + .../exoplayer2/text/ttml/package-tree.html | 169 + .../exoplayer2/text/tx3g/Tx3gDecoder.html | 364 + .../exoplayer2/text/tx3g/package-frame.html | 27 + .../exoplayer2/text/tx3g/package-summary.html | 168 + .../exoplayer2/text/tx3g/package-tree.html | 169 + .../text/webvtt/Mp4WebvttDecoder.html | 355 + .../webvtt/WebvttCssStyle.FontSizeUnit.html | 189 + .../webvtt/WebvttCssStyle.StyleFlags.html | 189 + .../text/webvtt/WebvttCssStyle.html | 924 + .../exoplayer2/text/webvtt/WebvttCueInfo.html | 333 + .../text/webvtt/WebvttCueParser.html | 350 + .../exoplayer2/text/webvtt/WebvttDecoder.html | 360 + .../text/webvtt/WebvttParserUtil.html | 372 + .../exoplayer2/text/webvtt/package-frame.html | 37 + .../text/webvtt/package-summary.html | 221 + .../exoplayer2/text/webvtt/package-tree.html | 179 + ...veTrackSelection.AdaptationCheckpoint.html | 386 + .../AdaptiveTrackSelection.Factory.html | 452 + .../AdaptiveTrackSelection.html | 860 + .../trackselection/BaseTrackSelection.html | 818 + .../DefaultTrackSelector.AudioTrackScore.html | 367 + .../DefaultTrackSelector.OtherTrackScore.html | 315 + .../DefaultTrackSelector.Parameters.html | 1061 + ...efaultTrackSelector.ParametersBuilder.html | 1462 + ...efaultTrackSelector.SelectionOverride.html | 549 + .../DefaultTrackSelector.TextTrackScore.html | 370 + .../DefaultTrackSelector.VideoTrackScore.html | 361 + .../trackselection/DefaultTrackSelector.html | 1017 + .../ExoTrackSelection.Definition.html | 395 + .../ExoTrackSelection.Factory.html | 277 + .../trackselection/ExoTrackSelection.html | 666 + .../trackselection/FixedTrackSelection.html | 476 + .../MappingTrackSelector.MappedTrackInfo.html | 625 + .../trackselection/MappingTrackSelector.html | 462 + .../RandomTrackSelection.Factory.html | 350 + .../trackselection/RandomTrackSelection.html | 513 + .../trackselection/TrackSelection.html | 373 + .../trackselection/TrackSelectionArray.html | 408 + .../TrackSelectionParameters.Builder.html | 568 + .../TrackSelectionParameters.html | 606 + ...ionUtil.AdaptiveTrackSelectionFactory.html | 260 + .../trackselection/TrackSelectionUtil.html | 339 + .../TrackSelector.InvalidationListener.html | 256 + .../trackselection/TrackSelector.html | 481 + .../trackselection/TrackSelectorResult.html | 467 + .../trackselection/package-frame.html | 58 + .../trackselection/package-summary.html | 352 + .../trackselection/package-tree.html | 210 + .../transformer/ProgressHolder.html | 304 + .../transformer/Transformer.Builder.html | 539 + .../transformer/Transformer.Listener.html | 282 + .../Transformer.ProgressState.html | 189 + .../exoplayer2/transformer/Transformer.html | 599 + .../exoplayer2/transformer/package-frame.html | 37 + .../transformer/package-summary.html | 214 + .../exoplayer2/transformer/package-tree.html | 171 + ...tRatioFrameLayout.AspectRatioListener.html | 266 + .../ui/AspectRatioFrameLayout.ResizeMode.html | 190 + .../exoplayer2/ui/AspectRatioFrameLayout.html | 646 + .../exoplayer2/ui/DebugTextViewHelper.html | 537 + .../android/exoplayer2/ui/DefaultTimeBar.html | 1506 + .../ui/DefaultTrackNameProvider.html | 316 + .../ui/DownloadNotificationHelper.html | 400 + .../ui/DownloadNotificationUtil.html | 375 + ...yerControlView.ProgressUpdateListener.html | 261 + .../PlayerControlView.VisibilityListener.html | 258 + .../exoplayer2/ui/PlayerControlView.html | 1443 + ...yerNotificationManager.BitmapCallback.html | 274 + ...ificationManager.CustomActionReceiver.html | 320 + ...cationManager.MediaDescriptionAdapter.html | 364 + ...ificationManager.NotificationListener.html | 349 + .../PlayerNotificationManager.Priority.html | 189 + .../PlayerNotificationManager.Visibility.html | 189 + .../ui/PlayerNotificationManager.html | 1605 + .../ui/PlayerView.ShowBuffering.html | 189 + .../android/exoplayer2/ui/PlayerView.html | 1935 + ...lView.OnFullScreenModeChangedListener.html | 260 + ...yerControlView.ProgressUpdateListener.html | 261 + ...dPlayerControlView.VisibilityListener.html | 258 + .../ui/StyledPlayerControlView.html | 1589 + .../ui/StyledPlayerView.ShowBuffering.html | 189 + .../exoplayer2/ui/StyledPlayerView.html | 1955 + .../exoplayer2/ui/SubtitleView.ViewType.html | 196 + .../android/exoplayer2/ui/SubtitleView.html | 804 + .../ui/TimeBar.OnScrubListener.html | 312 + .../google/android/exoplayer2/ui/TimeBar.html | 488 + .../exoplayer2/ui/TrackNameProvider.html | 254 + ...SelectionDialogBuilder.DialogCallback.html | 261 + .../ui/TrackSelectionDialogBuilder.html | 594 + ...kSelectionView.TrackSelectionListener.html | 261 + .../exoplayer2/ui/TrackSelectionView.html | 618 + .../android/exoplayer2/ui/package-frame.html | 66 + .../exoplayer2/ui/package-summary.html | 390 + .../android/exoplayer2/ui/package-tree.html | 217 + .../ui/spherical/SingleTapListener.html | 256 + .../ui/spherical/SphericalGLSurfaceView.html | 522 + .../ui/spherical/package-frame.html | 31 + .../ui/spherical/package-summary.html | 185 + .../exoplayer2/ui/spherical/package-tree.html | 177 + .../exoplayer2/upstream/Allocation.html | 332 + .../exoplayer2/upstream/Allocator.html | 356 + ...etDataSource.AssetDataSourceException.html | 297 + .../exoplayer2/upstream/AssetDataSource.html | 468 + ...thMeter.EventListener.EventDispatcher.html | 346 + .../BandwidthMeter.EventListener.html | 298 + .../exoplayer2/upstream/BandwidthMeter.html | 342 + .../exoplayer2/upstream/BaseDataSource.html | 440 + .../upstream/ByteArrayDataSink.html | 410 + .../upstream/ByteArrayDataSource.html | 446 + ...DataSource.ContentDataSourceException.html | 297 + .../upstream/ContentDataSource.html | 468 + .../exoplayer2/upstream/DataReader.html | 280 + .../upstream/DataSchemeDataSource.html | 484 + .../exoplayer2/upstream/DataSink.Factory.html | 258 + .../android/exoplayer2/upstream/DataSink.html | 342 + .../upstream/DataSource.Factory.html | 262 + .../exoplayer2/upstream/DataSource.html | 402 + .../upstream/DataSourceException.html | 400 + .../upstream/DataSourceInputStream.html | 444 + .../exoplayer2/upstream/DataSpec.Builder.html | 579 + .../exoplayer2/upstream/DataSpec.Flags.html | 189 + .../upstream/DataSpec.HttpMethod.html | 190 + .../android/exoplayer2/upstream/DataSpec.html | 1332 + .../exoplayer2/upstream/DefaultAllocator.html | 501 + .../DefaultBandwidthMeter.Builder.html | 466 + .../upstream/DefaultBandwidthMeter.html | 772 + .../upstream/DefaultDataSource.html | 611 + .../upstream/DefaultDataSourceFactory.html | 430 + .../DefaultHttpDataSource.Factory.html | 537 + .../upstream/DefaultHttpDataSource.html | 889 + .../DefaultHttpDataSourceFactory.html | 470 + .../DefaultLoadErrorHandlingPolicy.html | 511 + .../exoplayer2/upstream/DummyDataSource.html | 484 + .../upstream/FileDataSource.Factory.html | 340 + ...ileDataSource.FileDataSourceException.html | 312 + .../exoplayer2/upstream/FileDataSource.html | 464 + .../upstream/FileDataSourceFactory.html | 337 + .../upstream/HttpDataSource.BaseFactory.html | 403 + ...Source.CleartextNotPermittedException.html | 336 + .../upstream/HttpDataSource.Factory.html | 318 + ...taSource.HttpDataSourceException.Type.html | 188 + ...ttpDataSource.HttpDataSourceException.html | 491 + ...ataSource.InvalidContentTypeException.html | 364 + ...taSource.InvalidResponseCodeException.html | 479 + .../HttpDataSource.RequestProperties.html | 419 + .../exoplayer2/upstream/HttpDataSource.html | 574 + ...LoadErrorHandlingPolicy.LoadErrorInfo.html | 368 + .../upstream/LoadErrorHandlingPolicy.html | 429 + .../exoplayer2/upstream/Loader.Callback.html | 353 + .../upstream/Loader.LoadErrorAction.html | 271 + .../exoplayer2/upstream/Loader.Loadable.html | 294 + .../upstream/Loader.ReleaseCallback.html | 258 + .../Loader.UnexpectedLoaderException.html | 297 + .../android/exoplayer2/upstream/Loader.html | 682 + .../upstream/LoaderErrorThrower.Dummy.html | 364 + .../upstream/LoaderErrorThrower.html | 315 + .../upstream/ParsingLoadable.Parser.html | 271 + .../exoplayer2/upstream/ParsingLoadable.html | 636 + .../upstream/PriorityDataSource.html | 509 + .../upstream/PriorityDataSourceFactory.html | 322 + ...Source.RawResourceDataSourceException.html | 310 + .../upstream/RawResourceDataSource.html | 551 + .../upstream/ResolvingDataSource.Factory.html | 323 + .../ResolvingDataSource.Resolver.html | 297 + .../upstream/ResolvingDataSource.html | 512 + .../exoplayer2/upstream/StatsDataSource.html | 567 + .../exoplayer2/upstream/TeeDataSource.html | 497 + .../exoplayer2/upstream/TransferListener.html | 363 + .../UdpDataSource.UdpDataSourceException.html | 297 + .../exoplayer2/upstream/UdpDataSource.html | 606 + .../upstream/cache/Cache.CacheException.html | 329 + .../upstream/cache/Cache.Listener.html | 324 + .../exoplayer2/upstream/cache/Cache.html | 861 + .../CacheDataSink.CacheDataSinkException.html | 302 + .../upstream/cache/CacheDataSink.Factory.html | 400 + .../upstream/cache/CacheDataSink.html | 522 + .../upstream/cache/CacheDataSinkFactory.html | 350 + .../CacheDataSource.CacheIgnoredReason.html | 189 + .../cache/CacheDataSource.EventListener.html | 283 + .../cache/CacheDataSource.Factory.html | 679 + .../upstream/cache/CacheDataSource.Flags.html | 189 + .../upstream/cache/CacheDataSource.html | 828 + .../cache/CacheDataSourceFactory.html | 426 + .../upstream/cache/CacheEvictor.html | 317 + .../upstream/cache/CacheKeyFactory.html | 301 + .../exoplayer2/upstream/cache/CacheSpan.html | 537 + .../cache/CacheWriter.ProgressListener.html | 265 + .../upstream/cache/CacheWriter.html | 427 + .../upstream/cache/CachedRegionTracker.html | 485 + .../upstream/cache/ContentMetadata.html | 463 + .../cache/ContentMetadataMutations.html | 481 + .../cache/DefaultContentMetadata.html | 547 + .../cache/LeastRecentlyUsedCacheEvictor.html | 458 + .../upstream/cache/NoOpCacheEvictor.html | 461 + .../upstream/cache/SimpleCache.html | 1154 + .../upstream/cache/package-frame.html | 60 + .../upstream/cache/package-summary.html | 346 + .../upstream/cache/package-tree.html | 209 + .../upstream/crypto/AesCipherDataSink.html | 441 + .../upstream/crypto/AesCipherDataSource.html | 492 + .../upstream/crypto/AesFlushingCipher.html | 334 + .../upstream/crypto/package-frame.html | 29 + .../upstream/crypto/package-summary.html | 180 + .../upstream/crypto/package-tree.html | 163 + .../exoplayer2/upstream/package-frame.html | 106 + .../exoplayer2/upstream/package-summary.html | 626 + .../exoplayer2/upstream/package-tree.html | 271 + .../android/exoplayer2/util/Assertions.html | 605 + .../android/exoplayer2/util/AtomicFile.html | 433 + .../google/android/exoplayer2/util/Clock.html | 380 + .../util/CodecSpecificDataUtil.html | 430 + .../android/exoplayer2/util/ColorParser.html | 300 + .../exoplayer2/util/ConditionVariable.html | 445 + .../android/exoplayer2/util/Consumer.html | 253 + .../exoplayer2/util/CopyOnWriteMultiset.html | 405 + .../util/EGLSurfaceTexture.GlException.html | 255 + .../util/EGLSurfaceTexture.SecureMode.html | 189 + ...GLSurfaceTexture.TextureImageListener.html | 254 + .../exoplayer2/util/EGLSurfaceTexture.html | 535 + .../exoplayer2/util/ErrorMessageProvider.html | 260 + .../android/exoplayer2/util/EventLogger.html | 1788 + .../exoplayer2/util/FileTypes.Type.html | 191 + .../android/exoplayer2/util/FileTypes.html | 689 + .../exoplayer2/util/FlacConstants.html | 440 + .../exoplayer2/util/GlUtil.Attribute.html | 386 + .../exoplayer2/util/GlUtil.Uniform.html | 403 + .../android/exoplayer2/util/GlUtil.html | 480 + .../exoplayer2/util/HandlerWrapper.html | 475 + .../exoplayer2/util/IntArrayQueue.html | 393 + .../exoplayer2/util/LibraryLoader.html | 324 + .../exoplayer2/util/ListenerSet.Event.html | 260 + .../ListenerSet.IterationFinishedEvent.html | 269 + .../android/exoplayer2/util/ListenerSet.html | 538 + .../google/android/exoplayer2/util/Log.html | 671 + .../android/exoplayer2/util/LongArray.html | 387 + .../android/exoplayer2/util/MediaClock.html | 293 + .../android/exoplayer2/util/MimeTypes.html | 2165 + .../android/exoplayer2/util/MutableFlags.html | 458 + .../exoplayer2/util/NalUnitUtil.PpsData.html | 337 + .../exoplayer2/util/NalUnitUtil.SpsData.html | 497 + .../android/exoplayer2/util/NalUnitUtil.html | 626 + .../android/exoplayer2/util/NonNullApi.html | 191 + .../util/NotificationUtil.Importance.html | 189 + .../exoplayer2/util/NotificationUtil.html | 515 + .../exoplayer2/util/ParsableBitArray.html | 796 + .../exoplayer2/util/ParsableByteArray.html | 1281 + .../util/ParsableNalUnitBitArray.html | 496 + ...tyTaskManager.PriorityTooLowException.html | 299 + .../exoplayer2/util/PriorityTaskManager.html | 426 + .../RepeatModeUtil.RepeatToggleModes.html | 190 + .../exoplayer2/util/RepeatModeUtil.html | 414 + .../util/ReusableBufferedOutputStream.html | 405 + .../exoplayer2/util/RunnableFutureTask.html | 502 + .../exoplayer2/util/SlidingPercentile.html | 365 + .../SntpClient.InitializationCallback.html | 275 + .../android/exoplayer2/util/SntpClient.html | 430 + .../exoplayer2/util/StandaloneMediaClock.html | 422 + .../android/exoplayer2/util/SystemClock.html | 420 + .../exoplayer2/util/TimedValueQueue.html | 432 + .../exoplayer2/util/TimestampAdjuster.html | 585 + .../android/exoplayer2/util/TraceUtil.html | 294 + .../android/exoplayer2/util/UnknownNull.html | 191 + .../android/exoplayer2/util/UriUtil.html | 329 + .../google/android/exoplayer2/util/Util.html | 3490 ++ .../exoplayer2/util/XmlPullParserUtil.html | 446 + .../exoplayer2/util/package-frame.html | 93 + .../exoplayer2/util/package-summary.html | 550 + .../android/exoplayer2/util/package-tree.html | 252 + .../android/exoplayer2/video/AvcConfig.html | 385 + .../android/exoplayer2/video/ColorInfo.html | 537 + .../video/DecoderVideoRenderer.html | 1221 + .../exoplayer2/video/DolbyVisionConfig.html | 350 + .../exoplayer2/video/DummySurface.html | 412 + .../android/exoplayer2/video/HevcConfig.html | 363 + .../MediaCodecVideoDecoderException.html | 369 + ...ediaCodecVideoRenderer.CodecMaxValues.html | 336 + .../video/MediaCodecVideoRenderer.html | 1887 + .../video/VideoDecoderGLSurfaceView.html | 414 + .../video/VideoDecoderInputBuffer.html | 388 + .../video/VideoDecoderOutputBuffer.html | 696 + .../VideoDecoderOutputBufferRenderer.html | 254 + .../video/VideoFrameMetadataListener.html | 266 + .../video/VideoFrameReleaseHelper.html | 501 + .../exoplayer2/video/VideoListener.html | 318 + ...RendererEventListener.EventDispatcher.html | 472 + .../video/VideoRendererEventListener.html | 531 + .../exoplayer2/video/package-frame.html | 50 + .../exoplayer2/video/package-summary.html | 290 + .../exoplayer2/video/package-tree.html | 233 + .../video/spherical/CameraMotionListener.html | 275 + .../video/spherical/CameraMotionRenderer.html | 633 + .../video/spherical/FrameRotationQueue.html | 387 + .../video/spherical/Projection.DrawMode.html | 189 + .../video/spherical/Projection.Mesh.html | 323 + .../video/spherical/Projection.SubMesh.html | 427 + .../video/spherical/Projection.html | 621 + .../video/spherical/ProjectionDecoder.html | 272 + .../video/spherical/package-frame.html | 40 + .../video/spherical/package-summary.html | 235 + .../video/spherical/package-tree.html | 178 + .../docs/reference/constant-values.html | 9060 ++++ .../docs/reference/deprecated-list.html | 1620 + docs/gh-pages/docs/reference/element-list | 82 + docs/gh-pages/docs/reference/help-doc.html | 249 + docs/gh-pages/docs/reference/index-all.html | 36046 ++++++++++++++++ docs/gh-pages/docs/reference/index.html | 82 + .../jquery/external/jquery/jquery.js | 9789 +++++ .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 212 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 208 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 207 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes .../docs/reference/jquery/jquery-1.10.2.js | 9789 +++++ .../docs/reference/jquery/jquery-ui.css | 544 + .../docs/reference/jquery/jquery-ui.js | 2610 ++ .../docs/reference/jquery/jquery-ui.min.css | 7 + .../docs/reference/jquery/jquery-ui.min.js | 7 + .../reference/jquery/jquery-ui.structure.css | 152 + .../jquery/jquery-ui.structure.min.css | 5 + .../docs/reference/member-search-index.js | 1 + .../docs/reference/member-search-index.zip | Bin 0 -> 126830 bytes .../docs/reference/overview-frame.html | 113 + .../docs/reference/overview-summary.html | 486 + .../docs/reference/overview-tree.html | 1680 + .../docs/reference/package-search-index.js | 1 + .../docs/reference/package-search-index.zip | Bin 0 -> 676 bytes .../docs/reference/resources/glass.png | Bin 0 -> 499 bytes docs/gh-pages/docs/reference/resources/x.png | Bin 0 -> 394 bytes docs/gh-pages/docs/reference/script.js | 204 + docs/gh-pages/docs/reference/search.js | 350 + .../docs/reference/serialized-form.html | 1044 + docs/gh-pages/docs/reference/stylesheet.css | 900 + .../docs/reference/type-search-index.js | 1 + .../docs/reference/type-search-index.zip | Bin 0 -> 9063 bytes docs/gh-pages/downloading-media.md | 417 + docs/gh-pages/drm.md | 105 + docs/gh-pages/glossary.md | 308 + docs/gh-pages/hello-world.md | 244 + docs/gh-pages/hls.md | 131 + .../images/demo-app-build-variants.png | Bin 0 -> 45325 bytes docs/gh-pages/images/demo-app-project.png | Bin 0 -> 43939 bytes docs/gh-pages/images/demo-app-screenshots.png | Bin 0 -> 133479 bytes docs/gh-pages/images/downloading.svg | 117 + docs/gh-pages/images/exoplayer-logo.png | Bin 0 -> 20031 bytes .../glossary-exoplayer-architecture.png | Bin 0 -> 27404 bytes .../glossary-renderering-architecture.png | Bin 0 -> 8534 bytes docs/gh-pages/images/live-window.png | Bin 0 -> 38202 bytes .../images/overriding-layoutfiles.png | Bin 0 -> 181161 bytes docs/gh-pages/index.md | 28 + .../issues/cleartext-not-permitted.md | 5 + .../issues/player-accessed-on-wrong-thread.md | 5 + docs/gh-pages/listening-to-player-events.md | 255 + docs/gh-pages/live-streaming.md | 211 + docs/gh-pages/media-items.md | 149 + docs/gh-pages/media-sources.md | 80 + docs/gh-pages/oems.md | 105 + docs/gh-pages/playlists.md | 176 + docs/gh-pages/progressive.md | 47 + docs/gh-pages/pros-and-cons.md | 47 + docs/gh-pages/retrieving-metadata.md | 69 + docs/gh-pages/run_locally.sh | 4 + docs/gh-pages/shrinking.md | 121 + docs/gh-pages/smoothstreaming.md | 88 + docs/gh-pages/supported-devices.md | 51 + docs/gh-pages/supported-formats.md | 117 + docs/gh-pages/track-selection.md | 43 + docs/gh-pages/transforming-media.md | 140 + docs/gh-pages/troubleshooting.md | 361 + docs/gh-pages/ui-components.md | 253 + 1657 files changed, 658208 insertions(+) create mode 100644 docs/gh-pages/.hgignore create mode 100644 docs/gh-pages/404.html create mode 100644 docs/gh-pages/CNAME create mode 100644 docs/gh-pages/Gemfile create mode 100644 docs/gh-pages/LICENSE create mode 100644 docs/gh-pages/README.md create mode 100644 docs/gh-pages/_config.yml create mode 100644 docs/gh-pages/_data/locale.yml create mode 100644 docs/gh-pages/_data/navigation.yml create mode 100644 docs/gh-pages/_data/variables.yml create mode 100644 docs/gh-pages/_includes/analytics-providers/custom.html create mode 100644 docs/gh-pages/_includes/analytics-providers/google.html create mode 100644 docs/gh-pages/_includes/analytics.html create mode 100644 docs/gh-pages/_includes/article-footer.html create mode 100644 docs/gh-pages/_includes/article-header.html create mode 100644 docs/gh-pages/_includes/article-info.html create mode 100644 docs/gh-pages/_includes/article-list.html create mode 100644 docs/gh-pages/_includes/article-section-navigator.html create mode 100644 docs/gh-pages/_includes/article/footer/author-profile.html create mode 100644 docs/gh-pages/_includes/article/footer/custom.html create mode 100644 docs/gh-pages/_includes/article/footer/license.html create mode 100644 docs/gh-pages/_includes/article/footer/subscribe.html create mode 100644 docs/gh-pages/_includes/article/top/custom.html create mode 100644 docs/gh-pages/_includes/aside/toc.html create mode 100644 docs/gh-pages/_includes/author-links.html create mode 100644 docs/gh-pages/_includes/comments-providers/custom.html create mode 100644 docs/gh-pages/_includes/comments-providers/disqus.html create mode 100644 docs/gh-pages/_includes/comments-providers/gitalk.html create mode 100644 docs/gh-pages/_includes/comments-providers/valine.html create mode 100644 docs/gh-pages/_includes/comments.html create mode 100644 docs/gh-pages/_includes/extensions/bilibili.html create mode 100644 docs/gh-pages/_includes/extensions/codepen.html create mode 100644 docs/gh-pages/_includes/extensions/netease-cloud-music.html create mode 100644 docs/gh-pages/_includes/extensions/slideshare.html create mode 100644 docs/gh-pages/_includes/extensions/soundcloud.html create mode 100644 docs/gh-pages/_includes/extensions/ted.html create mode 100644 docs/gh-pages/_includes/extensions/youtube.html create mode 100644 docs/gh-pages/_includes/figure.html create mode 100644 docs/gh-pages/_includes/footer.html create mode 100644 docs/gh-pages/_includes/head.html create mode 100644 docs/gh-pages/_includes/head/custom.html create mode 100644 docs/gh-pages/_includes/head/favicon.html create mode 100644 docs/gh-pages/_includes/header.html create mode 100644 docs/gh-pages/_includes/known-issue-box.html create mode 100644 docs/gh-pages/_includes/main/bottom/custom.html create mode 100644 docs/gh-pages/_includes/main/top/custom.html create mode 100644 docs/gh-pages/_includes/markdown-enhancements.html create mode 100644 docs/gh-pages/_includes/markdown-enhancements/chart.html create mode 100644 docs/gh-pages/_includes/markdown-enhancements/mathjax.html create mode 100644 docs/gh-pages/_includes/markdown-enhancements/mermaid.html create mode 100644 docs/gh-pages/_includes/pageview-providers/custom/home.html create mode 100644 docs/gh-pages/_includes/pageview-providers/custom/post.html create mode 100644 docs/gh-pages/_includes/pageview-providers/leancloud/home.html create mode 100644 docs/gh-pages/_includes/pageview-providers/leancloud/leancloud.js create mode 100644 docs/gh-pages/_includes/pageview-providers/leancloud/post.html create mode 100644 docs/gh-pages/_includes/pageview.html create mode 100644 docs/gh-pages/_includes/paginator.html create mode 100644 docs/gh-pages/_includes/scripts/archieve.js create mode 100644 docs/gh-pages/_includes/scripts/article.js create mode 100644 docs/gh-pages/_includes/scripts/aside/affix.js create mode 100644 docs/gh-pages/_includes/scripts/aside/toc.js create mode 100644 docs/gh-pages/_includes/scripts/common.js create mode 100644 docs/gh-pages/_includes/scripts/components/lightbox.js create mode 100644 docs/gh-pages/_includes/scripts/components/search.js create mode 100644 docs/gh-pages/_includes/scripts/components/sidebar.js create mode 100644 docs/gh-pages/_includes/scripts/home.js create mode 100644 docs/gh-pages/_includes/scripts/lib/affix.js create mode 100644 docs/gh-pages/_includes/scripts/lib/gallery.js create mode 100644 docs/gh-pages/_includes/scripts/lib/lazyload.js create mode 100644 docs/gh-pages/_includes/scripts/lib/modal.js create mode 100644 docs/gh-pages/_includes/scripts/lib/scroll-to.js create mode 100644 docs/gh-pages/_includes/scripts/lib/swiper.js create mode 100644 docs/gh-pages/_includes/scripts/lib/throttle.js create mode 100644 docs/gh-pages/_includes/scripts/lib/toc.js create mode 100644 docs/gh-pages/_includes/scripts/page.js create mode 100644 docs/gh-pages/_includes/scripts/utils/imagesLoad.js create mode 100644 docs/gh-pages/_includes/scripts/utils/utils.js create mode 100644 docs/gh-pages/_includes/scripts/variables.html create mode 100644 docs/gh-pages/_includes/search-providers/custom/search.html create mode 100644 docs/gh-pages/_includes/search-providers/default/search-data.js create mode 100644 docs/gh-pages/_includes/search-providers/default/search.html create mode 100644 docs/gh-pages/_includes/search-providers/default/search.js create mode 100644 docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.html create mode 100644 docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.js create mode 100644 docs/gh-pages/_includes/search.html create mode 100644 docs/gh-pages/_includes/sharing-providers/addthis.html create mode 100644 docs/gh-pages/_includes/sharing-providers/addtoany.html create mode 100644 docs/gh-pages/_includes/sharing-providers/custom.html create mode 100644 docs/gh-pages/_includes/sharing.html create mode 100644 docs/gh-pages/_includes/sidebar/toc.html create mode 100644 docs/gh-pages/_includes/snippets/assign.html create mode 100644 docs/gh-pages/_includes/snippets/get-article-title.html create mode 100644 docs/gh-pages/_includes/snippets/get-lang.html create mode 100644 docs/gh-pages/_includes/snippets/get-locale-string.html create mode 100644 docs/gh-pages/_includes/snippets/get-nav-url.html create mode 100644 docs/gh-pages/_includes/snippets/get-sources.html create mode 100644 docs/gh-pages/_includes/snippets/get-string-from-locale-config.html create mode 100644 docs/gh-pages/_includes/snippets/is_collection.html create mode 100644 docs/gh-pages/_includes/snippets/page-url.html create mode 100644 docs/gh-pages/_includes/snippets/prepend-baseurl.html create mode 100644 docs/gh-pages/_includes/snippets/prepend-path.html create mode 100644 docs/gh-pages/_includes/svg/icon/social/behance.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/douban.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/facebook.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/flicker.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/github.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/googleplus.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/linkedin.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/mail.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/medium.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/npm.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/pinterest.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/qq.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/telegram.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/twitter.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/weibo.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/weixin.svg create mode 100644 docs/gh-pages/_includes/svg/icon/social/zhihu.svg create mode 100644 docs/gh-pages/_includes/svg/logo.svg create mode 100644 docs/gh-pages/_includes/tags.html create mode 100644 docs/gh-pages/_layouts/404.html create mode 100644 docs/gh-pages/_layouts/archive.html create mode 100644 docs/gh-pages/_layouts/article.html create mode 100644 docs/gh-pages/_layouts/articles.html create mode 100644 docs/gh-pages/_layouts/base.html create mode 100644 docs/gh-pages/_layouts/home.html create mode 100644 docs/gh-pages/_layouts/landing.html create mode 100644 docs/gh-pages/_layouts/none.html create mode 100644 docs/gh-pages/_layouts/page.html create mode 100644 docs/gh-pages/_page_fragments/supported-formats-dash.md create mode 100644 docs/gh-pages/_page_fragments/supported-formats-hls.md create mode 100644 docs/gh-pages/_page_fragments/supported-formats-progressive.md create mode 100644 docs/gh-pages/_page_fragments/supported-formats-smoothstreaming.md create mode 100644 docs/gh-pages/_sass/additional/_alert.scss create mode 100644 docs/gh-pages/_sass/additional/_photo-frame.scss create mode 100644 docs/gh-pages/_sass/additional/_tag.scss create mode 100644 docs/gh-pages/_sass/animate/_fade-in-down.scss create mode 100644 docs/gh-pages/_sass/animate/_fade-in-up.scss create mode 100644 docs/gh-pages/_sass/animate/_fade-in.scss create mode 100644 docs/gh-pages/_sass/common/_classes.scss create mode 100644 docs/gh-pages/_sass/common/_function.scss create mode 100644 docs/gh-pages/_sass/common/_print.scss create mode 100644 docs/gh-pages/_sass/common/_reset.scss create mode 100644 docs/gh-pages/_sass/common/_variables.scss create mode 100644 docs/gh-pages/_sass/common/components/_button.scss create mode 100644 docs/gh-pages/_sass/common/components/_card.scss create mode 100644 docs/gh-pages/_sass/common/components/_gallery.scss create mode 100644 docs/gh-pages/_sass/common/components/_hero.scss create mode 100644 docs/gh-pages/_sass/common/components/_image.scss create mode 100644 docs/gh-pages/_sass/common/components/_item.scss create mode 100644 docs/gh-pages/_sass/common/components/_menu.scss create mode 100644 docs/gh-pages/_sass/common/components/_modal.scss create mode 100644 docs/gh-pages/_sass/common/components/_swiper.scss create mode 100644 docs/gh-pages/_sass/common/components/_toc.scss create mode 100644 docs/gh-pages/_sass/components/_article-content.scss create mode 100644 docs/gh-pages/_sass/components/_article-footer.scss create mode 100644 docs/gh-pages/_sass/components/_article-header.scss create mode 100644 docs/gh-pages/_sass/components/_article-info.scss create mode 100644 docs/gh-pages/_sass/components/_article-list.scss create mode 100644 docs/gh-pages/_sass/components/_author-links.scss create mode 100644 docs/gh-pages/_sass/components/_author-profile.scss create mode 100644 docs/gh-pages/_sass/components/_extensions.scss create mode 100644 docs/gh-pages/_sass/components/_footer.scss create mode 100644 docs/gh-pages/_sass/components/_header.scss create mode 100644 docs/gh-pages/_sass/components/_lightbox.scss create mode 100644 docs/gh-pages/_sass/components/_main.scss create mode 100644 docs/gh-pages/_sass/components/_search.scss create mode 100644 docs/gh-pages/_sass/components/_tags.scss create mode 100644 docs/gh-pages/_sass/custom.scss create mode 100644 docs/gh-pages/_sass/layout/_404.scss create mode 100644 docs/gh-pages/_sass/layout/_archive.scss create mode 100644 docs/gh-pages/_sass/layout/_article.scss create mode 100644 docs/gh-pages/_sass/layout/_articles.scss create mode 100644 docs/gh-pages/_sass/layout/_base.scss create mode 100644 docs/gh-pages/_sass/layout/_home.scss create mode 100644 docs/gh-pages/_sass/layout/_landing.scss create mode 100644 docs/gh-pages/_sass/layout/_page.scss create mode 100644 docs/gh-pages/_sass/skins/_chocolate.scss create mode 100644 docs/gh-pages/_sass/skins/_dark.scss create mode 100644 docs/gh-pages/_sass/skins/_default.scss create mode 100644 docs/gh-pages/_sass/skins/_forest.scss create mode 100644 docs/gh-pages/_sass/skins/_ocean.scss create mode 100644 docs/gh-pages/_sass/skins/_orange.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_default.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_tomorrow-night-blue.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_tomorrow-night-bright.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_tomorrow-night-eighties.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_tomorrow-night.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/_tomorrow.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_default.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_highlight.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_night-blue.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_night-bright.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_night-eighties.scss create mode 100644 docs/gh-pages/_sass/skins/highlight/tomorrow/_night.scss create mode 100644 docs/gh-pages/ad-insertion.md create mode 100644 docs/gh-pages/analytics.md create mode 100644 docs/gh-pages/assets/android-chrome-192x192.png create mode 100644 docs/gh-pages/assets/android-chrome-256x256.png create mode 100644 docs/gh-pages/assets/android-chrome-96x96.png create mode 100644 docs/gh-pages/assets/apple-touch-icon.png create mode 100644 docs/gh-pages/assets/browserconfig.xml create mode 100644 docs/gh-pages/assets/css/main.scss create mode 100644 docs/gh-pages/assets/favicon-16x16.png create mode 100644 docs/gh-pages/assets/favicon-32x32.png create mode 100644 docs/gh-pages/assets/favicon.ico create mode 100644 docs/gh-pages/assets/images/logo/logo.svg create mode 100644 docs/gh-pages/assets/mstile-150x150.png create mode 100644 docs/gh-pages/assets/safari-pinned-tab.svg create mode 100644 docs/gh-pages/assets/search.js create mode 100644 docs/gh-pages/assets/site.webmanifest create mode 100644 docs/gh-pages/battery-consumption.md create mode 100644 docs/gh-pages/customization.md create mode 100644 docs/gh-pages/dash.md create mode 100644 docs/gh-pages/debug-logging.md create mode 100644 docs/gh-pages/demo-application.md create mode 100644 docs/gh-pages/design-documents.md create mode 100644 docs/gh-pages/docs/reference/allclasses-frame.html create mode 100644 docs/gh-pages/docs/reference/allclasses-noframe.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/AbstractConcatenatedTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/BasePlayer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/BaseRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioContentType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFocusGain.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioUsage.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.BufferFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorRange.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorSpace.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorTransfer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ContentType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.CryptoMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Encoding.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.FormatSupport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.NetworkType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.PcmEncoding.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Projection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.RoleFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.SelectionFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StereoMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StreamType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoOutputMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoScalingMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.WakeMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ControlDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultControlDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.Type.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerLibraryInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.TimeoutOperation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/FormatHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/IllegalSeekPositionException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/LivePlaybackSpeedControl.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/LoadControl.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.AdsConfiguration.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.ClippingProperties.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.DrmConfiguration.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.LiveConfiguration.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.PlaybackProperties.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Subtitle.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/MetadataRetriever.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/NoSampleRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ParserException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackParameters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackPreparer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.AudioComponent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DefaultEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DeviceComponent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DiscontinuityReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.Events.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MediaItemTransitionReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MetadataComponent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlayWhenReadyChangeReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlaybackSuppressionReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.RepeatMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.State.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TextComponent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TimelineChangeReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.VideoComponent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Sender.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Target.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.State.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.VideoScalingMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.WakeupListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.Capabilities.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererConfiguration.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/RenderersFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/SeekParameters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Period.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Window.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsCollector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventTime.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndFormat.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndPlaybackState.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.AacAudioObjectType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.Config.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.StreamType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.SyncFrameInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilities.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.ConfigurationException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.InitializationException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.SinkFormatSupport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AuxEffectInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DecoderAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DtsUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/OpusUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SonicAudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.AudioBufferSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.WavFileAudioBufferSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/WavUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseIOException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DefaultDatabaseProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/ExoDatabaseProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/VersionTable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Buffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/CryptoInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderCounters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.BufferReplacementMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.InsufficientCapacityException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderDiscardReasons.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.PlaybackType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/exoplayer-threading-model.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/renderer-states.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-advanced.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-indefinite.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-limited.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-multi-period.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-period.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-playlist.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file-midrolls.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-window.svg create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DecryptionException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.MissingSchemeDataException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.SchemeData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.DrmSessionException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.State.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.EventDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DummyExoMediaDrm.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ErrorStateDrmSession.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaCrypto.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.AppManagedProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.RequestType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyStatus.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnExpirationUpdateListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnKeyStatusChangeListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.Provider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.ProvisionRequest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/KeysExpiredException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallbackException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/OfflineLicenseHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.Reason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedMediaCrypto.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/WidevineUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Library.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/CastPlayer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/MediaItemConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.OpenException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.CronetEngineSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacLibrary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/GvrAudioProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.JobDispatcherSchedulerService.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/MediaItemConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.CustomCommandProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DefaultAllowedCommandProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DisconnectedCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaIdMediaItemProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.PostConnectCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.RatingCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.SkipCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CaptionCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CommandReceiver.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CustomActionProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.DefaultMediaMetadataProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaButtonEventHandler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaMetadataProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackActions.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackPreparer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaIdEqualityChecker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.QueueDataAdapter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusLibrary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxLibrary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxOutputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.DefaultSeekTimestampConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSearchResult.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/CeaUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ChunkIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ConstantBitrateSeekMap.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorInput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyExtractorOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyTrackOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.ReadResult.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorInput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorsFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.SampleNumberHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.FlacStreamMetadataHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacSeekTableSeekMap.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.SeekTable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ForwardingExtractorInput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/GaplessInfoHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Id3Peeker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/IndexSeekMap.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/PositionHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.SeekPoints.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.Unseekable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekPoint.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.CryptoData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.SampleDataPart.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisBitArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.VorbisIdHeader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/FlvExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/StartOffsetExtractorOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.Transformation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/TrackEncryptionBox.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/OggExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/RawCcExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DtsReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H262Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H263Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H264Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H265Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Id3Reader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/LatmReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PassthroughSectionPayloadReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PesReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PsExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SeiReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.Mode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.DvbSubtitleInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.EsInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.TrackIdGenerator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/WavExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.OnFrameRenderedListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.DecoderInitializationException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.DecoderQueryException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaFormatUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.Entry.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataInputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTableDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessage.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/PictureFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/VorbisComment.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyHeaders.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ApicFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/BinaryFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterTocFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/CommentFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/GeobFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.FramePredicate.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/InternalFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/MlltFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/PrivFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MotionPhotoMetadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SmtaMetadataEntry.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/PrivateCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInfoDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.ComponentSplice.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceNullCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.ComponentSplice.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.Event.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/TimeSignalCommand.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloadIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloaderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.FailureReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.State.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadCursor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.LiveContentUnsupportedException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadProgress.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.UnsupportedRequestException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadService.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.ProgressListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloaderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilterableManifest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilteringManifestParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ProgressiveDownloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.Segment.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/StreamKey.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/WritableDownloadIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/PlaybackOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RandomizedMp3Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RobolectricUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/ShadowMediaCodecConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestDownloadManagerListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.PlatformSchedulerService.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.RequirementFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Scheduler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BaseMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BehindLiveWindowException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ConcatenatingMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/EmptySampleStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.EventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ForwardingTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoadEventInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoopingMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaLoadData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriodId.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.EventDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.Reason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.UpstreamFormatChangedListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.DefaultShuffleOrder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.UnshuffledShuffleOrder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SinglePeriodTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroup.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroupArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/UnrecognizedInputFormatException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.AdViewProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.Purpose.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkIterator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BundledChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/Chunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.EmbeddedSampleStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ContainerMediaChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/InitializationChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashManifestStaleException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashSegmentIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashWrappingSegmentIndex.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationSegmentIterator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/AdaptationSet.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.RepresentationInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Descriptor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/EventStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Period.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ProgramInformation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/RangedUri.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.MultiSegmentRepresentation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.SingleSegmentRepresentation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentList.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTimelineElement.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SingleSegmentBase.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UrlTemplate.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UtcTimingElement.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/DashDownloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/BundledHlsMediaChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsManifest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.VariantInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/SampleQueueMappingException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/WebvttExtractor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistParserFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/FilteringHlsPlaylistParserFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.PlaylistType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.RenditionReport.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.SegmentBase.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.ServerControl.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistResetException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistStuckException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/MediaParserUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.ProtectionElement.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.StreamElement.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.MissingFieldException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.AddMediaItems.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearMediaItems.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearVideoSurface.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ExecuteRunnable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.MoveMediaItem.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.PlayUntilPosition.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Prepare.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItem.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItems.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Seek.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SendMessages.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetAudioAttributes.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItems.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItemsResetPosition.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlayWhenReady.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlaybackParameters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRendererDisabled.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRepeatMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleModeEnabled.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleOrder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetVideoSurface.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Stop.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ThrowPlaybackException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForIsLoading.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForMessage.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPendingPlayerCommands.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlaybackState.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerRunnable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AutoAdvancingFakeClock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.RequestSet.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingAudioSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingRenderersFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DecoderCountersUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DefaultRenderersFactoryAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DownloadBuilder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.TestRunnable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpFileAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpableFormat.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.Dumpable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoHostedTest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.ExtractorFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.SimulationConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Iterator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAudioRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeClock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.Segment.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.LicenseServer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.SimulatedIOException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunk.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunkIterator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaClockRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.TrackDataFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.InitialTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeShuffleOrder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeVideoRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HttpDataSourceTestEnv.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/NoUidTimeline.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/StubExoPlayer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestExoPlayerBuilder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TimelineAsserts.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AbsoluteSized.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Aligned.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AndSpanFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Colored.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.EmphasizedText.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RelativeSized.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RubyText.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Typefaced.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.WithSpanFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.EdgeType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.AnchorType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.LineType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.TextSizeType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.VerticalType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Subtitle.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleInputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleOutputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextOutput.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea608Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea708Decoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/DvbDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/PgsDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/RubySpan.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/SpanUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.Position.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkFill.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkShape.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/SsaDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/SubripDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/TtmlDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/Tx3gDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.FontSizeUnit.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.StyleFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttParserUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/BaseTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Definition.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/FixedTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.InvalidationListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectorResult.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/ProgressHolder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.ProgressState.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.AspectRatioListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.ResizeMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DebugTextViewHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTimeBar.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.ProgressUpdateListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.BitmapCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.CustomActionReceiver.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.MediaDescriptionAdapter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.NotificationListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Priority.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Visibility.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.OnFullScreenModeChangedListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.ProgressUpdateListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.VisibilityListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.ShowBuffering.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.ViewType.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackNameProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.DialogCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.TrackSelectionListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SingleTapListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocation.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.AssetDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.EventDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BaseDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataReader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSchemeDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceInputStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultAllocator.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DummyDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.Type.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidContentTypeException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidResponseCodeException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.RequestProperties.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.LoadErrorInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Callback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.LoadErrorAction.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Loadable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.ReleaseCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.UnexpectedLoaderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.Dummy.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TransferListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.UdpDataSourceException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.CacheException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.Listener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.CacheDataSinkException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.CacheIgnoredReason.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.EventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Flags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheEvictor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheKeyFactory.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheSpan.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.ProgressListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/DefaultContentMetadata.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/NoOpCacheEvictor.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/SimpleCache.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSource.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Assertions.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/AtomicFile.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Clock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CodecSpecificDataUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ColorParser.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ConditionVariable.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Consumer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CopyOnWriteMultiset.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ErrorMessageProvider.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EventLogger.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.Type.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FlacConstants.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Attribute.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Uniform.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/HandlerWrapper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/IntArrayQueue.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LibraryLoader.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.Event.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Log.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LongArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MediaClock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MimeTypes.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MutableFlags.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.SpsData.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NonNullApi.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.Importance.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableBitArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableByteArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableNalUnitBitArray.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.PriorityTooLowException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.RepeatToggleModes.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RunnableFutureTask.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SlidingPercentile.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.InitializationCallback.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/StandaloneMediaClock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SystemClock.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimedValueQueue.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimestampAdjuster.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TraceUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UnknownNull.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UriUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Util.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/XmlPullParserUtil.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/AvcConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/ColorInfo.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DecoderVideoRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DolbyVisionConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DummySurface.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/HevcConfig.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoDecoderException.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.CodecMaxValues.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderGLSurfaceView.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderInputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameMetadataListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.EventDispatcher.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-tree.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionListener.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/FrameRotationQueue.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.DrawMode.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.Mesh.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.SubMesh.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/ProjectionDecoder.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-frame.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-summary.html create mode 100644 docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-tree.html create mode 100644 docs/gh-pages/docs/reference/constant-values.html create mode 100644 docs/gh-pages/docs/reference/deprecated-list.html create mode 100644 docs/gh-pages/docs/reference/element-list create mode 100644 docs/gh-pages/docs/reference/help-doc.html create mode 100644 docs/gh-pages/docs/reference/index-all.html create mode 100644 docs/gh-pages/docs/reference/index.html create mode 100644 docs/gh-pages/docs/reference/jquery/external/jquery/jquery.js create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-icons_222222_256x240.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-icons_2e83ff_256x240.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-icons_454545_256x240.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-icons_888888_256x240.png create mode 100644 docs/gh-pages/docs/reference/jquery/images/ui-icons_cd0a0a_256x240.png create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-1.10.2.js create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.css create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.js create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.min.css create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.min.js create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.structure.css create mode 100644 docs/gh-pages/docs/reference/jquery/jquery-ui.structure.min.css create mode 100644 docs/gh-pages/docs/reference/member-search-index.js create mode 100644 docs/gh-pages/docs/reference/member-search-index.zip create mode 100644 docs/gh-pages/docs/reference/overview-frame.html create mode 100644 docs/gh-pages/docs/reference/overview-summary.html create mode 100644 docs/gh-pages/docs/reference/overview-tree.html create mode 100644 docs/gh-pages/docs/reference/package-search-index.js create mode 100644 docs/gh-pages/docs/reference/package-search-index.zip create mode 100644 docs/gh-pages/docs/reference/resources/glass.png create mode 100644 docs/gh-pages/docs/reference/resources/x.png create mode 100644 docs/gh-pages/docs/reference/script.js create mode 100644 docs/gh-pages/docs/reference/search.js create mode 100644 docs/gh-pages/docs/reference/serialized-form.html create mode 100644 docs/gh-pages/docs/reference/stylesheet.css create mode 100644 docs/gh-pages/docs/reference/type-search-index.js create mode 100644 docs/gh-pages/docs/reference/type-search-index.zip create mode 100644 docs/gh-pages/downloading-media.md create mode 100644 docs/gh-pages/drm.md create mode 100644 docs/gh-pages/glossary.md create mode 100644 docs/gh-pages/hello-world.md create mode 100644 docs/gh-pages/hls.md create mode 100644 docs/gh-pages/images/demo-app-build-variants.png create mode 100644 docs/gh-pages/images/demo-app-project.png create mode 100644 docs/gh-pages/images/demo-app-screenshots.png create mode 100644 docs/gh-pages/images/downloading.svg create mode 100644 docs/gh-pages/images/exoplayer-logo.png create mode 100644 docs/gh-pages/images/glossary-exoplayer-architecture.png create mode 100644 docs/gh-pages/images/glossary-renderering-architecture.png create mode 100644 docs/gh-pages/images/live-window.png create mode 100644 docs/gh-pages/images/overriding-layoutfiles.png create mode 100644 docs/gh-pages/index.md create mode 100644 docs/gh-pages/issues/cleartext-not-permitted.md create mode 100644 docs/gh-pages/issues/player-accessed-on-wrong-thread.md create mode 100644 docs/gh-pages/listening-to-player-events.md create mode 100644 docs/gh-pages/live-streaming.md create mode 100644 docs/gh-pages/media-items.md create mode 100644 docs/gh-pages/media-sources.md create mode 100644 docs/gh-pages/oems.md create mode 100644 docs/gh-pages/playlists.md create mode 100644 docs/gh-pages/progressive.md create mode 100644 docs/gh-pages/pros-and-cons.md create mode 100644 docs/gh-pages/retrieving-metadata.md create mode 100755 docs/gh-pages/run_locally.sh create mode 100644 docs/gh-pages/shrinking.md create mode 100644 docs/gh-pages/smoothstreaming.md create mode 100644 docs/gh-pages/supported-devices.md create mode 100644 docs/gh-pages/supported-formats.md create mode 100644 docs/gh-pages/track-selection.md create mode 100644 docs/gh-pages/transforming-media.md create mode 100644 docs/gh-pages/troubleshooting.md create mode 100644 docs/gh-pages/ui-components.md diff --git a/docs/gh-pages/.hgignore b/docs/gh-pages/.hgignore new file mode 100644 index 0000000000..55ca9f0054 --- /dev/null +++ b/docs/gh-pages/.hgignore @@ -0,0 +1,9 @@ +# Mercurial's .hgignore files can only be used in the root directory. +# You can still apply these rules by adding +# include:path/to/this/directory/.hgignore to the top-level .hgignore file. + +# Ensure same syntax as in .gitignore can be used +syntax:glob + +_site +Gemfile.lock diff --git a/docs/gh-pages/404.html b/docs/gh-pages/404.html new file mode 100644 index 0000000000..c4e870fdc7 --- /dev/null +++ b/docs/gh-pages/404.html @@ -0,0 +1,3 @@ +--- +layout: 404 +--- diff --git a/docs/gh-pages/CNAME b/docs/gh-pages/CNAME new file mode 100644 index 0000000000..6b8f5dba1c --- /dev/null +++ b/docs/gh-pages/CNAME @@ -0,0 +1 @@ +exoplayer.dev diff --git a/docs/gh-pages/Gemfile b/docs/gh-pages/Gemfile new file mode 100644 index 0000000000..c8ae801045 --- /dev/null +++ b/docs/gh-pages/Gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem "github-pages", group: :jekyll_plugins + +gem "tzinfo-data" +gem "wdm", "~> 0.1.0" if Gem.win_platform? \ No newline at end of file diff --git a/docs/gh-pages/LICENSE b/docs/gh-pages/LICENSE new file mode 100644 index 0000000000..b27af02e47 --- /dev/null +++ b/docs/gh-pages/LICENSE @@ -0,0 +1,23 @@ +Jekyll TeXt Theme + +MIT License + +Copyright (c) 2017 Tian Qi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/gh-pages/README.md b/docs/gh-pages/README.md new file mode 100644 index 0000000000..bb169336b1 --- /dev/null +++ b/docs/gh-pages/README.md @@ -0,0 +1,12 @@ +# ExoPlayer website # + +The [ExoPlayer website](https://exoplayer.dev/) is hosted on +GitHub Pages, and is statically generated using Jekyll. + +* GitHub provides a guide describing how to setup a GitHub Pages site using + Jekyll + [here](https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/). +* GitHub provides a guide describing how to test changes to the site locally + [here](https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/). + Once your machine is setup, you can build and run a local instance of the + site using `./run_locally.sh` from the root directory. diff --git a/docs/gh-pages/_config.yml b/docs/gh-pages/_config.yml new file mode 100644 index 0000000000..489074d281 --- /dev/null +++ b/docs/gh-pages/_config.yml @@ -0,0 +1,95 @@ +## => Site Settings +############################## +text_skin: default # "default" (default), "dark", "forest", "ocean", "chocolate", "orange" +highlight_theme: default # "default" (default), "tomorrow", "tomorrow-night", "tomorrow-night-eighties", "tomorrow-night-blue", "tomorrow-night-bright" +url: https://exoplayer.dev +baseurl: +title: ExoPlayer +description: An application level media player for Android + + +## => Link roots +############################## +release_v2: https://github.com/google/ExoPlayer/tree/release-v2 +exo_sdk: /doc/reference/com/google/android/exoplayer2 +android_sdk: https://developer.android.com/reference +google_sdk: https://developers.google.com + + +## => GitHub Repository (if the site is hosted by GitHub) +############################## +repository: google/ExoPlayer +repository_tree: gh-pages + + +## => Author and Social +############################## +author: + type : "organization" + name : "ExoPlayer" + github : "google/ExoPlayer" + medium : "google-exoplayer" + +## => Paths +############################## +paths: + root : # title link url, "/" (default) + home : # home layout url, "/" (default) + archive : # "/archive.html" (default) + rss : # "/feed.xml" (default) + + +## => Post +############################## +excerpt_separator: + + +## => Analytics +############################## +analytics: + provider: google + google: + tracking_id : UA-68257324-1 + anonymize_ip: true + + +## => Search +############################## +search: + provider: google # "default" (default), false, "google", "custom" + + ## Google Custom Search Engine + google: + custom_search_engine_id: 009764199895742571316:nuhckqry2_e + + +## => Build +############################## +markdown : kramdown +highlighter : rouge +permalink : date + +exclude: + - Gemfile + - README.md + - vendor + +defaults: + - scope: + path: "" + values: + footer: true + show_date: false + layout: article + sidebar: + nav: en + + +## => Plugins +############################## +plugins: + - jekyll-feed + - jekyll-paginate + - jekyll-sitemap + - jekyll-redirect-from + - jemoji diff --git a/docs/gh-pages/_data/locale.yml b/docs/gh-pages/_data/locale.yml new file mode 100644 index 0000000000..3871545994 --- /dev/null +++ b/docs/gh-pages/_data/locale.yml @@ -0,0 +1,111 @@ +## => English +######################## +en: &EN + SUBSCRIBE : "Subscribe" + READMORE : "Read more" + SEARCH : "Search" + CANCEL : "Cancel" + VIEWS : "views" + LAST_UPDATED : "Last updated" + PREVIOUS : "PREVIOUS" + NEXT : "NEXT" + ARTICLE_DATE_FORMAT : "%b %d, %Y" + ARTICLE_LIST_DATE_FORMAT: "%b %d" + STATISTICS : "[POST_COUNT] post articles, [PAGE_COUNT] pages." + LICENSE_ANNOUNCE : "This work is licensed under a [LICENSE] license." + POST_ON_GITHUB : "Edit on Github" + FOLLOW_ME : "Follow me on [NAME]." + FOLLOW_US : "Follow us on [NAME]." + EMAIL_ME : "Send me Email." + EMAIL_US : "Send us Email." + COPYRIGHT_DATES : "2019" + +en-GB: + <<: *EN +en-US: + <<: *EN +en-CA: + <<: *EN +en-AU: + <<: *EN + +## => Simplified Chinese +######################## +zh-Hans: &ZH_HANS + SUBSCRIBE : "订阅" + READMORE : "阅读更多" + SEARCH : "搜索" + CANCEL : "取消" + VIEWS : "阅读" + LAST_UPDATED : "更新于" + PREVIOUS : "上篇" + NEXT : "下篇" + ARTICLE_DATE_FORMAT : "%Y年 %m月%d日" + ARTICLE_LIST_DATE_FORMAT: "%m月%d日" + STATISTICS : "共计 [POST_COUNT] 篇文章,[PAGE_COUNT] 页。" + LICENSE_ANNOUNCE : "本文遵守 [LICENSE] 许可协议。" + POST_ON_GITHUB : "在 Github 上修改" + FOLLOW_ME : "在 [NAME] 上关注我。" + FOLLOW_US : "在 [NAME] 上关注我们。" + EMAIL_ME : "给我发邮件。" + EMAIL_US : "给我们发邮件。" + COPYRIGHT_DATES : "2019" + +zh: + <<: *ZH_HANS +zh-CN: + <<: *ZH_HANS +zh-SG: + <<: *ZH_HANS + +## => Traditional Chinese +######################## +zh-Hant: &ZH_HANT + SUBSCRIBE : "訂閱" + READMORE : "閱讀更多" + SEARCH : "搜索" + CANCEL : "取消" + VIEWS : "閱讀" + LAST_UPDATED : "更新於" + PREVIOUS : "上篇" + NEXT : "下篇" + ARTICLE_DATE_FORMAT : "%Y年 %m月%d日" + ARTICLE_LIST_DATE_FORMAT: "%m月%d日" + STATISTICS : "共計 [POST_COUNT] 篇文章,[PAGE_COUNT] 頁。" + LICENSE_ANNOUNCE : "本文遵守 [LICENSE] 許可協議。" + POST_ON_GITHUB : "在 Github 上修改" + FOLLOW_ME : "在 [NAME] 上關注我。" + FOLLOW_US : "在 [NAME] 上關注我們。" + EMAIL_ME : "給我發郵件。" + EMAIL_US : "給我們發郵件。" + COPYRIGHT_DATES : "2019" + +zh-TW: + <<: *ZH_HANT +zh-HK: + <<: *ZH_HANT + +## => Korean +######################## +ko: &KO + SUBSCRIBE : "구독하기" + READMORE : "더보기" + SEARCH : "검색" + CANCEL : "취소" + VIEWS : "조회" + LAST_UPDATED : "마지막 수정" + PREVIOUS : "이전" + NEXT : "다음" + ARTICLE_DATE_FORMAT : "%Y년 %m월 %d일" + ARTICLE_LIST_DATE_FORMAT: "%m월 %d일" + STATISTICS : "전체 글 [POST_COUNT]개, [PAGE_COUNT] 페이지" + LICENSE_ANNOUNCE : "이 글의 저작권은 [LICENSE] 라이센스를 따릅니다." + POST_ON_GITHUB : "Github에서 확인하기" + FOLLOW_ME : "[NAME]에서 팔로우하기" + FOLLOW_US : "[NAME]에서 팔로우하기" + EMAIL_ME : "이메일 보내기" + EMAIL_US : "이메일 보내기" + COPYRIGHT_DATES : "2019" + +ko-KR: + <<: *KO diff --git a/docs/gh-pages/_data/navigation.yml b/docs/gh-pages/_data/navigation.yml new file mode 100644 index 0000000000..00c49cb39e --- /dev/null +++ b/docs/gh-pages/_data/navigation.yml @@ -0,0 +1,79 @@ +header: + - title: Javadoc + url: doc/reference/ + - title: GitHub + url: https://github.com/google/ExoPlayer + - title: Blog + url: https://medium.com/google-exoplayer + +en: + - title: + children: + - title: Home + url: index.html + - title: Pros and cons + url: pros-and-cons.html + - title: Demo application + url: demo-application.html + - title: Supported formats + url: supported-formats.html + - title: Supported devices + url: supported-devices.html + - title: Glossary + url: glossary.html + - title: Getting started + children: + - title: Hello world + url: hello-world.html + - title: Player events + url: listening-to-player-events.html + - title: Playlists + url: playlists.html + - title: Media items + url: media-items.html + - title: Media sources + url: media-sources.html + - title: Track selection + url: track-selection.html + - title: UI components + url: ui-components.html + - title: Downloading media + url: downloading-media.html + - title: Ad insertion + url: ad-insertion.html + - title: Retrieving metadata + url: retrieving-metadata.html + - title: Live streaming + url: live-streaming.html + - title: Debug logging + url: debug-logging.html + - title: Analytics + url: analytics.html + - title: Media types + children: + - title: DASH + url: dash.html + - title: HLS + url: hls.html + - title: SmoothStreaming + url: smoothstreaming.html + - title: Progressive + url: progressive.html + - title: Advanced topics + children: + - title: Digital rights management + url: drm.html + - title: Troubleshooting + url: troubleshooting.html + - title: Customization + url: customization.html + - title: Transforming media + url: transforming-media.html + - title: Battery consumption + url: battery-consumption.html + - title: APK shrinking + url: shrinking.html + - title: OEM testing + url: oems.html + - title: Design documents + url: design-documents.html diff --git a/docs/gh-pages/_data/variables.yml b/docs/gh-pages/_data/variables.yml new file mode 100644 index 0000000000..18ae276491 --- /dev/null +++ b/docs/gh-pages/_data/variables.yml @@ -0,0 +1,64 @@ +default: + text_skin: default + highlight_theme: default + lang: en + paths: + root: / + home: / + archive: /archive.html + rss: /feed.xml + mathjax: false + mathjax_autoNumber: false + mermaid: false + chart: false + toc: + selectors: 'h1,h2,h3' + sources: bootcdn + + page: + mode: normal + type: webpage + article_header: + align: left + theme: light + articles: + show_cover: true + show_excerpt: false + show_readmore: false + show_info: false + show_title: true + show_edit_on_github: false + show_date: true + show_tags: true + show_author_profile: false + show_subscribe: false + full_width: false + sharing: false + comment: true + license: false + pageview: false + search: default + +sources: + bootcdn: + font_awesome: 'https://use.fontawesome.com/releases/v5.0.13/css/all.css' + jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js' + leancloud_js_sdk: '//cdn1.lncld.net/static/js/3.4.1/av-min.js' + chart: 'https://cdn.bootcss.com/Chart.js/2.7.2/Chart.bundle.min.js' + gitalk: + js: 'https://cdn.bootcss.com/gitalk/1.2.2/gitalk.min.js' + css: 'https://cdn.bootcss.com/gitalk/1.2.2/gitalk.min.css' + valine: 'https://unpkg.com/valine/dist/Valine.min.js' # bootcdn not available + mathjax: 'https://cdn.bootcss.com/mathjax/2.7.4/MathJax.js?config=TeX-MML-AM_CHTML' + mermaid: 'https://cdn.bootcss.com/mermaid/8.0.0-rc.8/mermaid.min.js' + unpkg: + font_awesome: 'https://use.fontawesome.com/releases/v5.0.13/css/all.css' + jquery: 'https://unpkg.com/jquery@3.3.1/dist/jquery.min.js' + leancloud_js_sdk: '//cdn1.lncld.net/static/js/3.4.1/av-min.js' + chart: 'https://unpkg.com/chart.js@2.7.2/dist/Chart.min.js' + gitalk: + js: 'https://unpkg.com/gitalk@1.2.2/dist/gitalk.min.js' + css: 'https://unpkg.com/gitalk@1.2.2/dist/gitalk.css' + valine: 'https//unpkg.com/valine/dist/Valine.min.js' + mathjax: 'https://unpkg.com/mathjax@2.7.4/unpacked/MathJax.js?config=TeX-MML-AM_CHTML' + mermaid: 'https://unpkg.com/mermaid@8.0.0-rc.8/dist/mermaid.min.js' diff --git a/docs/gh-pages/_includes/analytics-providers/custom.html b/docs/gh-pages/_includes/analytics-providers/custom.html new file mode 100644 index 0000000000..c34b97ad90 --- /dev/null +++ b/docs/gh-pages/_includes/analytics-providers/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/analytics-providers/google.html b/docs/gh-pages/_includes/analytics-providers/google.html new file mode 100644 index 0000000000..5fbd17dc7d --- /dev/null +++ b/docs/gh-pages/_includes/analytics-providers/google.html @@ -0,0 +1,14 @@ +{%- if site.analytics.google.tracking_id -%} + + + +{%- endif -%} diff --git a/docs/gh-pages/_includes/analytics.html b/docs/gh-pages/_includes/analytics.html new file mode 100644 index 0000000000..070af6048c --- /dev/null +++ b/docs/gh-pages/_includes/analytics.html @@ -0,0 +1,7 @@ +{%- if jekyll.environment != 'development' -%} + {%- if site.analytics.provider == 'google' -%} + {%- include analytics-providers/google.html -%} + {%- elsif site.analytics.provider == 'custom' -%} + {%- include analytics-providers/custom.html -%} + {%- endif -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/article-footer.html b/docs/gh-pages/_includes/article-footer.html new file mode 100644 index 0000000000..114289e865 --- /dev/null +++ b/docs/gh-pages/_includes/article-footer.html @@ -0,0 +1,55 @@ +{%- include snippets/assign.html + target=site.data.variables.default.page.show_author_profile + source0=layout.show_author_profile source1=page.show_author_profile -%} +{%- assign _show_author_profile = __return -%} + +{%- include snippets/assign.html + target=site.data.variables.default.page.show_subscribe + source0=layout.show_subscribe source1=page.show_subscribe -%} +{%- assign _show_subscribe = __return -%} + +{%- include snippets/assign.html + target=site.data.variables.default.page.license + source0=layout.license source1=page.license -%} +{%- assign _license = __return -%} + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/article-header.html b/docs/gh-pages/_includes/article-header.html new file mode 100644 index 0000000000..748b24c79a --- /dev/null +++ b/docs/gh-pages/_includes/article-header.html @@ -0,0 +1,49 @@ +{%- include snippets/get-article-title.html article=include.article-%} +{%- assign _article_title = __return -%} + +{%- if include.html != false -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.show_title + source0=layout.show_title source1=include.article.show_title -%} + {%- assign _show_title = __return -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.show_edit_on_github + source0=layout.show_edit_on_github source1=include.article.show_edit_on_github -%} + {%- assign _show_edit_on_github = __return -%} + + {%- if _show_title or _show_edit_on_github -%} +
+ {%- if _show_title -%} +

{{ _article_title }}

+ {%- endif -%} + {%- if _show_edit_on_github -%} + {%- if site.repository and site.repository_tree -%} + {%- include snippets/is_collection.html page=include.article -%} + {%- assign _is_article_collection = __return -%} + {%- include snippets/get-locale-string.html key='POST_ON_GITHUB' -%} + {%- assign _locale_post_on_github = __return -%} + {%- if _is_article_collection -%} + {%- include snippets/prepend-path.html path=include.article.path prepend_path=site.collections_dir -%} + {%- assign _article_path = __return -%} + {%- else -%} + {%- assign _article_path = include.article.path -%} + {%- endif -%} + {%- assign _github_path = site.repository | append: '/tree/' | append: site.repository_tree | append: '/' | append: _article_path | replace:'//','/' -%} +   + + + {%- endif -%} + {%- endif -%} +
+ {%- else -%} +

{{ _article_title }}

+ {%- endif -%} +{%- endif -%} + +{%- if include.semantic != false -%} + +{%- endif -%} diff --git a/docs/gh-pages/_includes/article-info.html b/docs/gh-pages/_includes/article-info.html new file mode 100644 index 0000000000..c97fac9acf --- /dev/null +++ b/docs/gh-pages/_includes/article-info.html @@ -0,0 +1,96 @@ +{%- assign _author = site.data.authors[include.article.author] | default: site.author -%} + +{%- if include.html != false -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.show_date + source0=layout.show_date source1=include.article.show_date -%} + {%- assign _show_date = __return -%} + {%- if _show_date and include.article.date -%} + {%- assign _show_date = true -%} + {%- else -%} + {%- assign _show_date = false -%} + {%- endif -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.show_tags + source0=layout.show_tags source1=include.article.show_tags -%} + {%- assign _show_tags = __return -%} + {%- if _show_tags and include.article.tags[0] -%} + {%- assign _show_tags = true -%} + {%- else -%} + {%- assign _show_tags = false -%} + {%- endif -%} + + {%- assign _show_author = include.article.author -%} + + {%- include snippets/assign.html target=site.data.variables.default.page.pageview + source0=layout.pageview source1=page.pageview -%} + {%- assign _pageview = __return -%} + {%- if _pageview or include.show_pageview -%} + {%- assign _pageview = true -%} + {%- else -%} + {%- assign _pageview = false -%} + {%- endif -%} + + {%- assign _paths_archive = site.paths.archive | default: site.data.variables.default.paths.archive -%} + + {%- if _show_tags or _show_author or _show_date or _pageview -%} +
+ {%- if _show_tags -%} + + + {%- endif -%} + + {%- if _show_author or _show_date or _pageview -%} + + {%- endif -%} + +
+ {%- endif -%} +{%- endif -%} + + +{%- if include.semantic != false -%} + {%- if _author -%} + + {%- endif -%} + {%- if include.article.date -%} + + {%- endif -%} + {%- if include.article.tags[0] -%} + {%- assign _keywords = include.article.tags | join: ',' %} + + {%- endif -%} +{%- endif -%} diff --git a/docs/gh-pages/_includes/article-list.html b/docs/gh-pages/_includes/article-list.html new file mode 100644 index 0000000000..705e75d75c --- /dev/null +++ b/docs/gh-pages/_includes/article-list.html @@ -0,0 +1,144 @@ +{%- assign _excerpt_truncate = include.excerpt_truncate | default: 350 -%} + +{%- assign _excerpt_type = include.excerpt_type -%} + +{%- include snippets/get-locale-string.html key='READMORE' -%} +{%- assign _locale_readmore = __return -%} + +{%- assign _sorted_list = include.articles -%} +{%- if include.group_by == 'year' -%} + {%- assign _sorted_list = _sorted_list | sort: 'date' -%} +{%- endif -%} +{%- if include.reverse -%} + {%- assign _sorted_list = _sorted_list | reverse -%} +{%- endif -%} + +{%- if include.type == 'item' -%} +
+{%- elsif include.type == 'brief' -%} +
+{%- elsif include.type == 'grid' -%} + {%- if include.size == 'sm' -%} +
+ {%- else -%} +
+ {%- endif -%} +{%- endif -%} + + {%- for _article in _sorted_list -%} + + {%- include snippets/prepend-baseurl.html path=_article.url -%} + {%- assign _article_url = __return -%} + + {%- if _article.cover -%} + {%- include snippets/get-nav-url.html path=_article.cover -%} + {%- assign _article_cover = __return -%} + {%- endif -%} + + {%- if include.type == 'item' -%} + {%- if include.article_type == 'BlogPosting' -%} +
+ {%- else -%} +
+ {%- endif -%} + {%- if _article.cover and include.show_cover-%} + {%- include snippets/get-nav-url.html path=_article.cover -%} + {%- assign _article_cover = __return -%} +
+ {%- if include.cover_size == 'lg' -%} + + {%- elsif include.cover_size == 'sm' -%} + + {%- else -%} + + {%- endif -%} +
+ {%- endif -%} +
+

{{ _article.title }}

+
+ {%- if _article.excerpt and include.show_excerpt -%} +
+ {%- if _excerpt_type == 'html' -%} + {{ _article.excerpt }} + {%- else -%} + {{ _article.excerpt | strip_html | strip | truncate: _excerpt_truncate }} + {%- endif -%} +
+ {%- endif -%} + {%- if include.show_readmore -%} +

{{ _locale_readmore }}

+ {%- endif -%} +
+ {%- if include.show_info -%} + {%- include snippets/assign.html target=site.data.variables.default.page.pageview + source0=_article.pageview -%} + {%- assign _show_pageview = __return -%} + {%- include article-info.html article=_article show_pageview=_show_pageview -%} + {%- endif -%} +
+
+ + + {%- elsif include.type == 'brief' -%} + {%- assign _tags = '' -%} + {%- for _tag in _article.tags -%} + {%- assign _tag_encode = _tag | strip | url_encode -%} + {%- if forloop.last -%} + {%- assign _tags = _tags | append: _tag_encode -%} + {%- else -%} + {%- assign _tags = _tags | append: _tag_encode | append: ',' -%} + {%- endif -%} + {%- endfor -%} + {%- if include.group_by == 'year' -%} + {%- assign _currentdate = _article.date | date: '%Y' -%} + {%- if _currentdate != _date -%} + {%- unless forloop.first -%}{%- endunless -%} +

{{ _currentdate }}

    + {%- assign _date = _currentdate -%} + {%- endif -%} + {%- endif -%} + {%- include snippets/get-locale-string.html key='ARTICLE_LIST_DATE_FORMAT' -%} +
  • +
    + {%- if include.show_info -%} + {{ _article.date | date: __return }} + {%- endif -%} + {{ _article.title }}
    +
  • + + {%- elsif include.type == 'grid' -%} + {%- if include.size == 'sm' -%} +
    +
    + {%- if _article.cover -%} +
    + + +
    + {%- endif -%} +
    +
    + {%- else -%} + +
    +
    + {%- if _article.cover -%} +
    + {%- endif -%} + +
    +
    + {%- endif -%} + {%- endif -%} + {%- endfor -%} + +
diff --git a/docs/gh-pages/_includes/article-section-navigator.html b/docs/gh-pages/_includes/article-section-navigator.html new file mode 100644 index 0000000000..d8812c282a --- /dev/null +++ b/docs/gh-pages/_includes/article-section-navigator.html @@ -0,0 +1,54 @@ +{%- if page.sidebar.nav -%} + {%- assign _sidebar_nav = site.data.navigation[page.sidebar.nav] -%} + {%- if _sidebar_nav -%} + {%- assign _find_cur = false -%} + {%- assign _find_next = false -%} + + {%- for _item in _sidebar_nav -%} + {%- if _find_next -%} {%- break -%} {%- endif -%} + {%- if _item.children -%} + + {%- for _child in _item.children -%} + {%- include snippets/get-nav-url.html path=_child.url -%} + {%- assign _nav_url = __return -%} + {%- include snippets/get-nav-url.html path=page.url -%} + {%- assign _page_url = __return -%} + + {%- if _nav_url == _page_url -%} + {%- assign _find_cur = true -%} + {%- elsif _find_cur and _find_next != true -%} + {%- assign _find_next = true -%} + {%- assign _next = _child -%} + {%- break -%} + {%- else -%} + {%- assign _previous = _child -%} + {%- endif -%} + {%- endfor -%} + + {%- endif -%} + {%- endfor -%} + {%- endif -%} + +{%- else -%} + {%- assign _previous = page.previous -%} + {%- assign _next = page.next -%} +{%- endif -%} + +{%- if _next or _previous -%} +
+ {%- if _previous -%} + {%- include snippets/prepend-baseurl.html path=_previous.url -%} + {%- assign _href = __return -%} + {%- include snippets/get-locale-string.html key='PREVIOUS' -%} + {%- assign _locale_previous = __return -%} + + {%- endif -%} + {%- if _next -%} + {%- include snippets/prepend-baseurl.html path=_next.url -%} + {%- assign _href = __return -%} + {%- include snippets/get-locale-string.html key='NEXT' -%} + {%- assign _locale_next = __return -%} + + {%- endif -%} +
+{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/article/footer/author-profile.html b/docs/gh-pages/_includes/article/footer/author-profile.html new file mode 100644 index 0000000000..a061a79ab6 --- /dev/null +++ b/docs/gh-pages/_includes/article/footer/author-profile.html @@ -0,0 +1,47 @@ +{%- assign _author = include.author -%} + +{%- if _author.type == 'organization' -%} + {%- assign _author_itemtype = 'http://schema.org/Organization' -%} +{%- else -%} + {%- assign _author_itemtype = 'http://schema.org/Person' -%} +{%- endif -%} + +
+ {%- if _author.avatar -%} + {%- if _author.url -%} + + {%- endif -%} + {%- include snippets/get-nav-url.html path=_author.avatar -%} + {%- assign _author_avatar = __return -%} + + {%- if _author.url -%} + + {%- endif -%} + {%- endif -%} + + +
+ + {%- if _author.name -%} + +

+ {%- if _author.url -%} + + + {%- endif -%} + {{ _author.name }} + {%- if _author.url -%} + + {%- endif -%} +

+ {%- endif -%} + + {%- if _author.bio -%} +

{{ _author.bio }}

+ {%- endif -%} + + +
+
\ No newline at end of file diff --git a/docs/gh-pages/_includes/article/footer/custom.html b/docs/gh-pages/_includes/article/footer/custom.html new file mode 100644 index 0000000000..7483e62e78 --- /dev/null +++ b/docs/gh-pages/_includes/article/footer/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/article/footer/license.html b/docs/gh-pages/_includes/article/footer/license.html new file mode 100644 index 0000000000..7ea1e1a35a --- /dev/null +++ b/docs/gh-pages/_includes/article/footer/license.html @@ -0,0 +1,14 @@ +{%- include snippets/get-locale-string.html key='LICENSE_ANNOUNCE' -%} +{%- assign _license_announce = __return -%} + +{%- if include.license -%} + + {%-assign _license_name = '[NAME]' | replace: "[URL]", include.license.url | replace: "[NAME]", include.license.name -%} +
+

{{ _license_announce | replace: "[LICENSE]", _license_name }} + + {{ include.license.name }} + +

+
+{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/article/footer/subscribe.html b/docs/gh-pages/_includes/article/footer/subscribe.html new file mode 100644 index 0000000000..86650f6186 --- /dev/null +++ b/docs/gh-pages/_includes/article/footer/subscribe.html @@ -0,0 +1,6 @@ +{%- assign _paths_rss = site.paths.rss | default: site.data.variables.default.paths.rss -%} +{%- include snippets/get-nav-url.html path=_paths_rss -%} +{%- assign _paths_rss = __return -%} +{%- include snippets/get-locale-string.html key='SUBSCRIBE' -%} +{%- assign _locale_nav_subscribe = __return -%} + \ No newline at end of file diff --git a/docs/gh-pages/_includes/article/top/custom.html b/docs/gh-pages/_includes/article/top/custom.html new file mode 100644 index 0000000000..d749475e2c --- /dev/null +++ b/docs/gh-pages/_includes/article/top/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/aside/toc.html b/docs/gh-pages/_includes/aside/toc.html new file mode 100644 index 0000000000..adc7a6e2cf --- /dev/null +++ b/docs/gh-pages/_includes/aside/toc.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/author-links.html b/docs/gh-pages/_includes/author-links.html new file mode 100644 index 0000000000..339509d1b5 --- /dev/null +++ b/docs/gh-pages/_includes/author-links.html @@ -0,0 +1,120 @@ +{%- assign _author = include.author -%} + + diff --git a/docs/gh-pages/_includes/comments-providers/custom.html b/docs/gh-pages/_includes/comments-providers/custom.html new file mode 100644 index 0000000000..90993691ed --- /dev/null +++ b/docs/gh-pages/_includes/comments-providers/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/comments-providers/disqus.html b/docs/gh-pages/_includes/comments-providers/disqus.html new file mode 100644 index 0000000000..c06137c01f --- /dev/null +++ b/docs/gh-pages/_includes/comments-providers/disqus.html @@ -0,0 +1,22 @@ +{%- if page.key and + site.comments.disqus.shortname -%} + +
+ + + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/comments-providers/gitalk.html b/docs/gh-pages/_includes/comments-providers/gitalk.html new file mode 100644 index 0000000000..c481c37d48 --- /dev/null +++ b/docs/gh-pages/_includes/comments-providers/gitalk.html @@ -0,0 +1,39 @@ +{%- if page.key and + site.comments.gitalk.clientID and + site.comments.gitalk.clientSecret and + site.comments.gitalk.repository and + site.comments.gitalk.owner and + site.comments.gitalk.admin -%} + + + + + {%- include snippets/get-sources.html -%} + {%- assign _sources = __return -%} +
+ {%- assign _admin = '' -%} + {%- for _admin_id in site.comments.gitalk.admin -%} + {%- assign _admin = _admin | append: ", '" | append: _admin_id | append: "'" -%} + {%- endfor -%} + {%- assign _last = _admin | size | minus: 1 -%} + {%- assign _admin = _admin | slice: 2, _last -%} + + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/comments-providers/valine.html b/docs/gh-pages/_includes/comments-providers/valine.html new file mode 100644 index 0000000000..abe627ce64 --- /dev/null +++ b/docs/gh-pages/_includes/comments-providers/valine.html @@ -0,0 +1,33 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + +{%- assign _VALINE_APP_ID = site.comments.valine.app_id -%} +{%- assign _VALINE_APP_KEY = site.comments.valine.app_key -%} +{%- assign _VALINE_PLACEHOLDER = site.comments.valine.placeholder -%} + + +{%- if page.key and + _VALINE_APP_ID and + _VALINE_APP_KEY -%} + +
+ + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/comments.html b/docs/gh-pages/_includes/comments.html new file mode 100644 index 0000000000..41518c6c07 --- /dev/null +++ b/docs/gh-pages/_includes/comments.html @@ -0,0 +1,11 @@ +{%- if jekyll.environment != 'development' -%} + {%- if site.comments.provider == 'disqus' -%} + {%- include comments-providers/disqus.html -%} + {%- elsif site.comments.provider == 'gitalk' -%} + {%- include comments-providers/gitalk.html -%} + {%- elsif site.comments.provider == 'valine' -%} + {%- include comments-providers/valine.html -%} + {%- elsif site.comments.provider == 'custom' -%} + {%- include comments-providers/custom.html -%} + {%- endif -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/bilibili.html b/docs/gh-pages/_includes/extensions/bilibili.html new file mode 100644 index 0000000000..c97ea5baee --- /dev/null +++ b/docs/gh-pages/_includes/extensions/bilibili.html @@ -0,0 +1,5 @@ +
+ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/codepen.html b/docs/gh-pages/_includes/extensions/codepen.html new file mode 100644 index 0000000000..8211dbcfd5 --- /dev/null +++ b/docs/gh-pages/_includes/extensions/codepen.html @@ -0,0 +1,4 @@ +
+ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/netease-cloud-music.html b/docs/gh-pages/_includes/extensions/netease-cloud-music.html new file mode 100644 index 0000000000..74e32906e0 --- /dev/null +++ b/docs/gh-pages/_includes/extensions/netease-cloud-music.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/slideshare.html b/docs/gh-pages/_includes/extensions/slideshare.html new file mode 100644 index 0000000000..90c09d1a56 --- /dev/null +++ b/docs/gh-pages/_includes/extensions/slideshare.html @@ -0,0 +1,6 @@ +
+ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/soundcloud.html b/docs/gh-pages/_includes/extensions/soundcloud.html new file mode 100644 index 0000000000..b4e086bcdc --- /dev/null +++ b/docs/gh-pages/_includes/extensions/soundcloud.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/ted.html b/docs/gh-pages/_includes/extensions/ted.html new file mode 100644 index 0000000000..f66c268207 --- /dev/null +++ b/docs/gh-pages/_includes/extensions/ted.html @@ -0,0 +1,5 @@ +
+ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/extensions/youtube.html b/docs/gh-pages/_includes/extensions/youtube.html new file mode 100644 index 0000000000..575eee6549 --- /dev/null +++ b/docs/gh-pages/_includes/extensions/youtube.html @@ -0,0 +1,4 @@ +
+ +
\ No newline at end of file diff --git a/docs/gh-pages/_includes/figure.html b/docs/gh-pages/_includes/figure.html new file mode 100644 index 0000000000..3f7d7d347c --- /dev/null +++ b/docs/gh-pages/_includes/figure.html @@ -0,0 +1,15 @@ +
+
+ {{ include.caption }} +
+ Figure {{ include.index }}. {{ include.caption }} +
+
+
diff --git a/docs/gh-pages/_includes/footer.html b/docs/gh-pages/_includes/footer.html new file mode 100644 index 0000000000..145cbd5cdc --- /dev/null +++ b/docs/gh-pages/_includes/footer.html @@ -0,0 +1,37 @@ + +
+
+ + {%- assign _site_author = site.author -%} + {%- if _site_author.type == 'organization' -%} + {%- assign _site_author_itemtype = 'http://schema.org/Organization' -%} + {%- else -%} + {%- assign _site_author_itemtype = 'http://schema.org/Person' -%} + {%- endif -%} + +
+ + {%- assign _site_author_url = _site_author.url | default: '/'-%} + {%- include snippets/get-nav-url.html path=_site_author_url -%} + {%- assign _site_author_url = __return -%} + + {%- if _site_author.bio -%} + + {%- endif -%} + +
+ {%- include snippets/get-locale-string.html key='COPYRIGHT_DATES' -%} + {%- assign _locale_copyright_dates = __return -%} +
+
+ {%- include snippets/get-locale-string.html key='COPYRIGHT_DATES' -%} + {%- assign _locale_copyright_dates = __return -%} + © {{ site.title }} {{ _locale_copyright_dates }}, + Powered by Jekyll & TeXt Theme. +
+
+
+
\ No newline at end of file diff --git a/docs/gh-pages/_includes/head.html b/docs/gh-pages/_includes/head.html new file mode 100644 index 0000000000..35a3b193e9 --- /dev/null +++ b/docs/gh-pages/_includes/head.html @@ -0,0 +1,24 @@ + + + + +{%- include snippets/get-article-title.html article=page -%} +{%- if __return -%}{{ __return }} - {{ site.title }}{%- else -%}{{ site.title }}{%- endif -%} + + + + +{%- assign _paths_rss = site.paths.rss | default: site.data.variables.default.paths.rss -%} +{%- include snippets/get-nav-url.html path=_paths_rss -%} + + +{%- include head/favicon.html -%} + +{%- include snippets/prepend-baseurl.html path='/assets/css/main.css' -%} + + +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + + +{%- include head/custom.html -%} diff --git a/docs/gh-pages/_includes/head/custom.html b/docs/gh-pages/_includes/head/custom.html new file mode 100644 index 0000000000..34edc85d4e --- /dev/null +++ b/docs/gh-pages/_includes/head/custom.html @@ -0,0 +1,7 @@ + + + diff --git a/docs/gh-pages/_includes/head/favicon.html b/docs/gh-pages/_includes/head/favicon.html new file mode 100644 index 0000000000..269ffef8e4 --- /dev/null +++ b/docs/gh-pages/_includes/head/favicon.html @@ -0,0 +1,26 @@ + +{%- include snippets/prepend-baseurl.html path='/assets/apple-touch-icon.png' -%} + + +{%- include snippets/prepend-baseurl.html path='/assets/favicon-32x32.png' -%} + + +{%- include snippets/prepend-baseurl.html path='/assets/favicon-16x16.png' -%} + + +{%- include snippets/prepend-baseurl.html path='/assets/site.webmanifest' -%} + + +{%- include snippets/prepend-baseurl.html path='/assets/safari-pinned-tab.svg' -%} + + +{%- include snippets/prepend-baseurl.html path='/assets/favicon.ico' -%} + + + + +{%- include snippets/prepend-baseurl.html path='/assets/browserconfig.xml' -%} + + + + diff --git a/docs/gh-pages/_includes/header.html b/docs/gh-pages/_includes/header.html new file mode 100644 index 0000000000..9836b4e6e3 --- /dev/null +++ b/docs/gh-pages/_includes/header.html @@ -0,0 +1,46 @@ +{%- if include.theme == 'dark' -%} +
+{%- elsif include.theme == 'light' -%} +
+{%- else -%} +
+{%- endif -%} +
+
+
+ {%- include svg/logo.svg -%} + {%- assign _paths_root = site.paths.root | default: site.data.variables.default.paths.root -%} + {%- include snippets/get-nav-url.html path=_paths_root -%} + {%- if site.title -%} + {{ site.title }} + {%- endif -%} +
+ {%- if site.search.provider -%} + + {%- endif -%} +
+ {%- if site.data.navigation.header -%} + + {%- endif -%} +
+
diff --git a/docs/gh-pages/_includes/known-issue-box.html b/docs/gh-pages/_includes/known-issue-box.html new file mode 100644 index 0000000000..489f14eb90 --- /dev/null +++ b/docs/gh-pages/_includes/known-issue-box.html @@ -0,0 +1,2 @@ +**[Known issue #{{include.issue-id}}](https://github.com/google/ExoPlayer/issues/{{include.issue-id}})** - {{ include.description }} +{:.error} diff --git a/docs/gh-pages/_includes/main/bottom/custom.html b/docs/gh-pages/_includes/main/bottom/custom.html new file mode 100644 index 0000000000..079310cf42 --- /dev/null +++ b/docs/gh-pages/_includes/main/bottom/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/main/top/custom.html b/docs/gh-pages/_includes/main/top/custom.html new file mode 100644 index 0000000000..5b6bf8a84c --- /dev/null +++ b/docs/gh-pages/_includes/main/top/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/markdown-enhancements.html b/docs/gh-pages/_includes/markdown-enhancements.html new file mode 100644 index 0000000000..f81824ae04 --- /dev/null +++ b/docs/gh-pages/_includes/markdown-enhancements.html @@ -0,0 +1,17 @@ +{%- include snippets/assign.html target=site.data.variables.default.chart + source0=site.chart source1=page.chart -%} +{%- if __return == true -%} + {%- include markdown-enhancements/chart.html -%} +{%- endif -%} + +{%- include snippets/assign.html target=site.data.variables.default.mathjax + source0=site.mathjax source1=page.mathjax -%} +{%- if __return == true -%} + {%- include markdown-enhancements/mathjax.html -%} +{%- endif -%} + +{%- include snippets/assign.html target=site.data.variables.default.mermaid + source0=site.mermaid source1=page.mermaid -%} +{%- if __return == true -%} + {%- include markdown-enhancements/mermaid.html -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/markdown-enhancements/chart.html b/docs/gh-pages/_includes/markdown-enhancements/chart.html new file mode 100644 index 0000000000..03a879519a --- /dev/null +++ b/docs/gh-pages/_includes/markdown-enhancements/chart.html @@ -0,0 +1,15 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + \ No newline at end of file diff --git a/docs/gh-pages/_includes/markdown-enhancements/mathjax.html b/docs/gh-pages/_includes/markdown-enhancements/mathjax.html new file mode 100644 index 0000000000..6f438464d6 --- /dev/null +++ b/docs/gh-pages/_includes/markdown-enhancements/mathjax.html @@ -0,0 +1,17 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + +{%- include snippets/assign.html target=site.data.variables.default.mathjax_autoNumber + source0=site.mathjax_autoNumber source1=page.mathjax_autoNumber -%} +{%- assign _mathjax_autoNumber = __return -%} + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/markdown-enhancements/mermaid.html b/docs/gh-pages/_includes/markdown-enhancements/mermaid.html new file mode 100644 index 0000000000..31e442888b --- /dev/null +++ b/docs/gh-pages/_includes/markdown-enhancements/mermaid.html @@ -0,0 +1,10 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + \ No newline at end of file diff --git a/docs/gh-pages/_includes/pageview-providers/custom/home.html b/docs/gh-pages/_includes/pageview-providers/custom/home.html new file mode 100644 index 0000000000..9af42a07c5 --- /dev/null +++ b/docs/gh-pages/_includes/pageview-providers/custom/home.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/pageview-providers/custom/post.html b/docs/gh-pages/_includes/pageview-providers/custom/post.html new file mode 100644 index 0000000000..c9d0f0437e --- /dev/null +++ b/docs/gh-pages/_includes/pageview-providers/custom/post.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/pageview-providers/leancloud/home.html b/docs/gh-pages/_includes/pageview-providers/leancloud/home.html new file mode 100644 index 0000000000..5dc99b7c21 --- /dev/null +++ b/docs/gh-pages/_includes/pageview-providers/leancloud/home.html @@ -0,0 +1,35 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + +{%- assign _LEANCLOUD_APP_ID = site.pageview.leancloud.app_id -%} +{%- assign _LEANCLOUD_APP_KEY = site.pageview.leancloud.app_key -%} +{%- assign _LEANCLOUD_APP_CLASS = site.pageview.leancloud.app_class -%} + +{%- if _LEANCLOUD_APP_ID and + _LEANCLOUD_APP_KEY and + _LEANCLOUD_APP_CLASS -%} + + + + +{%- endif -%} + + + diff --git a/docs/gh-pages/_includes/pageview-providers/leancloud/leancloud.js b/docs/gh-pages/_includes/pageview-providers/leancloud/leancloud.js new file mode 100644 index 0000000000..0aa86ac620 --- /dev/null +++ b/docs/gh-pages/_includes/pageview-providers/leancloud/leancloud.js @@ -0,0 +1,71 @@ +(function() { + function errorHandler(error, callback) { + if (error) { + callback && callback(error); + throw error; + } + } + + function pageview(_AV ,options) { + var AV = _AV; + var appId, appKey, appClass; + appId = options.appId; + appKey = options.appKey; + appClass = options.appClass; + AV.init({ + appId: appId, + appKey: appKey + }); + return { + get: get, + increase: increase + }; + + function searchKey(key) { + var query = new AV.Query(appClass); + query.equalTo('key', key); + return query.first(); + } + + function insert(key, title) { + var Blog = AV.Object.extend(appClass); + var blog = new Blog(); + blog.set('title', title); + blog.set('key', key); + blog.set('views', 0); + return blog.save(); + } + + function increment(result) { + result.increment('views', 1); + return result.save(null, { + fetchWhenSave: true + }); + } + + function get(key, callback) { + searchKey(key).then(function(result) { + if (result) { + callback && callback(result.attributes.views); + } + }, errorHandler); + } + + function increase(key, title, callback) { + searchKey(key).then(function(result) { + if (result) { + increment(result).then(function(result) { + callback && callback(result.attributes.views); + }); + } else { + insert(key, title).then(function(result) { + increment(result).then(function(result) { + callback && callback(result.attributes.views); + }); + }, errorHandler); + } + }, errorHandler); + } + } + window.pageview = pageview; +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/pageview-providers/leancloud/post.html b/docs/gh-pages/_includes/pageview-providers/leancloud/post.html new file mode 100644 index 0000000000..dc1301c049 --- /dev/null +++ b/docs/gh-pages/_includes/pageview-providers/leancloud/post.html @@ -0,0 +1,31 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + +{%- assign _LEANCLOUD_APP_ID = site.pageview.leancloud.app_id -%} +{%- assign _LEANCLOUD_APP_KEY = site.pageview.leancloud.app_key -%} +{%- assign _LEANCLOUD_APP_CLASS = site.pageview.leancloud.app_class -%} + +{%- if page.key and + _LEANCLOUD_APP_ID and + _LEANCLOUD_APP_KEY and + _LEANCLOUD_APP_CLASS -%} + + + + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/pageview.html b/docs/gh-pages/_includes/pageview.html new file mode 100644 index 0000000000..bb31b158f9 --- /dev/null +++ b/docs/gh-pages/_includes/pageview.html @@ -0,0 +1,29 @@ +{%- include snippets/assign.html target=site.data.variables.default.pageview source0=page.pageview -%} +{%- assign _pageview = __return -%} + + +{%- if page.layout == "home" -%} + + {%- if jekyll.environment != "development" -%} + {%- if site.pageview.provider == 'leancloud' -%} + {%- include pageview-providers/leancloud/home.html -%} + {%- elsif site.pageview.provider == 'custom' -%} + {%- include pageview-providers/custom/home.html -%} + {%- endif -%} + {%- endif -%} + + +{%- elsif page.layout == "article" -%} + {%- if _pageview -%} + + {%- if jekyll.environment != "development" and + jekyll.environment != "beta" -%} + {%- if site.pageview.provider == 'leancloud' -%} + {%- include pageview-providers/leancloud/post.html -%} + {%- elsif site.pageview.provider == 'custom' -%} + {%- include pageview-providers/custom/post.html -%} + {%- endif -%} + {%- endif -%} + + {%- endif -%} +{%- endif -%} diff --git a/docs/gh-pages/_includes/paginator.html b/docs/gh-pages/_includes/paginator.html new file mode 100644 index 0000000000..8e5e2bf6b6 --- /dev/null +++ b/docs/gh-pages/_includes/paginator.html @@ -0,0 +1,98 @@ +{%- if paginator.total_pages > 1 -%} + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/archieve.js b/docs/gh-pages/_includes/scripts/archieve.js new file mode 100644 index 0000000000..96549b5b57 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/archieve.js @@ -0,0 +1,135 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + function queryString() { + // This function is anonymous, is executed immediately and + // the return value is assigned to QueryString! + var i = 0, queryObj = {}, pair; + var queryStr = window.location.search.substring(1); + var queryArr = queryStr.split('&'); + for (i = 0; i < queryArr.length; i++) { + pair = queryArr[i].split('='); + // If first entry with this name + if (typeof queryObj[pair[0]] === 'undefined') { + queryObj[pair[0]] = pair[1]; + // If second entry with this name + } else if (typeof queryObj[pair[0]] === 'string') { + queryObj[pair[0]] = [queryObj[pair[0]], pair[1]]; + // If third or later entry with this name + } else { + queryObj[pair[0]].push(pair[1]); + } + } + return queryObj; + } + + var setUrlQuery = (function() { + var baseUrl = window.location.href.split('?')[0]; + return function(query) { + if (typeof query === 'string') { + window.history.replaceState(null, '', baseUrl + query); + } else { + window.history.replaceState(null, '', baseUrl); + } + }; + })(); + + window.Lazyload.js(SOURCES.jquery, function() { + var $tags = $('.js-tags'); + var $articleTags = $tags.find('button'); + var $tagShowAll = $tags.find('.tag-button--all'); + var $result = $('.js-result'); + var $sections = $result.find('section'); + var sectionArticles = []; + var $lastFocusButton = null; + var sectionTopArticleIndex = []; + var hasInit = false; + + $sections.each(function() { + sectionArticles.push($(this).find('.item')); + }); + + function init() { + var i, index = 0; + for (i = 0; i < $sections.length; i++) { + sectionTopArticleIndex.push(index); + index += $sections.eq(i).find('.item').length; + } + sectionTopArticleIndex.push(index); + } + + function searchButtonsByTag(_tag/*raw tag*/) { + if (!_tag) { + return $tagShowAll; + } + var _buttons = $articleTags.filter('[data-encode="' + _tag + '"]'); + if (_buttons.length === 0) { + return $tagShowAll; + } + return _buttons; + } + function buttonFocus(target) { + if (target) { + target.addClass('focus'); + $lastFocusButton && !$lastFocusButton.is(target) && $lastFocusButton.removeClass('focus'); + $lastFocusButton = target; + } + } + + function tagSelect (tag/*raw tag*/, target) { + var result = {}, $articles; + var i, j, k, _tag; + + for (i = 0; i < sectionArticles.length; i++) { + $articles = sectionArticles[i]; + for (j = 0; j < $articles.length; j++) { + if (tag === '' || tag === undefined) { + result[i] || (result[i] = {}); + result[i][j] = true; + } else { + var tags = $articles.eq(j).data('tags').split(','); + for (k = 0; k < tags.length; k++) { + if (tags[k] === tag) { + result[i] || (result[i] = {}); + result[i][j] = true; break; + } + } + } + } + } + + for (i = 0; i < sectionArticles.length; i++) { + result[i] && $sections.eq(i).removeClass('d-none'); + result[i] || $sections.eq(i).addClass('d-none'); + for (j = 0; j < sectionArticles[i].length; j++) { + if (result[i] && result[i][j]) { + sectionArticles[i].eq(j).removeClass('d-none'); + } else { + sectionArticles[i].eq(j).addClass('d-none'); + } + } + } + + hasInit || ($result.removeClass('d-none'), hasInit = true); + + + if (target) { + buttonFocus(target); + _tag = target.attr('data-encode'); + if (_tag === '' || typeof _tag !== 'string') { + setUrlQuery(); + } else { + setUrlQuery('?tag=' + _tag); + } + } else { + buttonFocus(searchButtonsByTag(tag)); + } + } + + var query = queryString(), _tag = query.tag; + init(); tagSelect(_tag); + $tags.on('click', 'button', function() { + tagSelect($(this).data('encode'), $(this)); + }); + + }); +})(); diff --git a/docs/gh-pages/_includes/scripts/article.js b/docs/gh-pages/_includes/scripts/article.js new file mode 100644 index 0000000000..466ce73c55 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/article.js @@ -0,0 +1,24 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + $(function() { + var $this ,$scroll; + var $articleContent = $('.js-article-content'); + var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); + var scroll = hasSidebar ? '.js-page-main' : 'html, body'; + $scroll = $(scroll); + + $articleContent.find('.highlight').each(function() { + $this = $(this); + $this.attr('data-lang', $this.find('code').attr('data-lang')); + }); + $articleContent.find('h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]').each(function() { + $this = $(this); + $this.append($('').html('')); + }); + $articleContent.on('click', '.anchor', function() { + $scroll.scrollToAnchor('#' + $(this).parent().attr('id'), 400); + }); + }); + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/aside/affix.js b/docs/gh-pages/_includes/scripts/aside/affix.js new file mode 100644 index 0000000000..5af2930a46 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/aside/affix.js @@ -0,0 +1,26 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + var $window = $(window), $pageFooter = $('.js-page-footer'); + var $pageAside = $('.js-page-aside'); + var affix; + var tocDisabled = false; + var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); + + affix = $pageAside.affix({ + offsetBottom: $pageFooter.outerHeight(), + scrollTarget: hasSidebar ? '.js-page-main' : null, + scroller: hasSidebar ? '.js-page-main' : null, + scroll: hasSidebar ? $('.js-page-main').children() : null, + disabled: tocDisabled + }); + + $window.on('resize', window.throttle(function() { + affix && affix.setOptions({ + disabled: tocDisabled + }); + }, 100)); + + window.pageAsideAffix = affix; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/aside/toc.js b/docs/gh-pages/_includes/scripts/aside/toc.js new file mode 100644 index 0000000000..b8f08f0690 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/aside/toc.js @@ -0,0 +1,35 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + var TOC_SELECTOR = window.TEXT_VARIABLES.site.toc.selectors; + window.Lazyload.js(SOURCES.jquery, function() { + var $window = $(window); + var $articleContent = $('.js-article-content'); + var $tocRoot = $('.js-toc-root'), $col2 = $('.js-col-aside'); + var toc; + var tocDisabled = false; + var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); + var hasToc = $articleContent.find(TOC_SELECTOR).length > 0; + + function disabled() { + return $col2.css('display') === 'none' || !hasToc; + } + + tocDisabled = disabled(); + + toc = $tocRoot.toc({ + selectors: TOC_SELECTOR, + container: $articleContent, + scrollTarget: hasSidebar ? '.js-page-main' : null, + scroller: hasSidebar ? '.js-page-main' : null, + disabled: tocDisabled + }); + + $window.on('resize', window.throttle(function() { + tocDisabled = disabled(); + toc && toc.setOptions({ + disabled: tocDisabled + }); + }, 100)); + + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/common.js b/docs/gh-pages/_includes/scripts/common.js new file mode 100644 index 0000000000..2179f4e888 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/common.js @@ -0,0 +1,7 @@ +(function () { + var $root = document.getElementsByClassName('root')[0]; + if (window.hasEvent('touchstart')) { + $root.dataset.isTouch = true; + document.addEventListener('touchstart', function(){}, false); + } +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/components/lightbox.js b/docs/gh-pages/_includes/scripts/components/lightbox.js new file mode 100644 index 0000000000..f7fe7b792a --- /dev/null +++ b/docs/gh-pages/_includes/scripts/components/lightbox.js @@ -0,0 +1,49 @@ +{%- include scripts/utils/imagesLoad.js -%} +(function () { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + var $pageGalleryModal = $('.js-page-gallery-modal'); + var $images = $('.page__content').find('img:not(.lightbox-ignore)'); + window.imagesLoad($images).then(function() { + /* global Gallery */ + var pageGalleryModal = $pageGalleryModal.modal({ onChange: handleModalChange }); + var gallery = null; + var modalVisible = false; + var i, items = [], image, item; + if($images && $images.length > 0) { + for (i = 0; i < $images.length; i++) { + image = $images.eq(i); + if (image.get(0).naturalWidth > 800) { + items.push({ src: image.attr('src'), w: image.get(0).naturalWidth, h: image.get(0).naturalHeight, $el: image}); + } + } + } + + if(items.length > 0) { + gallery = new Gallery('.gallery', items); + gallery.setOptions({ disabled: !modalVisible }); + gallery.init(); + for (i = 0; i < items.length; i++) { + item = items[i]; + item.$el && (item.$el.addClass('popup-image'), item.$el.on('click', (function() { + var index = i; + return function() { + pageGalleryModal.show(); + gallery.setOptions({ initialSlide: index }); + gallery.refresh(true, { animation: false }); + }; + })())); + } + } + + function handleModalChange(visible) { + modalVisible = visible; + gallery && gallery.setOptions({ disabled: !modalVisible }); + } + + $pageGalleryModal.on('click', function() { + pageGalleryModal.hide(); + }); + }); + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/components/search.js b/docs/gh-pages/_includes/scripts/components/search.js new file mode 100644 index 0000000000..e1c8c27884 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/components/search.js @@ -0,0 +1,86 @@ + +(function () { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + // search panel + var search = (window.search || (window.search = {})); + var useDefaultSearchBox = window.useDefaultSearchBox === undefined ? + true : window.useDefaultSearchBox ; + + var $searchModal = $('.js-page-search-modal'); + var $searchToggle = $('.js-search-toggle'); + var searchModal = $searchModal.modal({ onChange: handleModalChange, hideWhenWindowScroll: true }); + var modalVisible = false; + search.searchModal = searchModal; + + var $searchBox = null; + var $searchInput = null; + var $searchClear = null; + + function getModalVisible() { + return modalVisible; + } + search.getModalVisible = getModalVisible; + + function handleModalChange(visible) { + modalVisible = visible; + if (visible) { + search.onShow && search.onShow(); + useDefaultSearchBox && $searchInput[0] && $searchInput[0].focus(); + } else { + search.onShow && search.onHide(); + useDefaultSearchBox && $searchInput[0] && $searchInput[0].blur(); + setTimeout(function() { + useDefaultSearchBox && ($searchInput.val(''), $searchBox.removeClass('not-empty')); + search.clear && search.clear(); + window.pageAsideAffix && window.pageAsideAffix.refresh(); + }, 400); + } + } + + $searchToggle.on('click', function() { + modalVisible ? searchModal.hide() : searchModal.show(); + }); + // Char Code: 83 S, 191 / + $(window).on('keyup', function(e) { + if (!modalVisible && !window.isFormElement(e.target || e.srcElement) && (e.which === 83 || e.which === 191)) { + modalVisible || searchModal.show(); + } + }); + + if (useDefaultSearchBox) { + $searchBox = $('.js-search-box'); + $searchInput = $searchBox.children('input'); + $searchClear = $searchBox.children('.js-icon-clear'); + search.getSearchInput = function() { + return $searchInput.get(0); + }; + search.getVal = function() { + return $searchInput.val(); + }; + search.setVal = function(val) { + $searchInput.val(val); + }; + + $searchInput.on('focus', function() { + $(this).addClass('focus'); + }); + $searchInput.on('blur', function() { + $(this).removeClass('focus'); + }); + $searchInput.on('input', window.throttle(function() { + var val = $(this).val(); + if (val === '' || typeof val !== 'string') { + search.clear && search.clear(); + } else { + $searchBox.addClass('not-empty'); + search.onInputNotEmpty && search.onInputNotEmpty(val); + } + }, 400)); + $searchClear.on('click', function() { + $searchInput.val(''); $searchBox.removeClass('not-empty'); + search.clear && search.clear(); + }); + } + }); +})(); diff --git a/docs/gh-pages/_includes/scripts/components/sidebar.js b/docs/gh-pages/_includes/scripts/components/sidebar.js new file mode 100644 index 0000000000..47a84d2716 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/components/sidebar.js @@ -0,0 +1,31 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + + window.Lazyload.js(SOURCES.jquery, function() { + var $pageMask = $('.js-page-mask'); + var $pageRoot = $('.js-page-root'); + var $pageMain = $('.js-page-main'); + var $sidebarShow = $('.js-sidebar-show'); + var $sidebarHide = $('.js-sidebar-hide'); + + function freeze(e) { + if (e.target === $pageMask[0]) { + e.preventDefault(); + } + } + function stopBodyScrolling(bool) { + if (bool === true) { + window.addEventListener('touchmove', freeze, { passive: false }); + } else { + window.removeEventListener('touchmove', freeze, { passive: false }); + } + } + + $sidebarShow.on('click', function() { + stopBodyScrolling(true); $pageRoot.addClass('show-sidebar'); + }); + $sidebarHide.on('click', function() { + stopBodyScrolling(false); $pageRoot.removeClass('show-sidebar'); + }); + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/home.js b/docs/gh-pages/_includes/scripts/home.js new file mode 100644 index 0000000000..28de85359c --- /dev/null +++ b/docs/gh-pages/_includes/scripts/home.js @@ -0,0 +1,3 @@ +/*(function () { + +})();*/ \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/affix.js b/docs/gh-pages/_includes/scripts/lib/affix.js new file mode 100644 index 0000000000..87c1e8f76d --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/affix.js @@ -0,0 +1,111 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + function affix(options) { + var $root = this, $window = $(window), $scrollTarget, $scroll, + offsetBottom = 0, scrollTarget = window, scroll = window.document, disabled = false, isOverallScroller = true, + rootTop, rootLeft, rootHeight, scrollBottom, rootBottomTop, + hasInit = false, curState; + + function setOptions(options) { + var _options = options || {}; + _options.offsetBottom && (offsetBottom = _options.offsetBottom); + _options.scrollTarget && (scrollTarget = _options.scrollTarget); + _options.scroll && (scroll = _options.scroll); + _options.disabled !== undefined && (disabled = _options.disabled); + $scrollTarget = $(scrollTarget); + isOverallScroller = window.isOverallScroller($scrollTarget[0]); + $scroll = $(scroll); + } + function preCalc() { + top(); + rootHeight = $root.outerHeight(); + rootTop = $root.offset().top + (isOverallScroller ? 0 : $scrollTarget.scrollTop()); + rootLeft = $root.offset().left; + } + function calc(needPreCalc) { + needPreCalc && preCalc(); + scrollBottom = $scroll.outerHeight() - offsetBottom - rootHeight; + rootBottomTop = scrollBottom - rootTop; + } + function top() { + if (curState !== 'top') { + $root.removeClass('fixed').css({ + left: 0, + top: 0 + }); + curState = 'top'; + } + } + function fixed() { + if (curState !== 'fixed') { + $root.addClass('fixed').css({ + left: rootLeft + 'px', + top: 0 + }); + curState = 'fixed'; + } + } + function bottom() { + if (curState !== 'bottom') { + $root.removeClass('fixed').css({ + left: 0, + top: rootBottomTop + 'px' + }); + curState = 'bottom'; + } + } + function setState() { + var scrollTop = $scrollTarget.scrollTop(); + if (scrollTop >= rootTop && scrollTop <= scrollBottom) { + fixed(); + } else if (scrollTop < rootTop) { + top(); + } else { + bottom(); + } + } + function init() { + if(!hasInit) { + var interval, timeout; + calc(true); setState(); + // run calc every 100 millisecond + interval = setInterval(function() { + calc(); + }, 100); + timeout = setTimeout(function() { + clearInterval(interval); + }, 45000); + window.pageLoad.then(function() { + setTimeout(function() { + clearInterval(interval); + clearTimeout(timeout); + }, 3000); + }); + $scrollTarget.on('scroll', function() { + disabled || setState(); + }); + $window.on('resize', function() { + disabled || (calc(true), setState()); + }); + hasInit = true; + } + } + + setOptions(options); + if (!disabled) { + init(); + } + $window.on('resize', window.throttle(function() { + init(); + }, 200)); + return { + setOptions: setOptions, + refresh: function() { + calc(true, { animation: false }); setState(); + } + }; + } + $.fn.affix = affix; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/gallery.js b/docs/gh-pages/_includes/scripts/lib/gallery.js new file mode 100644 index 0000000000..1793f040d1 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/gallery.js @@ -0,0 +1,192 @@ +(function() { + {%- include scripts/lib/swiper.js -%} + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + var template = + ''; + function setState($item, zoom, translate) { + $item.css('transform', 'scale(' + zoom + ') translate(' + translate.x + 'px,' + translate.y + 'px)'); + } + function Gallery(root, items) { + this.$root = $(root); + this.$swiper = null; + this.$swiperWrapper = null; + this.$activeItem = null; + this.$items = []; + this.contentWidth = 0; + this.contentHeight = 0; + this.swiper = null; + this.items = items; + this.disabled = false; + this.curIndex = 0; + this.touchCenter = null; + this.lastTouchCenter = null; + this.zoomRect = null; + this.lastZoomRect = null; + this.lastTranslate = null; + this.translate = null; + this.lastZoom = 1; + this.preZoom = 1; + this.zoom = 1; + } + Gallery.prototype.init = function() { + var i, item, items = this.items, size, self = this, touchstartFingerCount = 0; + this.$root.append(template); + this.$swiper = this.$root.find('.gallery__swiper'); + this.$swiperWrapper = this.$root.find('.swiper__wrapper'); + this.contentWidth = this.$swiperWrapper && this.$swiperWrapper.width(); + this.contentHeight = this.$swiperWrapper && this.$swiperWrapper.height(); + for (i = 0; i < items.length; i++) { + item = items[i]; + size = this._calculateImageSize(item.w, item.h); + this.$items.push($( + '
' + + '' + + '
' + )); + } + this.$swiperWrapper && this.$swiperWrapper.append(this.$items); + this.swiper = this.$swiper && this.$swiper.swiper({ + onChangeEnd: function() { + self._handleChangeEnd.apply(self, Array.prototype.slice.call(arguments)); + } + }); + $(window).on('resize', function() { + if (self.disabled) { return; } + self._resizeImageSize(); + }); + // Char Code: 37 ⬅, 39 ➡ + $(window).on('keyup', function(e) { + if (window.isFormElement(e.target || e.srcElement) || self.disabled) { return; } + if (e.which === 37) { + self.swiper && self.swiper.previous(); + } else if (e.which === 39) { + self.swiper && self.swiper.next(); + } + }); + function getRect(touch0, touch1) { + return { + o: { + x: (touch0.pageX + touch1.pageX) / 2, + y: (touch0.pageY + touch1.pageY) / 2 + }, + w: Math.abs(touch0.pageX - touch1.pageX), + h: Math.abs(touch0.pageY - touch1.pageY) + }; + } + function getTouches(e) { + return e.touches || e; + } + function getTouchesCount(e) { + if (e.touches) { + return e.touches.length; + } else { + return 1; + } + } + this.$swiperWrapper.on('touchstart', function(e) { + var touch0, touch1, rect; + touchstartFingerCount = getTouchesCount(e); + if (touchstartFingerCount > 1) { + touch0 = e.touches[0]; + touch1 = e.touches[1]; + rect = getRect(touch0, touch1); + self.lastZoomRect = { w: rect.w, h: rect.h }; + self.lastTouchCenter = rect.o; + } else { + var touch = getTouches(e)[0]; + self.lastTouchCenter = { x: touch.pageX, y: touch.pageY }; + } + }); + this.$swiperWrapper.on('touchmove', function(e) { + if (touchstartFingerCount === getTouchesCount(e)) { + if (touchstartFingerCount > 1) { + var touch0 = e.touches[0]; + var touch1 = e.touches[1]; + var rect = getRect(touch0, touch1); + self.zoomRect = { w: rect.w, h: rect.h }; + self.touchCenter = rect.o; + self._zoom(); self._translate(); + setState(self.$activeItem, self.zoom, self.translate); + } else { + var touch = getTouches(e)[0]; + self.touchCenter = { x: touch.pageX, y: touch.pageY }; + self._translate(); + setState(self.$activeItem, self.zoom, self.translate); + } + } + }); + this.$swiperWrapper.on('touchend', function(e) { + self.lastZoom = self.zoom; + self.lastTranslate = self.translate; + touchstartFingerCount = 0; + }); + this.$root.on('touchmove', function(e) { + if (self.disabled) { return; } + e.preventDefault(); + }); + }; + + Gallery.prototype._translate = function() { + this.translate = this.touchCenter && this.lastTouchCenter && this.lastTranslate ? { + x: (this.touchCenter.x - this.lastTouchCenter.x) / this.zoom + this.lastTranslate.x, + y: (this.touchCenter.y - this.lastTouchCenter.y) / this.zoom + this.lastTranslate.y + } : { x: 0, y: 0 }; + } + Gallery.prototype._zoom = function() { + this.zoom = (this.zoomRect.w + this.zoomRect.h) / (this.lastZoomRect.w + this.lastZoomRect.h) * this.lastZoom; + this.zoom > 1 ? this.$activeItem.addClass('zoom') : this.$activeItem.removeClass('zoom'); + this.preZoom = this.zoom; + } + + Gallery.prototype._calculateImageSize = function(w, h) { + var scale = 1; + if (this.contentWidth > 0 && this.contentHeight > 0 && w > 0 && h > 0) { + scale = Math.min( + Math.min(w, this.contentWidth) / w, + Math.min(h, this.contentHeight) / h); + } + return { w: Math.floor(w * scale), h: Math.floor(h * scale) }; + }; + + Gallery.prototype._resizeImageSize = function() { + var i, $item, $items = this.$items, item, size; + this.contentWidth = this.$swiperWrapper && this.$swiperWrapper.width(); + this.contentHeight = this.$swiperWrapper && this.$swiperWrapper.height(); + if ($items.length < 1) { return; } + for (i = 0; i < $items.length; i++) { + item = this.items[i], $item = $items[i]; + size = this._calculateImageSize(item.w, item.h); + item.width = size.w; item.height = size.h; + $item && $item.find('img').css({ width: size.w, height: size.h }); + } + }; + Gallery.prototype._handleChangeEnd = function(index, $dom, preIndex, $preDom) { + this.curIndex = index; + this.lastZoomRect = null; this.lastZoomRect = null; + this.lastTranslate = this.translate = { x: 0, y:0 }; + this.lastZoom = this.preZoom = this.zoom = 1; + this.$activeItem = $dom.find('.gallery-item__content'); + setState($preDom.find('.gallery-item__content'), this.zoom, this.translate); + }; + + Gallery.prototype.refresh = function() { + this.swiper && this.swiper.refresh(); + this._resizeImageSize(); + }; + Gallery.prototype.setOptions = function(options) { + this.disabled = options.disabled; + this.swiper && this.swiper.setOptions(options); + }; + window.Gallery = Gallery; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/lazyload.js b/docs/gh-pages/_includes/scripts/lib/lazyload.js new file mode 100644 index 0000000000..e8d7ade0e0 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/lazyload.js @@ -0,0 +1,143 @@ +(function() { + var Set = (function() { + var add = function(item) { + var i, data = this._data; + for (i = 0; i < data.length; i++) { + if (data[i] === item) { + return; + } + } + this.size ++; + data.push(item); + return data; + }; + + var Set = function(data) { + this.size = 0; + this._data = []; + var i; + if (data.length > 0) { + for (i = 0; i < data.length; i++) { + add.call(this, data[i]); + } + } + }; + Set.prototype.add = add; + Set.prototype.get = function(index) { return this._data[index]; }; + Set.prototype.has = function(item) { + var i, data = this._data; + for (i = 0; i < data.length; i++) { + if (this.get(i) === item) { + return true; + } + } + return false; + }; + Set.prototype.is = function(map) { + if (map._data.length !== this._data.length) { return false; } + var i, j, flag, tData = this._data, mData = map._data; + for (i = 0; i < tData.length; i++) { + for (flag = false, j = 0; j < mData.length; j++) { + if (tData[i] === mData[j]) { + flag = true; + break; + } + } + if (!flag) { return false; } + } + return true; + }; + Set.prototype.values = function() { + return this._data; + }; + return Set; + })(); + + window.Lazyload = (function(doc) { + var queue = {js: [], css: []}, sources = {js: {}, css: {}}, context = this; + var createNode = function(name, attrs) { + var node = doc.createElement(name), attr; + for (attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + node.setAttribute(attr, attrs[attr]); + } + } + return node; + }; + var end = function(type, url) { + var s, q, qi, cbs, i, j, cur, val, flag; + if (type === 'js' || type ==='css') { + s = sources[type], q = queue[type]; + s[url] = true; + for (i = 0; i < q.length; i++) { + cur = q[i]; + if (cur.urls.has(url)) { + qi = cur, val = qi.urls.values(); + qi && (cbs = qi.callbacks); + for (flag = true, j = 0; j < val.length; j++) { + cur = val[j]; + if (!s[cur]) { + flag = false; + } + } + if (flag && cbs && cbs.length > 0) { + for (j = 0; j < cbs.length; j++) { + cbs[j].call(context); + } + qi.load = true; + } + } + } + } + }; + var load = function(type, urls, callback) { + var s, q, qi, node, i, cur, + _urls = typeof urls === 'string' ? new Set([urls]) : new Set(urls), val, url; + if (type === 'js' || type ==='css') { + s = sources[type], q = queue[type]; + for (i = 0; i < q.length; i++) { + cur = q[i]; + if (_urls.is(cur.urls)) { + qi = cur; + break; + } + } + val = _urls.values(); + if (qi) { + callback && (qi.load || qi.callbacks.push(callback)); + callback && (qi.load && callback()); + } else { + q.push({ + urls: _urls, + callbacks: callback ? [callback] : [], + load: false + }); + for (i = 0; i < val.length; i++) { + node = null, url = val[i]; + if (s[url] === undefined) { + (type === 'js' ) && (node = createNode('script', { src: url })); + (type === 'css') && (node = createNode('link', { rel: 'stylesheet', href: url })); + if (node) { + node.onload = (function(type, url) { + return function() { + end(type, url); + }; + })(type, url); + (doc.head || doc.body).appendChild(node); + s[url] = false; + } + } + } + } + } + }; + return { + js: function(url, callback) { + load('js', url, callback); + }, + css: function(url, callback) { + load('css', url, callback); + } + }; + })(this.document); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/modal.js b/docs/gh-pages/_includes/scripts/lib/modal.js new file mode 100644 index 0000000000..f4999d03c1 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/modal.js @@ -0,0 +1,64 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + var $body = $('body'), $window = $(window); + var $pageRoot = $('.js-page-root'), $pageMain = $('.js-page-main'); + var activeCount = 0; + function modal(options) { + var $root = this, visible, onChange, hideWhenWindowScroll = false; + var scrollTop; + function setOptions(options) { + var _options = options || {}; + visible = _options.initialVisible === undefined ? false : show; + onChange = _options.onChange; + hideWhenWindowScroll = _options.hideWhenWindowScroll; + } + function init() { + setState(visible); + } + function setState(isShow) { + if (isShow === visible) { + return; + } + visible = isShow; + if (visible) { + activeCount++; + scrollTop = $(window).scrollTop() || $pageMain.scrollTop(); + $root.addClass('modal--show'); + $pageMain.scrollTop(scrollTop); + activeCount === 1 && ($pageRoot.addClass('show-modal'), $body.addClass('of-hidden')); + hideWhenWindowScroll && window.hasEvent('touchstart') && $window.on('scroll', hide); + $window.on('keyup', handleKeyup); + } else { + activeCount > 0 && activeCount--; + $root.removeClass('modal--show'); + $window.scrollTop(scrollTop); + activeCount === 0 && ($pageRoot.removeClass('show-modal'), $body.removeClass('of-hidden')); + hideWhenWindowScroll && window.hasEvent('touchstart') && $window.off('scroll', hide); + $window.off('keyup', handleKeyup); + } + onChange && onChange(visible); + } + function show() { + setState(true); + } + function hide() { + setState(false); + } + function handleKeyup(e) { + // Char Code: 27 ESC + if (e.which === 27) { + hide(); + } + } + setOptions(options); + init(); + return { + show: show, + hide: hide, + $el: $root + }; + } + $.fn.modal = modal; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/scroll-to.js b/docs/gh-pages/_includes/scripts/lib/scroll-to.js new file mode 100644 index 0000000000..5970aae708 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/scroll-to.js @@ -0,0 +1,13 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + function scrollToAnchor(anchor, duration, callback) { + var $root = this; + $root.animate({ scrollTop: $(anchor).position().top }, duration, function() { + window.history.replaceState(null, '', window.location.href.split('#')[0] + anchor); + callback && callback(); + }); + } + $.fn.scrollToAnchor = scrollToAnchor; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/swiper.js b/docs/gh-pages/_includes/scripts/lib/swiper.js new file mode 100644 index 0000000000..f72be30244 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/swiper.js @@ -0,0 +1,203 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + function swiper(options) { + var $window = $(window), $root = this, $swiperWrapper, $swiperSlides, $swiperButtonPrev, $swiperButtonNext, + initialSlide, animation, onChange, onChangeEnd, + rootWidth, count, preIndex, curIndex, translateX, CRITICAL_ANGLE = Math.PI / 3; + + function setOptions(options) { + var _options = options || {}; + initialSlide = _options.initialSlide || 0; + animation = _options.animation === undefined && true; + onChange = onChange || _options.onChange; + onChangeEnd = onChangeEnd || _options.onChangeEnd; + } + + function init() { + $swiperWrapper = $root.find('.swiper__wrapper'); + $swiperSlides = $root.find('.swiper__slide'); + $swiperButtonPrev = $root.find('.swiper__button--prev'); + $swiperButtonNext = $root.find('.swiper__button--next'); + animation && $swiperWrapper.addClass('swiper__wrapper--animation'); + calc(true); + } + + function preCalc() { + rootWidth = $root.width(); + count = $swiperWrapper.children('.swiper__slide').length; + if (count < 2) { + $swiperButtonPrev.addClass('d-none'); + $swiperButtonNext.addClass('d-none'); + } + curIndex = initialSlide || 0; + translateX = getTranslateXFromCurIndex(); + } + + var calc = (function() { + var preAnimation, $swiperSlide, $preSwiperSlide; + return function (needPreCalc, params) { + needPreCalc && preCalc(); + var _animation = (params && params.animation !== undefined) ? params.animation : animation; + if (preAnimation === undefined || preAnimation !== _animation) { + preAnimation = _animation ? $swiperWrapper.addClass('swiper__wrapper--animation') : + $swiperWrapper.removeClass('swiper__wrapper--animation'); + } + if (preIndex !== curIndex) { + ($preSwiperSlide = $swiperSlides.eq(preIndex)).removeClass('active'); + ($swiperSlide = $swiperSlides.eq(curIndex)).addClass('active'); + onChange && onChange(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide); + if (onChangeEnd) { + if (_animation) { + setTimeout(function() { + onChangeEnd(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide); + }, 400); + } else { + onChangeEnd(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide); + } + } + preIndex = curIndex; + } + $swiperWrapper.css('transform', 'translate(' + translateX + 'px, 0)'); + if (count > 1) { + if (curIndex <= 0) { + $swiperButtonPrev.addClass('disabled'); + } else { + $swiperButtonPrev.removeClass('disabled'); + } + if (curIndex >= count - 1) { + $swiperButtonNext.addClass('disabled'); + } else { + $swiperButtonNext.removeClass('disabled'); + } + } + }; + })(); + + function getTranslateXFromCurIndex() { + return curIndex <= 0 ? 0 : - rootWidth * curIndex; + } + + function moveToIndex(index ,params) { + preIndex = curIndex; + curIndex = index; + translateX = getTranslateXFromCurIndex(); + calc(false, params); + } + + function move(type) { + var nextIndex = curIndex, unstableTranslateX; + if (type === 'prev') { + nextIndex > 0 && nextIndex--; + } else if (type === 'next') { + nextIndex < count - 1 && nextIndex++; + } + if (type === 'cur') { + moveToIndex(curIndex, { animation: true }); + return; + } + unstableTranslateX = translateX % rootWidth !== 0; + if (nextIndex !== curIndex || unstableTranslateX) { + unstableTranslateX ? moveToIndex(nextIndex, { animation: true }) : moveToIndex(nextIndex); + } + } + + setOptions(options); + init(); + preIndex = curIndex; + + $swiperButtonPrev.on('click', function(e) { + e.stopPropagation(); + move('prev'); + }); + $swiperButtonNext.on('click', function(e) { + e.stopPropagation(); + move('next'); + }); + $window.on('resize', function() { + calc(true, { animation: false }); + }); + + (function() { + var pageX, pageY, velocityX, preTranslateX = translateX, timeStamp, touching; + function handleTouchstart(e) { + var point = e.touches ? e.touches[0] : e; + pageX = point.pageX; + pageY = point.pageY; + velocityX = 0; + preTranslateX = translateX; + } + function handleTouchmove(e) { + if (e.touches && e.touches.length > 1) { + return; + } + var point = e.touches ? e.touches[0] : e; + var deltaX = point.pageX - pageX; + var deltaY = point.pageY - pageY; + velocityX = deltaX / (e.timeStamp - timeStamp); + timeStamp = e.timeStamp; + if (e.cancelable && Math.abs(Math.atan(deltaY / deltaX)) < CRITICAL_ANGLE) { + touching = true; + translateX += deltaX; + calc(false, { animation: false }); + } + pageX = point.pageX; + pageY = point.pageY; + } + function handleTouchend() { + touching = false; + var deltaX = translateX - preTranslateX; + var distance = deltaX + velocityX * rootWidth; + if (Math.abs(distance) > rootWidth / 2) { + distance > 0 ? move('prev') : move('next'); + } else { + move('cur'); + } + } + $swiperWrapper.on('touchstart', handleTouchstart); + $swiperWrapper.on('touchmove', handleTouchmove); + $swiperWrapper.on('touchend', handleTouchend); + $swiperWrapper.on('touchcancel', handleTouchend); + + (function() { + var pressing = false, moved = false; + $swiperWrapper.on('mousedown', function(e) { + pressing = true; handleTouchstart(e); + }); + $swiperWrapper.on('mousemove', function(e) { + pressing && (e.preventDefault(), moved = true, handleTouchmove(e)); + }); + $swiperWrapper.on('mouseup', function(e) { + pressing && (pressing = false, handleTouchend(e)); + }); + $swiperWrapper.on('mouseleave', function(e) { + pressing && (pressing = false, handleTouchend(e)); + }); + $swiperWrapper.on('click', function(e) { + moved && (e.stopPropagation(), moved = false); + }); + })(); + + $root.on('touchmove', function(e) { + if (e.cancelable & touching) { + e.preventDefault(); + } + }); + })(); + + return { + setOptions: setOptions, + previous: function(){ + move('prev'); + }, + next: function(){ + move('next'); + }, + refresh: function() { + calc(true, { animation: false }); + } + }; + } + $.fn.swiper = swiper; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/throttle.js b/docs/gh-pages/_includes/scripts/lib/throttle.js new file mode 100644 index 0000000000..212adec965 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/throttle.js @@ -0,0 +1,28 @@ +(function() { + window.throttle = function(func, wait) { + var args, result, thisArg, timeoutId, lastCalled = 0; + + function trailingCall() { + lastCalled = new Date; + timeoutId = null; + result = func.apply(thisArg, args); + } + return function() { + var now = new Date, + remaining = wait - (now - lastCalled); + + args = arguments; + thisArg = this; + + if (remaining <= 0) { + clearTimeout(timeoutId); + timeoutId = null; + lastCalled = now; + result = func.apply(thisArg, args); + } else if (!timeoutId) { + timeoutId = setTimeout(trailingCall, remaining); + } + return result; + }; + }; +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/lib/toc.js b/docs/gh-pages/_includes/scripts/lib/toc.js new file mode 100644 index 0000000000..00fd83484c --- /dev/null +++ b/docs/gh-pages/_includes/scripts/lib/toc.js @@ -0,0 +1,107 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + function toc(options) { + var $root = this, $window = $(window), $scrollTarget, $scroller, $tocUl = $('
    '), $tocLi, $headings, $activeLast, $activeCur, + selectors = 'h1,h2,h3', container = 'body', scrollTarget = window, scroller = 'html, body', disabled = false, + headingsPos, scrolling = false, hasRendered = false, hasInit = false; + + function setOptions(options) { + var _options = options || {}; + _options.selectors && (selectors = _options.selectors); + _options.container && (container = _options.container); + _options.scrollTarget && (scrollTarget = _options.scrollTarget); + _options.scroller && (scroller = _options.scroller); + _options.disabled !== undefined && (disabled = _options.disabled); + $headings = $(container).find(selectors).filter('[id]'); + $scrollTarget = $(scrollTarget); + $scroller = $(scroller); + } + function calc() { + headingsPos = []; + $headings.each(function() { + headingsPos.push(Math.floor($(this).position().top)); + }); + } + function setState(element, disabled) { + var scrollTop = $scrollTarget.scrollTop(), i; + if (disabled || !headingsPos || headingsPos.length < 1) { return; } + if (element) { + $activeCur = element; + } else { + for (i = 0; i < headingsPos.length; i++) { + if (scrollTop >= headingsPos[i]) { + $activeCur = $tocLi.eq(i); + } else { + $activeCur || ($activeCur = $tocLi.eq(i)); + break; + } + } + } + $activeLast && $activeLast.removeClass('active'); + ($activeLast = $activeCur).addClass('active'); + } + function render() { + if(!hasRendered) { + $root.append($tocUl); + $headings.each(function() { + var $this = $(this); + $tocUl.append($('
  • ').addClass('toc-' + $this.prop('tagName').toLowerCase()) + .append($('').text($this.text()).attr('href', '#' + $this.prop('id')))); + }); + $tocLi = $tocUl.children('li'); + $tocUl.on('click', 'a', function(e) { + e.preventDefault(); + var $this = $(this); + scrolling = true; + setState($this.parent()); + $scroller.scrollToAnchor($this.attr('href'), 400, function() { + scrolling = false; + }); + }); + } + hasRendered = true; + } + function init() { + var interval, timeout; + if(!hasInit) { + render(); calc(); setState(null, scrolling); + // run calc every 100 millisecond + interval = setInterval(function() { + calc(); + }, 100); + timeout = setTimeout(function() { + clearInterval(interval); + }, 45000); + window.pageLoad.then(function() { + setTimeout(function() { + clearInterval(interval); + clearTimeout(timeout); + }, 3000); + }); + $scrollTarget.on('scroll', function() { + disabled || setState(null, scrolling); + }); + $window.on('resize', window.throttle(function() { + if (!disabled) { + render(); calc(); setState(null, scrolling); + } + }, 100)); + } + hasInit = true; + } + + setOptions(options); + if (!disabled) { + init(); + } + $window.on('resize', window.throttle(function() { + init(); + }, 200)); + return { + setOptions: setOptions + }; + } + $.fn.toc = toc; + }); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/page.js b/docs/gh-pages/_includes/scripts/page.js new file mode 100644 index 0000000000..28de85359c --- /dev/null +++ b/docs/gh-pages/_includes/scripts/page.js @@ -0,0 +1,3 @@ +/*(function () { + +})();*/ \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/utils/imagesLoad.js b/docs/gh-pages/_includes/scripts/utils/imagesLoad.js new file mode 100644 index 0000000000..f5a1e750fe --- /dev/null +++ b/docs/gh-pages/_includes/scripts/utils/imagesLoad.js @@ -0,0 +1,28 @@ +(function() { + window.imagesLoad = function(images) { + images = images || document.getElementsByTagName('img'); + var imagesCount = images.length, loadedCount = 0, image; + var i, j, loaded = false, cbs = []; + imagesCount < 1 && (loaded = true); + for (i = 0; i < imagesCount; i++) { + image = images[i]; + image.complete ? handleImageLoad() : image.addEventListener('load', handleImageLoad); + } + function handleImageLoad() { + loadedCount++; + if (loadedCount === imagesCount) { + loaded = true; + if (cbs.length > 0) { + for (j = 0; j < cbs.length; j++) { + cbs[j](); + } + } + } + } + return { + then: function(cb) { + cb && (loaded ? cb() : (cbs.push(cb))); + } + }; + }; +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/utils/utils.js b/docs/gh-pages/_includes/scripts/utils/utils.js new file mode 100644 index 0000000000..87282395e9 --- /dev/null +++ b/docs/gh-pages/_includes/scripts/utils/utils.js @@ -0,0 +1,43 @@ +(function() { + window.isArray = function(val) { + return Object.prototype.toString.call(val) === '[object Array]'; + }; + window.isString = function(val) { + return typeof val === 'string'; + }; + + window.decodeUrl = function(str) { + return str ? decodeURIComponent(str.replace(/\+/g, '%20')) : ''; + }; + + window.hasEvent = function(event) { + return 'on'.concat(event) in window.document; + }; + + window.isOverallScroller = function(node) { + return node === document.documentElement || node === document.body || node === window; + }; + + window.isFormElement = function(node) { + var tagName = node.tagName; + return tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA'; + }; + + window.pageLoad = (function () { + var loaded = false, cbs = []; + window.addEventListener('load', function () { + var i; + loaded = true; + if (cbs.length > 0) { + for (i = 0; i < cbs.length; i++) { + cbs[i](); + } + } + }); + return { + then: function(cb) { + cb && (loaded ? cb() : (cbs.push(cb))); + } + }; + })(); +})(); \ No newline at end of file diff --git a/docs/gh-pages/_includes/scripts/variables.html b/docs/gh-pages/_includes/scripts/variables.html new file mode 100644 index 0000000000..72d6f32dbd --- /dev/null +++ b/docs/gh-pages/_includes/scripts/variables.html @@ -0,0 +1,35 @@ +{%- include snippets/get-sources.html -%} +{%- assign _sources = __return -%} + +{%- include snippets/get-nav-url.html path="/assets/search.js" -%} +{%- assign _paths_search_js = __return -%} + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/search-providers/custom/search.html b/docs/gh-pages/_includes/search-providers/custom/search.html new file mode 100644 index 0000000000..78c832ee41 --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/custom/search.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/search-providers/default/search-data.js b/docs/gh-pages/_includes/search-providers/default/search-data.js new file mode 100644 index 0000000000..508f45a209 --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/default/search-data.js @@ -0,0 +1,14 @@ +window.TEXT_SEARCH_DATA={ + {%- for _collection in site.collections -%} + {%- unless forloop.first -%},{%- endunless -%} + '{{ _collection.label }}':[ + {%- for _article in _collection.docs -%} + {%- unless forloop.first -%},{%- endunless -%} + {'title':'{{ _article.title | url_encode }}', + {%- include snippets/prepend-baseurl.html path=_article.url -%} + {%- assign _url = __return -%} + 'url':'{{ _url | url_encode }}'} + {%- endfor -%} + ] + {%- endfor -%} +}; \ No newline at end of file diff --git a/docs/gh-pages/_includes/search-providers/default/search.html b/docs/gh-pages/_includes/search-providers/default/search.html new file mode 100644 index 0000000000..c5c8c5e999 --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/default/search.html @@ -0,0 +1,18 @@ + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/search-providers/default/search.js b/docs/gh-pages/_includes/search-providers/default/search.js new file mode 100644 index 0000000000..0b3814d075 --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/default/search.js @@ -0,0 +1,127 @@ +var SOURCES = window.TEXT_VARIABLES.sources; +var PAHTS = window.TEXT_VARIABLES.paths; +window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() { + var search = (window.search || (window.search = {})); + var searchData = window.TEXT_SEARCH_DATA ? initData(window.TEXT_SEARCH_DATA) : {}; + + function memorize(f) { + var cache = {}; + return function () { + var key = Array.prototype.join.call(arguments, ','); + if (key in cache) return cache[key]; + else return cache[key] = f.apply(this, arguments); + }; + } + + function initData(data) { + var _data = [], i, j, key, keys, cur; + keys = Object.keys(data); + for (i = 0; i < keys.length; i++) { + key = keys[i], _data[key] = []; + for (j = 0; j < data[key].length; j++) { + cur = data[key][j]; + cur.title = window.decodeUrl(cur.title); + cur.url = window.decodeUrl(cur.url); + _data[key].push(cur); + } + } + return _data; + } + + /// search + function searchByQuery(query) { + var i, j, key, keys, cur, _title, result = {}; + keys = Object.keys(searchData); + for (i = 0; i < keys.length; i++) { + key = keys[i]; + for (j = 0; j < searchData[key].length; j++) { + cur = searchData[key][j], _title = cur.title; + if ((result[key] === undefined || result[key] && result[key].length < 4 ) + && _title.toLowerCase().indexOf(query.toLowerCase()) >= 0) { + if (result[key] === undefined) { + result[key] = []; + } + result[key].push(cur); + } + } + } + return result; + } + + var renderHeader = memorize(function(header) { + return $('

    ' + header + '

    '); + }); + + var renderItem = function(index, title, url) { + return $('
  • ' + title + '
  • '); + }; + + function render(data) { + if (!data) { return null; } + var $root = $('
      '), i, j, key, keys, cur, itemIndex = 0; + keys = Object.keys(data); + for (i = 0; i < keys.length; i++) { + key = keys[i]; + $root.append(renderHeader(key)); + for (j = 0; j < data[key].length; j++) { + cur = data[key][j]; + $root.append(renderItem(itemIndex++, cur.title, cur.url)); + } + } + return $root; + } + + // search box + var $result = $('.js-search-result'), $resultItems; + var lastActiveIndex, activeIndex; + + function clear() { + $result.html(null); + $resultItems = $('.search-result__item'); activeIndex = 0; + } + function onInputNotEmpty(val) { + $result.html(render(searchByQuery(val))); + $resultItems = $('.search-result__item'); activeIndex = 0; + $resultItems.eq(0).addClass('active'); + } + + search.clear = clear; + search.onInputNotEmpty = onInputNotEmpty; + + function updateResultItems() { + lastActiveIndex >= 0 && $resultItems.eq(lastActiveIndex).removeClass('active'); + activeIndex >= 0 && $resultItems.eq(activeIndex).addClass('active'); + } + + function moveActiveIndex(direction) { + var itemsCount = $resultItems ? $resultItems.length : 0; + if (itemsCount > 1) { + lastActiveIndex = activeIndex; + if (direction === 'up') { + activeIndex = (activeIndex - 1 + itemsCount) % itemsCount; + } else if (direction === 'down') { + activeIndex = (activeIndex + 1 + itemsCount) % itemsCount; + } + updateResultItems(); + } + } + + // Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40 ⬇ + $(window).on('keyup', function(e) { + var modalVisible = search.getModalVisible && search.getModalVisible(); + if (modalVisible) { + if (e.which === 38) { + modalVisible && moveActiveIndex('up'); + } else if (e.which === 40) { + modalVisible && moveActiveIndex('down'); + } else if (e.which === 13) { + modalVisible && $resultItems && activeIndex >= 0 && $resultItems.eq(activeIndex).children('a')[0].click(); + } + } + }); + + $result.on('mouseover', '.search-result__item > a', function() { + var itemIndex = $(this).parent().data('index'); + itemIndex >= 0 && (lastActiveIndex = activeIndex, activeIndex = itemIndex, updateResultItems()); + }); +}); \ No newline at end of file diff --git a/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.html b/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.html new file mode 100644 index 0000000000..cf132ab7c5 --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.html @@ -0,0 +1,21 @@ +{%- if site.search.google.custom_search_engine_id -%} + + + +{%- endif -%} diff --git a/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.js b/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.js new file mode 100644 index 0000000000..09e52733bb --- /dev/null +++ b/docs/gh-pages/_includes/search-providers/google-custom-search-engine/search.js @@ -0,0 +1,33 @@ +var SOURCES = window.TEXT_VARIABLES.sources; +window.Lazyload.js(SOURCES.jquery, function() { + /* global google */ + var search = (window.search || (window.search = {})); + var searchBox, searchInput, clearIcon, searchModal; + + search.clear = function() { + searchBox && searchBox.clearAllResults(); + }; + search.onShow = function() { + searchInput && searchInput.focus(); + }; + search.onHide = function() { + searchInput && searchInput.blur(); + }; + + window.__gcse = { + callback: function() { + searchBox = google.search.cse.element.getElement('search-box'); + searchInput = document.getElementById('gsc-i-id1'); + clearIcon = document.getElementById('gs_cb50'); + searchModal = search.searchModal; + searchModal && searchModal.$el && searchModal.$el.on('click', function(e) { + (e.target === this || e.target === clearIcon || e.target.className === 'gs-title') && searchModal.hide(); + }); + } + }; + var cx = '{{ site.search.google.custom_search_engine_id }}'; // Insert your own Custom Search Engine ID here + var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; + gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + + '//cse.google.com/cse.js?cx=' + cx; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); +}); diff --git a/docs/gh-pages/_includes/search.html b/docs/gh-pages/_includes/search.html new file mode 100644 index 0000000000..680dd35a07 --- /dev/null +++ b/docs/gh-pages/_includes/search.html @@ -0,0 +1,20 @@ +{%- include snippets/get-locale-string.html key='CANCEL' -%} +{%- assign _locale_cancel = __return -%} +{%- include snippets/get-locale-string.html key='SEARCH' -%} +{%- assign _locale_search = __return -%} + +{%- if site.search.provider == 'google' -%} + +{%- endif -%} + +{%- if site.search.provider -%} + +{%- endif -%} + +{%- if site.search.provider == 'default' -%} + {%- include search-providers/default/search.html -%} +{%- elsif site.search.provider == 'google' -%} + {%- include search-providers/google-custom-search-engine/search.html -%} +{%- elsif site.search.provider == 'custom' -%} + {%- include search-providers/custom/search.html -%} +{%- endif -%} diff --git a/docs/gh-pages/_includes/sharing-providers/addthis.html b/docs/gh-pages/_includes/sharing-providers/addthis.html new file mode 100644 index 0000000000..f2364d313e --- /dev/null +++ b/docs/gh-pages/_includes/sharing-providers/addthis.html @@ -0,0 +1,9 @@ + +{%- assign _SHARING_ADDTHIS_ID = site.sharing.addthis.id -%} + +{%- if _SHARING_ADDTHIS_ID -%} + +
      +{%- endif -%} + diff --git a/docs/gh-pages/_includes/sharing-providers/addtoany.html b/docs/gh-pages/_includes/sharing-providers/addtoany.html new file mode 100644 index 0000000000..4f6997c6ed --- /dev/null +++ b/docs/gh-pages/_includes/sharing-providers/addtoany.html @@ -0,0 +1,10 @@ + +
      + + + + + +
      + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/sharing-providers/custom.html b/docs/gh-pages/_includes/sharing-providers/custom.html new file mode 100644 index 0000000000..98cc0b3021 --- /dev/null +++ b/docs/gh-pages/_includes/sharing-providers/custom.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/sharing.html b/docs/gh-pages/_includes/sharing.html new file mode 100644 index 0000000000..f585346092 --- /dev/null +++ b/docs/gh-pages/_includes/sharing.html @@ -0,0 +1,7 @@ +{%- if site.sharing.provider == 'addtoany' -%} + {%- include sharing-providers/addtoany.html -%} +{%- elsif site.sharing.provider == 'addthis' -%} + {%- include sharing-providers/addthis.html -%} + {%- elsif site.sharing.provider == 'custom' -%} + {%- include sharing-providers/custom.html -%} +{%- endif -%} diff --git a/docs/gh-pages/_includes/sidebar/toc.html b/docs/gh-pages/_includes/sidebar/toc.html new file mode 100644 index 0000000000..4e3469e16c --- /dev/null +++ b/docs/gh-pages/_includes/sidebar/toc.html @@ -0,0 +1,25 @@ +{%- if page.sidebar.nav -%} + +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/assign.html b/docs/gh-pages/_includes/snippets/assign.html new file mode 100644 index 0000000000..730f870e70 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/assign.html @@ -0,0 +1,9 @@ +{%- if include.source1 == nil -%} + {%- if include.source0 == nil -%} + {%- assign __return = include.target -%} + {%- else -%} + {%- assign __return = include.source0 -%} + {%- endif -%} +{%- else -%} + {%- assign __return = include.source1 -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-article-title.html b/docs/gh-pages/_includes/snippets/get-article-title.html new file mode 100644 index 0000000000..1ae86a9516 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-article-title.html @@ -0,0 +1,11 @@ +{%- assign _title = include.article.title | default: layout.title -%} +{%- assign _titles = include.article.titles | default: layout.titles -%} + +{%- if _title -%} + {%- assign __return = _title -%} +{%- elsif _titles -%} + {%- include snippets/get-string-from-locale-config.html locale=_titles -%} + {%- assign __return = __return -%} +{%- else -%} + {%- assign __return = nil -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-lang.html b/docs/gh-pages/_includes/snippets/get-lang.html new file mode 100644 index 0000000000..fa2bccacf1 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-lang.html @@ -0,0 +1,6 @@ +{%- assign __return = site.data.variables.default.lang -%} +{%- if page.lang -%} + {%- assign __return = page.lang -%} +{%- elsif site.lang -%} + {%- assign __return = site.lang -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-locale-string.html b/docs/gh-pages/_includes/snippets/get-locale-string.html new file mode 100644 index 0000000000..048a2df773 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-locale-string.html @@ -0,0 +1,12 @@ +{%- include snippets/get-lang.html -%} +{%- assign _lang = __return -%} +{%- assign _local_lang = site.data.locale[_lang] -%} +{%- assign _local_lang_en = site.data.locale.en -%} +{%- if _local_lang == nil -%} + {%- assign _local_lang = _local_lang_en -%} +{%- endif -%} +{%- if _local_lang[include.key] -%} + {%- assign __return = _local_lang[include.key] -%} +{%- else -%} + {%- assign __return = _local_lang_en[include.key] -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-nav-url.html b/docs/gh-pages/_includes/snippets/get-nav-url.html new file mode 100644 index 0000000000..fb450346f7 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-nav-url.html @@ -0,0 +1,8 @@ +{%- assign _pre7 = include.path | slice: 0, 7 -%} +{%- assign _pre8 = include.path | slice: 0, 8 -%} +{%- if _pre7 == 'http://' or _pre8 == 'https://' -%} + {%- assign __return = include.path -%} +{%- else -%} + {%- include snippets/prepend-baseurl.html path=include.path -%} + {%- assign __return = __return -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-sources.html b/docs/gh-pages/_includes/snippets/get-sources.html new file mode 100644 index 0000000000..8136564f03 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-sources.html @@ -0,0 +1,2 @@ +{%- assign _sources = site.sources | default: site.data.variables.default.sources -%} +{%- assign __return = site.data.variables.sources[_sources] -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/get-string-from-locale-config.html b/docs/gh-pages/_includes/snippets/get-string-from-locale-config.html new file mode 100644 index 0000000000..004e540c28 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/get-string-from-locale-config.html @@ -0,0 +1,7 @@ +{%- include snippets/get-lang.html -%} +{%- assign _lang = __return -%} +{%- if include.locale[_lang] -%} + {%- assign __return = include.locale[_lang] -%} +{%- else -%} + {%- assign __return = include.locale.en -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/is_collection.html b/docs/gh-pages/_includes/snippets/is_collection.html new file mode 100644 index 0000000000..e567ac3338 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/is_collection.html @@ -0,0 +1,6 @@ +{%- assign _page_path_first_char = include.page.path | slice: 0, 1 -%} +{%- if _page_path_first_char == '_' -%} + {%- assign __return = true -%} +{%- else -%} + {%- assign __return = false -%} +{%- endif -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/page-url.html b/docs/gh-pages/_includes/snippets/page-url.html new file mode 100644 index 0000000000..3e9815d6c0 --- /dev/null +++ b/docs/gh-pages/_includes/snippets/page-url.html @@ -0,0 +1,2 @@ +{%- include snippets/prepend-baseurl.html path=page.url -%} +{{ __return | prepend: site.url }} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/prepend-baseurl.html b/docs/gh-pages/_includes/snippets/prepend-baseurl.html new file mode 100644 index 0000000000..d5d24ef19a --- /dev/null +++ b/docs/gh-pages/_includes/snippets/prepend-baseurl.html @@ -0,0 +1,4 @@ +{%- assign _include_path_replace_index = include.path | replace: 'index.html', '' -%} +{%- include snippets/prepend-path.html + path=_include_path_replace_index + prepend_path=site.baseurl -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/snippets/prepend-path.html b/docs/gh-pages/_includes/snippets/prepend-path.html new file mode 100644 index 0000000000..7f2b7fb48c --- /dev/null +++ b/docs/gh-pages/_includes/snippets/prepend-path.html @@ -0,0 +1 @@ +{%- assign __return = include.path | prepend: '/' | prepend: include.prepend_path | replace:'///','/' | replace:'//','/' -%} \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/behance.svg b/docs/gh-pages/_includes/svg/icon/social/behance.svg new file mode 100644 index 0000000000..1d9a31c244 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/behance.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/douban.svg b/docs/gh-pages/_includes/svg/icon/social/douban.svg new file mode 100644 index 0000000000..42a07d5bcb --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/douban.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/facebook.svg b/docs/gh-pages/_includes/svg/icon/social/facebook.svg new file mode 100644 index 0000000000..02cd066086 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/facebook.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/flicker.svg b/docs/gh-pages/_includes/svg/icon/social/flicker.svg new file mode 100644 index 0000000000..1519b1c64d --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/flicker.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/github.svg b/docs/gh-pages/_includes/svg/icon/social/github.svg new file mode 100644 index 0000000000..c5439a92d7 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/googleplus.svg b/docs/gh-pages/_includes/svg/icon/social/googleplus.svg new file mode 100644 index 0000000000..69ab1e5aa9 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/googleplus.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/linkedin.svg b/docs/gh-pages/_includes/svg/icon/social/linkedin.svg new file mode 100644 index 0000000000..aeaf1fa143 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/linkedin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/mail.svg b/docs/gh-pages/_includes/svg/icon/social/mail.svg new file mode 100644 index 0000000000..a0d0751948 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/mail.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/medium.svg b/docs/gh-pages/_includes/svg/icon/social/medium.svg new file mode 100644 index 0000000000..a8b4cf3c4a --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/medium.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/npm.svg b/docs/gh-pages/_includes/svg/icon/social/npm.svg new file mode 100644 index 0000000000..c382c30fd8 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/npm.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/pinterest.svg b/docs/gh-pages/_includes/svg/icon/social/pinterest.svg new file mode 100644 index 0000000000..68f400bfce --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/pinterest.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/qq.svg b/docs/gh-pages/_includes/svg/icon/social/qq.svg new file mode 100644 index 0000000000..f15168b732 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/qq.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/telegram.svg b/docs/gh-pages/_includes/svg/icon/social/telegram.svg new file mode 100644 index 0000000000..1fc8d788bd --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/telegram.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/twitter.svg b/docs/gh-pages/_includes/svg/icon/social/twitter.svg new file mode 100644 index 0000000000..b04f68d4a6 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/weibo.svg b/docs/gh-pages/_includes/svg/icon/social/weibo.svg new file mode 100644 index 0000000000..d7f1652702 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/weibo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/gh-pages/_includes/svg/icon/social/weixin.svg b/docs/gh-pages/_includes/svg/icon/social/weixin.svg new file mode 100644 index 0000000000..67ad5fb506 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/weixin.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/icon/social/zhihu.svg b/docs/gh-pages/_includes/svg/icon/social/zhihu.svg new file mode 100644 index 0000000000..2fec9de0c7 --- /dev/null +++ b/docs/gh-pages/_includes/svg/icon/social/zhihu.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/gh-pages/_includes/svg/logo.svg b/docs/gh-pages/_includes/svg/logo.svg new file mode 100644 index 0000000000..327ac01d20 --- /dev/null +++ b/docs/gh-pages/_includes/svg/logo.svg @@ -0,0 +1 @@ +Asset 3 \ No newline at end of file diff --git a/docs/gh-pages/_includes/tags.html b/docs/gh-pages/_includes/tags.html new file mode 100644 index 0000000000..424804cfef --- /dev/null +++ b/docs/gh-pages/_includes/tags.html @@ -0,0 +1,52 @@ +{%- assign _tag_max_size = 1 -%} +{%- assign _tag_min_size = 1 -%} +{%- assign _tag_cur_size = 1 -%} +{%- assign _tags = site.tags | sort -%} +{%- for _tag in _tags -%} + {%- assign _tag_cur_size = _tag[1].size -%} + {%- if _tag_cur_size > _tag_max_size -%} + {%- assign _tag_max_size = _tag_cur_size -%} + {%- endif -%} + {%- if _tag_cur_size < _tag_min_size -%} + {%- assign _tag_min_size = _tag_cur_size -%} + {%- endif -%} +{%- endfor -%} +{%- assign _tag_gap_size = _tag_max_size | minus: _tag_min_size | plus: 1 | divided_by: 4 -%} +{%- if _tag_gap_size < 1 -%} + {%- assign _tag_gap_size = 1 -%} +{%- endif -%} +
      + +
      diff --git a/docs/gh-pages/_layouts/404.html b/docs/gh-pages/_layouts/404.html new file mode 100644 index 0000000000..25a313f19b --- /dev/null +++ b/docs/gh-pages/_layouts/404.html @@ -0,0 +1,13 @@ +--- +layout: page +title: 404 +show_title: false +--- +
      +
      +

      404

      +

      Page not found :(

      +
      +
      + +{{ content }} \ No newline at end of file diff --git a/docs/gh-pages/_layouts/archive.html b/docs/gh-pages/_layouts/archive.html new file mode 100644 index 0000000000..1d39a8b2e5 --- /dev/null +++ b/docs/gh-pages/_layouts/archive.html @@ -0,0 +1,31 @@ +--- +layout: page +titles: + en : &EN Archive + en-GB : *EN + en-US : *EN + en-CA : *EN + en-AU : *EN + zh-Hans : &ZH_HANS 归档 + zh : *ZH_HANS + zh-CN : *ZH_HANS + zh-SG : *ZH_HANS + zh-Hant : &ZH_HANT 歸檔 + zh-TW : *ZH_HANT + zh-HK : *ZH_HANT + ko : &KO 아카이브 + ko-KR : *KO +--- + +
      + {%- include tags.html -%} +
      + {%- include article-list.html articles=site.posts type='brief' show_info=true reverse=true group_by='year' -%} +
      +
      + + + +{{ content }} \ No newline at end of file diff --git a/docs/gh-pages/_layouts/article.html b/docs/gh-pages/_layouts/article.html new file mode 100644 index 0000000000..dd4a650a3d --- /dev/null +++ b/docs/gh-pages/_layouts/article.html @@ -0,0 +1,29 @@ +--- +layout: page +type: article +--- + +{%- include snippets/assign.html + target = site.data.variables.default.page.sharing + source0=layout.sharing source1=page.sharing -%} +{%- assign _sharing = __return -%} + +
      + {%- include article/top/custom.html -%} + +
      {{ content }}
      + + {%- if _sharing -%} + + {%- endif -%} + +
      + {%- include article-footer.html -%} + {%- include article-section-navigator.html -%} +
      + +
      + + \ No newline at end of file diff --git a/docs/gh-pages/_layouts/articles.html b/docs/gh-pages/_layouts/articles.html new file mode 100644 index 0000000000..a5b3ab8174 --- /dev/null +++ b/docs/gh-pages/_layouts/articles.html @@ -0,0 +1,89 @@ +--- +layout: page +--- + +{%- assign _page_articles_data_source = page.articles.data_source | default: layout.articles.data_source -%} + +{%- if _page_articles_data_source -%} +{%- assign _keys = _page_articles_data_source | split: '.' -%} +{%- endif -%} + +{%- assign _articles = nil -%} +{%- for _key in _keys -%} + {%- if forloop.first -%} + {%- case _key -%} + {%- when 'site' -%} + {%- assign _articles = site -%} + {%- when 'page' -%} + {%- assign _articles = page -%} + {%- when 'layout' -%} + {%- assign _articles = layout -%} + {%- when 'paginator' -%} + {%- assign _articles = paginator -%} + {%- else -%} + {%- assign _articles = site[_key] -%} + {%- else -%} + {%- endcase -%} + {%- else -%} + {%- assign _articles = _articles[_key] -%} + {%- endif -%} +{%- endfor -%} + +{%- assign _type = page.articles.type | default: layout.articles.type -%} + +{%- if _articles -%} + +
      + + {%- if _type == 'grid' -%} + {%- if page.articles.size == 'sm' -%} + {%- include article-list.html articles=_articles type='grid' size='sm' -%} + {%- else -%} + {%- include article-list.html articles=_articles type='grid' -%} + {%- endif -%} + + {%- elsif _type == 'brief' -%} + {%- include snippets/assign.html + target=site.data.variables.default.page.articles.show_info + source0=layout.articles.show_info source1=page.articles.show_info -%} + {%- assign _show_info = __return -%} + + {%- include article-list.html articles=_articles type='brief' show_info=_show_info -%} + + {%- else -%} + {%- include snippets/assign.html + target=site.data.variables.default.page.articles.show_cover + source0=layout.articles.show_cover source1=page.articles.show_cover -%} + {%- assign _show_cover = __return -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.articles.show_excerpt + source0=layout.articles.show_excerpt source1=page.articles.show_excerpt -%} + {%- assign _show_excerpt = __return -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.articles.show_readmore + source0=layout.articles.show_readmore source1=page.articles.show_readmore -%} + {%- assign _show_readmore = __return -%} + + {%- include snippets/assign.html + target=site.data.variables.default.page.articles.show_info + source0=layout.articles.show_info source1=page.articles.show_info -%} + {%- assign _show_info = __return -%} + + {%- assign _article_type = page.articles.article_type | default: layout.articles.article_type -%} + {%- assign _cover_size = page.articles.cover_size | default: layout.articles.cover_size -%} + {%- assign _excerpt_type = page.articles.excerpt_type | default: layout.articles.excerpt_type -%} + + {%- include article-list.html articles=_articles type='item' + article_type=_article_type + show_cover=_show_cover cover_size=_cover_size + show_excerpt=_show_excerpt excerpt_type=_excerpt_type + show_readmore=_show_readmore show_info=_show_info -%} + + {%- endif -%} + +
      +{%- endif -%} + +{{ content }} \ No newline at end of file diff --git a/docs/gh-pages/_layouts/base.html b/docs/gh-pages/_layouts/base.html new file mode 100644 index 0000000000..f8003d5649 --- /dev/null +++ b/docs/gh-pages/_layouts/base.html @@ -0,0 +1,25 @@ +--- +layout: none +--- + +{%- include snippets/get-lang.html -%} + + + {%- include analytics.html -%} + {%- include head.html -%} + + {%- include scripts/variables.html -%} + + +
      + {{ content }} +
      + + + \ No newline at end of file diff --git a/docs/gh-pages/_layouts/home.html b/docs/gh-pages/_layouts/home.html new file mode 100644 index 0000000000..bf8af5b202 --- /dev/null +++ b/docs/gh-pages/_layouts/home.html @@ -0,0 +1,34 @@ +--- +layout: articles +titles: + en : &EN Home + en-GB : *EN + en-US : *EN + en-CA : *EN + en-AU : *EN + zh-Hans : &ZH_HANS 主页 + zh : *ZH_HANS + zh-CN : *ZH_HANS + zh-SG : *ZH_HANS + zh-Hant : &ZH_HANT 主頁 + zh-TW : *ZH_HANT + zh-HK : *ZH_HANT + ko : &KO 홈 + ko-KR : *KO +show_title: false +articles: + data_source: paginator.posts + article_type: BlogPosting + show_cover: false + show_excerpt: true + show_readmore: true + show_info: true +--- +
      + {%- include paginator.html -%} +
      + + +{{ content }} diff --git a/docs/gh-pages/_layouts/landing.html b/docs/gh-pages/_layouts/landing.html new file mode 100644 index 0000000000..39f4c65599 --- /dev/null +++ b/docs/gh-pages/_layouts/landing.html @@ -0,0 +1,178 @@ +--- +layout: page +header: false +full_width: true +article_header: + type: overlay + align: center + height: 80vh +--- +
      +
      + {%- for _section in page.data.sections -%} + {%- include snippets/get-nav-url.html path=_section.background_image.src -%} + {%- assign _url = __return -%} + {%- if _section.theme == 'light' -%} +
      + {%- else -%} + style="background-image: url({{ _url }});"> + {%- endif -%} + +
      +
      + +

      {{ _section.title }}

      + {%- if _section.excerpt-%} +

      {{ _section.excerpt }}

      + {%- endif -%} + + {%- if _section.actions -%} + + {%- endif -%} + +
      + + {%- if _section.children -%} + {%- assign _size = _section.children | size -%} +
      +
      + + {%- for child in _section.children -%} + + {%- if _size >= 2 -%} + {%- assign _cell_md_col = 6 -%} + {%- else -%} + {%- assign _cell_md_col = 12 | divided_by: _size -%} + {%- endif -%} + + {%- if _size >= 4 -%} + {%- assign _cell_lg_col = 3 -%} + {%- else -%} + {%- assign _cell_lg_col = 12 | divided_by: _size -%} + {%- endif -%} + +
      + +
      +

      {{ child.title }}

      + + {%- if child.excerpt-%} +

      {{ child.excerpt }}

      + {%- endif -%} + + {%- if child.actions -%} + + {%- endif -%} +
      + + {%- if child.image and child.image.src -%} + + {%- if child.image.url -%} + {%- include snippets/get-nav-url.html path=child.image.url -%} + {%- assign _item_image_url = __return -%} + {%- else -%} + {%- assign _item_image_url = nil -%} + {%- endif -%} + + {%- include snippets/get-nav-url.html path=child.image.src -%} + {%- assign _item_image_src = __return -%} + + {%- if child.image.is_row -%} +
      + {%- endif -%} +
      + {%- if _item_image_url -%} + + {%- endif -%} + + {%- if _item_image_url -%} + + {%- endif -%} +
      + {%- if child.image.is_row -%} +
      + {%- endif -%} + {%- endif -%} + + {%- if child.content-%} +

      {{ child.content }}

      + {%- endif -%} + +
      + {%- endfor-%} + +
      +
      + {%- endif -%} + + {%- if _section.image.full_width == true -%} +
      {% comment %} end hero__content {% endcomment %} + {%- endif -%} + + {%- if _section.image and _section.image.src -%} + + {%- if _section.image.url -%} + {%- include snippets/get-nav-url.html path=_section.image.url -%} + {%- assign _section_image_url = __return -%} + {%- else -%} + {%- assign _section_image_url = nil -%} + {%- endif -%} + + {%- include snippets/get-nav-url.html path=_section.image.src -%} + {%- assign _section_image_src = __return -%} + + {%- if _section.image.is_row -%} +
      + {%- endif -%} + + {%- if _section.image.is_row -%} +
      + {%- endif -%} + {%- endif -%} + + {%- if _section.image.full_width != true -%} +
      {% comment %} end hero__content {% endcomment %} + {%- endif -%} + + {%- if _section.content-%} +

      {{ _section.content }}

      + {%- endif -%} + + {%- endfor -%} +
      +
      + +{{ content }} \ No newline at end of file diff --git a/docs/gh-pages/_layouts/none.html b/docs/gh-pages/_layouts/none.html new file mode 100644 index 0000000000..e02a27c0d8 --- /dev/null +++ b/docs/gh-pages/_layouts/none.html @@ -0,0 +1 @@ +{{ content }} \ No newline at end of file diff --git a/docs/gh-pages/_layouts/page.html b/docs/gh-pages/_layouts/page.html new file mode 100644 index 0000000000..98f8dba69c --- /dev/null +++ b/docs/gh-pages/_layouts/page.html @@ -0,0 +1,270 @@ +--- +layout: base +--- +{%- assign _page_mode = page.mode | default: layout.mode | default: site.data.variables.default.page.mode -%} +{%- assign _page_type = page.type | default: layout.type | default: site.data.variables.default.page.type -%} +{%- assign _article_header_type = page.article_header.type | default: layout.article_header.type -%} + +{%- include snippets/assign.html + target=layout.header source0=page.header -%} +{%- assign _header = __return -%} + +{%- include snippets/assign.html + target=layout.footer source0=page.footer -%} +{%- assign _footer = __return -%} + +{%- include snippets/assign.html + target=layout.lightbox source0=page.lightbox -%} +{%- assign _lightbox = __return -%} + +{%- include snippets/assign.html + target = site.data.variables.default.page.full_width + source0=layout.full_width source1=page.full_width -%} +{%- assign _full_width = __return -%} + +{%- include snippets/assign.html + target = site.data.variables.default.page.comment + source0=layout.comment source1=page.comment -%} +{%- assign _comment = __return -%} + + +{%- assign _article_header_excerpt_truncate = include.excerpt_truncate | default: 200 -%} + +{%- if page.sidebar -%} +
      +
      +
      +
      + +
      + +
      + +
      + {%- include sidebar/toc.html -%} +
      + +{%- else -%} +
      +{%- endif -%} + + {%- assign _page_main_class = 'page__main js-page-main' -%} + {%- if _page_mode == 'immersive' -%} + {%- assign _page_main_class = _page_main_class | append: ' page__main--immersive' -%} + {%- endif -%} + {%- unless page.sidebar -%} + {%- assign _page_main_class = _page_main_class | append: ' page__viewport' -%} + {%- endunless -%} + {%- if _footer == false -%} + {%- assign _page_main_class = _page_main_class | append: ' hide-footer' -%} + {%- endif -%} + {%- if page.aside -%} + {%- assign _page_main_class = _page_main_class | append: ' has-aside' -%} + {%- elsif _full_width -%} + {%- assign _page_main_class = _page_main_class | append: ' full-width' -%} + {%- endif -%} +
      + +
      + {%- if _header != false -%} + + {%- endif -%} + + +
      + {%- if _article_header_type == 'overlay' or _article_header_type == 'cover' -%} + + {%- if _article_header_type == 'overlay' -%} + + {%- assign _article_header_height = page.article_header.height | default: layout.article_header.height -%} + {%- assign _article_header_align = page.article_header.align | default: layout.article_header.align | default: site.data.variables.default.page.article_header.align -%} + {%- assign _article_header_theme = page.article_header.theme | default: layout.article_header.theme | default: site.data.variables.default.page.article_header.theme -%} + + {%- if page.article_header.background_image.src -%} + {%- assign _header_background_image_src = page.article_header.background_image.src -%} + {%- elsif page.article_header.background_image != false and page.cover -%} + {%- assign _header_background_image_src = page.cover -%} + {%- endif -%} + + {%- if page.article_header.background_image.gradient -%} + {%- assign _header_background_image = page.article_header.background_image.gradient -%} + {%- if _header_background_image_src -%} + {%- assign _header_background_image = _header_background_image | append: ',' -%} + {%- endif -%} + {%- endif -%} + + {%- if _header_background_image_src -%} + {%- include snippets/get-nav-url.html path=_header_background_image_src -%} + {%- assign _header_background_image_src = __return -%} + {%- assign _header_background_image = _header_background_image + | append: 'url(' | append: _header_background_image_src | append: ')'-%} + {%- endif -%} + + {%- assign _header_style = 'background-image:' | append: _header_background_image | append: ';' -%} + + {%- if page.article_header.background_color -%} + {%- assign _header_style = _header_style | append: 'background-color:' | append: page.article_header.background_color | append: ';' -%} + {%- endif -%} + + {%- if _article_header_height -%} + {%- assign _header_style = _header_style | append: 'min-height:' | append: _article_header_height | append: ';' -%} + {%- endif -%} + +
      + + {%- if _article_header_theme == 'light' -%} + {%- if _article_header_align == 'center' -%} +
      + {%- else -%} +
      + {%- endif -%} + {%- elsif _article_header_theme == 'dark' -%} + {%- if _article_header_align == 'center' -%} +
      + {%- else -%} +
      + {%- endif -%} + {%- else -%} + {%- if _article_header_align == 'center' -%} +
      + {%- else -%} +
      + {%- endif -%} + {%- endif -%} +
      + {%- if _full_width == false -%} +
      + {%- endif -%} + {%- include article-info.html article=page semantic=false -%} + {%- include article-header.html article=page semantic=false -%} + {%- if page.excerpt -%} +

      {{ page.excerpt | strip_html | strip_newlines | strip | truncate: _article_header_excerpt_truncate }}

      + {%- endif -%} + {%- if page.article_header.actions -%} + + {%- endif -%} + {%- if _full_width == false -%} +
      + {%- endif -%} +
      +
      +
      + {%- elsif _article_header_type == 'cover' -%} + {%- if page.article_header.image.src -%} + {%- include snippets/get-nav-url.html path=page.article_header.image.src -%} + {%- assign _header_image_src = __return -%} + + {%- endif -%} + {%- endif -%} + + {%- endif -%} + + + {%- if _full_width == false -%} +
      + {%- endif -%} +
      + +
      + {%- if page.aside -%} + + {%- endif -%} +
      + +
      + {%- include main/top/custom.html -%} + {%- if _page_type == 'article' -%} +
      + {%- elsif _page_type == 'webpage' -%} +
      + {%- else -%} +
      + {%- endif -%} + + {%- if _article_header_type == 'overlay' or page.article_header == false -%} + {%- include article-header.html article=page html=false -%} + {%- include article-info.html article=page html=false -%} + {%- else -%} + {%- include article-header.html article=page -%} + {%- include article-info.html article=page -%} + {%- endif -%} + +
      {{ content }}
      + {%- if _comment != false -%} +
      {%- include comments.html -%}
      + {%- endif -%} +
      + {%- include main/bottom/custom.html -%} +
      +
      + + {%- if _full_width == false -%} +
      + {%- endif -%} +
      + + {%- if _footer != false -%} + + {%- endif -%} +
      +
      {%- comment -%} end page__main {%- endcomment -%} +{%- if page.sidebar -%} +
      {%- comment -%} end grid {%- endcomment -%} +
      {%- comment -%} end page__viewport {%- endcomment -%} +{%- endif -%} + + +{%- if _lightbox == true -%} + +{%- endif -%} +{%- if _header != false -%} + +{%- endif -%} +
      + + + + +{%- if page.sidebar -%} + +{%- endif -%} + +{%- if page.aside -%} + +{%- endif -%} + +{%- include markdown-enhancements.html -%} +{%- include pageview.html -%} \ No newline at end of file diff --git a/docs/gh-pages/_page_fragments/supported-formats-dash.md b/docs/gh-pages/_page_fragments/supported-formats-dash.md new file mode 100644 index 0000000000..0fe41e6903 --- /dev/null +++ b/docs/gh-pages/_page_fragments/supported-formats-dash.md @@ -0,0 +1,27 @@ +ExoPlayer supports DASH with multiple container formats. Media streams must be +demuxed, meaning that video, audio and text must be defined in distinct +AdaptationSet elements in the DASH manifest (CEA-608 is an exception as +described in the table below). The contained audio and video sample formats must +also be supported (see the +[sample formats](supported-formats.html#sample-formats) section for details). + +| Feature | Supported | Comments | +|---------|:------------:|:---------------------| +| **Containers** ||| +| FMP4 | YES| Demuxed streams only | +| WebM | YES | Demuxed streams only | +| Matroska | YES | Demuxed streams only | +| MPEG-TS | NO | No support planned | +| **Closed captions/subtitles** ||| +| TTML | YES | Raw, or embedded in FMP4 according to ISO/IEC 14496-30 | +| WebVTT | YES | Raw, or embedded in FMP4 according to ISO/IEC 14496-30 | +| CEA-608 | YES | Carried in SEI messages embedded in FMP4 video streams | +| **Metadata** ||| +| EMSG metadata | YES | Embedded in FMP4 | +| **Content protection** ||| +| Widevine | YES | "cenc" scheme: API 19+; "cbcs" scheme: API 25+ | +| PlayReady SL2000 | YES | Android TV, "cenc" scheme only | +| ClearKey | YES | API 21+, "cenc" scheme only | +| **Live playback** ||| +| Regular live playback | YES || +| Ultra low-latency CMAF live playback | YES || diff --git a/docs/gh-pages/_page_fragments/supported-formats-hls.md b/docs/gh-pages/_page_fragments/supported-formats-hls.md new file mode 100644 index 0000000000..420608b4bf --- /dev/null +++ b/docs/gh-pages/_page_fragments/supported-formats-hls.md @@ -0,0 +1,32 @@ +ExoPlayer supports HLS with multiple container formats. The contained audio and +video sample formats must also be supported (see the +[sample formats](supported-formats.html#sample-formats) section for details). We +strongly encourage HLS content producers to generate high quality HLS streams, +as described +[here](https://medium.com/google-exoplayer/hls-playback-in-exoplayer-a33959a47be7). + +| Feature | Supported | Comments | +|---------|:------------:|:---------------------| +| **Containers** ||| +| MPEG-TS | YES || +| FMP4/CMAF | YES || +| ADTS (AAC) | YES || +| MP3 | YES || +| **Closed captions/subtitles** ||| +| CEA-608 | YES || +| WebVTT | YES || +| **Metadata** ||| +| ID3 metadata | YES || +| **Content protection** ||| +| AES-128 | YES || +| Sample AES-128 | NO || +| Widevine | YES | API 19+ ("cenc" scheme) and 25+ ("cbcs" scheme) | +| PlayReady SL2000 | YES | Android TV only | +| **Server control** ||| +| Delta updates | YES || +| Blocking playlist reload | YES || +| Blocking load of preload hints | YES | Except for byteranges with undefined lengths | +| **Live playback** ||| +| Regular live playback | YES || +| Low-latency HLS (Apple) | YES || +| Low-latency HLS (Community) | NO || diff --git a/docs/gh-pages/_page_fragments/supported-formats-progressive.md b/docs/gh-pages/_page_fragments/supported-formats-progressive.md new file mode 100644 index 0000000000..2c3e59745f --- /dev/null +++ b/docs/gh-pages/_page_fragments/supported-formats-progressive.md @@ -0,0 +1,44 @@ +Streams in the following container formats can be played directly by ExoPlayer. +The contained audio and video sample formats must also be supported (see the +[sample formats](supported-formats.html#sample-formats) section for details). + +| Container format | Supported | Comments | +|------------------|:------------:|:---------------------| +| MP4 | YES || +| M4A | YES || +| FMP4 | YES || +| WebM| YES || +| Matroska| YES || +| MP3 | YES | Some streams only seekable using constant bitrate seeking** | +| Ogg | YES | Containing Vorbis, Opus and FLAC | +| WAV | YES || +| MPEG-TS | YES || +| MPEG-PS | YES || +| FLV | YES | Not seekable* | +| ADTS (AAC) | YES | Only seekable using constant bitrate seeking** | +| FLAC | YES | Using the [FLAC extension][] or the FLAC extractor in the [core library][]*** | +| AMR | YES | Only seekable using constant bitrate seeking** | +| JPEG motion photo | YES | Only the MP4 content is extracted | + +\* Seeking is unsupported because the container does not provide metadata (e.g., +a sample index) to allow a media player to perform a seek in an efficient way. +If seeking is required, we suggest using a more appropriate container format. + +\*\* These extractors have `FLAG_ENABLE_CONSTANT_BITRATE_SEEKING` flags for +enabling approximate seeking using a constant bitrate assumption. This +functionality is not enabled by default. The simplest way to enable this +functionality for all extractors that support it is to use +`DefaultExtractorsFactory.setConstantBitrateSeekingEnabled`, as described +[here](customization.html#enabling-constant-bitrate-seeking). + +\*\*\* The [FLAC extension][] extractor outputs raw audio, which can be handled +by the framework on all API levels. The [core library][] FLAC extractor outputs +FLAC audio frames and so relies on having a FLAC decoder (e.g., a `MediaCodec` +decoder that handles FLAC (required from API level 27), or the +[FFmpeg extension][] with FLAC enabled). The `DefaultExtractorsFactory` uses the +extension extractor if the application was built with the [FLAC extension][]. +Otherwise, it uses the [core library][] extractor. + +[FLAC extension]: {{ site.release_v2 }}/extensions/flac +[core library]: {{ site.release_v2 }}/library/core +[FFmpeg extension]: {{ site.release_v2 }}/extensions/ffmpeg diff --git a/docs/gh-pages/_page_fragments/supported-formats-smoothstreaming.md b/docs/gh-pages/_page_fragments/supported-formats-smoothstreaming.md new file mode 100644 index 0000000000..f7d188f8be --- /dev/null +++ b/docs/gh-pages/_page_fragments/supported-formats-smoothstreaming.md @@ -0,0 +1,16 @@ +ExoPlayer supports SmoothStreaming with the FMP4 container format. Media streams +must be demuxed, meaning that video, audio and text must be defined in distinct +StreamIndex elements in the SmoothStreaming manifest. The contained audio and +video sample formats must also be supported (see the +[sample formats](supported-formats.html#sample-formats) section for details). + +| Feature | Supported | Comments | +|---------|:------------:|:---------------------| +| **Containers** ||| +| FMP4 | YES | Demuxed streams only | +| **Closed captions/subtitles** ||| +| TTML | YES | Embedded in FMP4 | +| **Content protection** ||| +| PlayReady SL2000 | YES | Android TV only | +| **Live playback** ||| +| Regular live playback | YES || diff --git a/docs/gh-pages/_sass/additional/_alert.scss b/docs/gh-pages/_sass/additional/_alert.scss new file mode 100644 index 0000000000..bb449e29ad --- /dev/null +++ b/docs/gh-pages/_sass/additional/_alert.scss @@ -0,0 +1,29 @@ +.article__content { + p.success { + padding: map-get($spacers, 2) map-get($spacers, 3); + background-color: rgba($green, .1); + border: 1px solid $green; + border-radius: map-get($base, border-radius); + } + + p.info { + padding: map-get($spacers, 2) map-get($spacers, 3); + background-color: rgba($blue, .1); + border: 1px solid $blue; + border-radius: map-get($base, border-radius); + } + + p.warning { + padding: map-get($spacers, 2) map-get($spacers, 3); + background-color: rgba($yellow, .1); + border: 1px solid $yellow; + border-radius: map-get($base, border-radius); + } + + p.error { + padding: map-get($spacers, 2) map-get($spacers, 3); + background-color: rgba($red, .1); + border: 1px solid $red; + border-radius: map-get($base, border-radius); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/additional/_photo-frame.scss b/docs/gh-pages/_sass/additional/_photo-frame.scss new file mode 100644 index 0000000000..9d9f78aa10 --- /dev/null +++ b/docs/gh-pages/_sass/additional/_photo-frame.scss @@ -0,0 +1,17 @@ +.article__content { + img.shadow, .shadow > img { + @include box-shadow(); + } + + img.border, .border > img { + border: 1px solid $border-color-l; + } + + img.rounded, .rounded > img { + border-radius: map-get($base, border-radius); + } + + img.circle, .circle > img { + border-radius: 50%; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/additional/_tag.scss b/docs/gh-pages/_sass/additional/_tag.scss new file mode 100644 index 0000000000..bf5bf3cda3 --- /dev/null +++ b/docs/gh-pages/_sass/additional/_tag.scss @@ -0,0 +1,21 @@ +.article__content { + code.success { + color: $text-color-function; + background-color: $green; + } + + code.info { + color: $text-color-function; + background-color: $blue; + } + + code.warning { + color: $text-color-function; + background-color: $yellow; + } + + code.error { + color: $text-color-function; + background-color: $red; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/animate/_fade-in-down.scss b/docs/gh-pages/_sass/animate/_fade-in-down.scss new file mode 100644 index 0000000000..e3fd1ae0f0 --- /dev/null +++ b/docs/gh-pages/_sass/animate/_fade-in-down.scss @@ -0,0 +1,10 @@ +@include keyframes(fade-in-down) { + from { + opacity: 0; + @include transform(translateY(-2rem)); + } + to { + opacity: 1; + @include transform(translateY(0)); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/animate/_fade-in-up.scss b/docs/gh-pages/_sass/animate/_fade-in-up.scss new file mode 100644 index 0000000000..e704c08696 --- /dev/null +++ b/docs/gh-pages/_sass/animate/_fade-in-up.scss @@ -0,0 +1,10 @@ +@include keyframes(fade-in-up) { + from { + opacity: 0; + @include transform(translateY(2rem)); + } + to { + opacity: 1; + @include transform(translateY(0)); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/animate/_fade-in.scss b/docs/gh-pages/_sass/animate/_fade-in.scss new file mode 100644 index 0000000000..dc9a79f111 --- /dev/null +++ b/docs/gh-pages/_sass/animate/_fade-in.scss @@ -0,0 +1,8 @@ +@include keyframes(fade-in) { + from { + opacity: 0; + } + to { + opacity: 1; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/_classes.scss b/docs/gh-pages/_sass/common/_classes.scss new file mode 100644 index 0000000000..a31d2c376e --- /dev/null +++ b/docs/gh-pages/_sass/common/_classes.scss @@ -0,0 +1,23 @@ +@charset "utf-8"; + +@import + "common/classes/animation", + "common/classes/transform", + "common/classes/transition", + "common/classes/user-select", + + "common/classes/clearfix", + "common/classes/media", + "common/classes/clickable", + "common/classes/display", + "common/classes/flex", + "common/classes/horizontal-rules", + "common/classes/pseudo", + "common/classes/link", + "common/classes/text", + "common/classes/overflow", + "common/classes/shadow", + "common/classes/spacing", + "common/classes/split-line", + "common/classes/grid" +; \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/_function.scss b/docs/gh-pages/_sass/common/_function.scss new file mode 100644 index 0000000000..7c7ee91c06 --- /dev/null +++ b/docs/gh-pages/_sass/common/_function.scss @@ -0,0 +1,15 @@ +@function get-color-theme($color) { + @if lightness($color) < 15% { + @return "dark"; + } @else { + @return "light"; + } +} + +@function breakpoint-infix($name, $breakpoints: default) { + @if $breakpoints == default { + $breakpoints: $responsive; + } + $min: map-get($breakpoints, $name); + @return if($min != 0, "#{$name}-", ""); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/_print.scss b/docs/gh-pages/_sass/common/_print.scss new file mode 100644 index 0000000000..78d724d603 --- /dev/null +++ b/docs/gh-pages/_sass/common/_print.scss @@ -0,0 +1,20 @@ +@media print { + a { + @include plain() { + text-decoration: underline; + } + @include hover() { + text-decoration: underline; + } + @include active() { + text-decoration: underline; + } + } + + img, + tr, + pre, + blockquote { + page-break-inside: avoid; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/_reset.scss b/docs/gh-pages/_sass/common/_reset.scss new file mode 100644 index 0000000000..b7657d344d --- /dev/null +++ b/docs/gh-pages/_sass/common/_reset.scss @@ -0,0 +1,160 @@ +@mixin block-elements { + h1, h2, h3, h4, h5, h6, p, + hr, blockquote, figure, pre, .highlighter-rouge, + ul, ol, dl, table, .footnotes { + @content; + } +} +@mixin heading-elements { + h1, h2, h3, h4, h5, h6 { + @content; + } +} + +*, +::before, +::after { + box-sizing: border-box; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/** + * 1. Prevent adjustments of font size after orientation changes in iOS. + **/ + +html { + font-size: map-get($base, font-size-root); + -webkit-text-size-adjust: 100%; /* 1 */ + @media print { + font-size: map-get($base, font-size-root-sm); + } +} + +body { + padding: 0; + margin: 0; + font: map-get($base, font-weight) #{map-get($base, font-size)}/#{map-get($base, line-height)} map-get($base, font-family); + ::-moz-selection { + background: $select-color; + } + ::-webkit-selection { + background: $select-color; + } + ::selection { + background: $select-color; + } +} + +@include block-elements() { + padding: 0; + margin: map-get($spacers, 2) 0; +} + +input, textarea, select, button { + font: map-get($base, font-weight) #{map-get($base, font-size)}/#{map-get($base, line-height)} map-get($base, font-family); + color: $text-color; +} + +h1, +h2, +h3, +h4, +h5, +h6, +strong { + font-weight: map-get($base, font-weight-bold); +} + +h1 { + font-size: map-get($base, font-size-h1); + color: $text-color-d; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h1-sm); + } +} + +h2 { + font-size: map-get($base, font-size-h2); + color: $text-color-d; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h2-sm); + } +} + +h3 { + font-size: map-get($base, font-size-h3); + color: $text-color-d; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h3-sm); + } +} + +h4 { + font-size: map-get($base, font-size-h4); + color: $text-color; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h4-sm); + } +} + +h5 { + font-size: map-get($base, font-size-h5); + color: $text-color; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h5-sm); + } +} + +h6 { + font-size: map-get($base, font-size-h6); + color: $text-color-l; + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h6-sm); + } +} + +a { + font-weight: map-get($base, font-weight-bold); + @include link-colors($main-color-1); +} + +pre, code { + font-family: map-get($base, font-family-code); +} + +code { + font-size: map-get($base, font-size-xs); + line-height: map-get($base, line-height-sm); +} + +figure > img { + display: block; +} + +figcaption { + font-size: map-get($base, font-size-sm); +} + +button { + padding: 0; + margin: 0; + font-size: map-get($spacers, 3); + cursor: pointer; + background-color: transparent; + border-width: 0; + outline: none; +} + +input { + &::-ms-clear { + display: none; + } + &:focus { + outline: none; + } +} + +// mermaid +.mermaidTooltip { + display: none; +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/_variables.scss b/docs/gh-pages/_sass/common/_variables.scss new file mode 100644 index 0000000000..848a7371ba --- /dev/null +++ b/docs/gh-pages/_sass/common/_variables.scss @@ -0,0 +1,150 @@ +$base: ( + font-family: (-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif), + font-family-code: (Menlo, Monaco, Consolas, Andale Mono, lucida console, Courier New, monospace), + + font-size-root: 16px, + font-size-root-sm: 14px, + + font-size-xl: 1.5rem, + font-size-lg: 1.25rem, + font-size: 1rem, + font-size-sm: .85rem, + font-size-xs: .7rem, + + font-size-h1-xl: 3.5rem, + font-size-h2-xl: 2.5rem, + font-size-h3-xl: 2rem, + font-size-h4-xl: 1.75rem, + font-size-h5-xl: 1.5rem, + font-size-h6-xl: 1.5rem, + + font-size-h1-lg: 3rem, + font-size-h2-lg: 2rem, + font-size-h3-lg: 1.75rem, + font-size-h4-lg: 1.5rem, + font-size-h5-lg: 1.25rem, + font-size-h6-lg: 1.25rem, + + font-size-h1: 2.5rem, + font-size-h2: 1.9rem, + font-size-h3: 1.5rem, + font-size-h4: 1.2rem, + font-size-h5: 1rem, + font-size-h6: 1rem, + + font-size-h1-sm: 2rem, + font-size-h2-sm: 1.5rem, + font-size-h3-sm: 1.35rem, + font-size-h4-sm: 1.15rem, + font-size-h5-sm: 1rem, + font-size-h6-sm: 1rem, + + font-size-h1-xs: 1.05rem, + font-size-h2-xs: 1rem, + font-size-h3-xs: .95rem, + font-size-h4-xs: .9rem, + font-size-h5-xs: .85rem, + font-size-h6-xs: .85rem, + + font-weight: 400, + font-weight-bold: 700, + + line-height-xl: 2, + line-height-lg: 1.8, + line-height: 1.6, + line-height-sm: 1.4, + line-height-xs: 1.2, + + spacer: 1rem, + + border-radius-lg: .8rem, + border-radius: .4rem, + border-radius-sm: .2rem +); + +$spacers: ( + 0: 0, + 1: map-get($base, spacer) * .25, + 2: map-get($base, spacer) * .5, + 3: map-get($base, spacer), + 4: map-get($base, spacer) * 1.5, + 5: map-get($base, spacer) * 3 +); + +$z-indexes: ( + actions: 996, + mask: 997, + sidebar: 998, + modal: 999 +); + +$layout: ( + header-height: 5rem, + header-height-sm: 3rem, + content-max-width: 950px, + sidebar-width: 250px, + sidebar-header-height: 3rem, + aside-width: 220px +); + +// sm md lg +// | ------ | ------ | ------ | +// 0 500 1024 - + +$responsive: ( + sm: 0, + md: 500px, + lg: 1024px +); + +$animation: ( + duration: .4s, + duration-sm: .2s, + timing-function: ease-in-out +); + +$clickable: ( + transition: all .2s ease-in-out +); + +$button-height-xl: 2.8rem; +$button-height-lg: 2.3rem; +$button-height: 1.9rem; +$button-height-sm: 1.5rem; +$button-height-xs: 1.2rem; + +$button: ( + padding-y-xl: ($button-height-xl - map-get($base, font-size-xl)) / 2, + padding-x-xl: $button-height-xl / 3, + padding-y-lg: ($button-height-lg - map-get($base, font-size-lg)) / 2, + padding-x-lg: $button-height-lg / 3, + padding-y: ($button-height - map-get($base, font-size)) / 2, + padding-x: $button-height / 3, + padding-y-sm: ($button-height-sm - map-get($base, font-size-sm)) / 2, + padding-x-sm: $button-height-sm / 3, + padding-y-xs: ($button-height-xs - map-get($base, font-size-xs)) / 2, + padding-x-xs: $button-height-xs / 3, + + pill-radius: 6rem, + + circle-diameter-xl: $button-height-xl, + circle-diameter-lg: $button-height-lg, + circle-diameter: $button-height, + circle-diameter-sm: $button-height-sm, + circle-diameter-xs: $button-height-xs, + + font-weight: map-get($base, font-weight-bold) +); + +$image: ( + width-xl: 20em, + width-lg: 16rem, + width: 12rem, + width-sm: 8rem, + width-xs: 4rem +); + +$menu: ( + horizontal-spacer: 1, + horizontal-item-vertical-spacer: 1 +); \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_button.scss b/docs/gh-pages/_sass/common/components/_button.scss new file mode 100644 index 0000000000..c7f672386f --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_button.scss @@ -0,0 +1,163 @@ +@mixin button() { + display: inline-block; + font-weight: map-get($button, font-weight); + line-height: 1 !important; + text-decoration: none !important; + cursor: pointer; + outline: none; + @include user-select(none); + svg { + width: 1rem; + height: 1rem; + } + @include disabled() { + cursor: not-allowed; + } +} + +.button { + @include button(); +} + +.button--primary { + @include clickable($text-color-1, $main-color-1); +} + +.button--secondary { + @include clickable($text-color-3, $main-color-3); +} + +.button--success { + @include clickable($text-color-function, $green); +} + +.button--info { + @include clickable($text-color-function, $blue); +} + +.button--warning { + @include clickable($text-color-function, $yellow); +} + +.button--error { + @include clickable($text-color-function, $red); +} + +.button--theme-light { + @include clickable($text-color-theme-dark, $main-color-theme-light); +} + +.button--theme-dark { + @include clickable($text-color-theme-light, $main-color-theme-dark); +} + +.button--outline-primary { + color: $main-color-1; + border: 1px solid $main-color-1; + @include clickable($main-color-1, transparent, $text-color-1, $main-color-1); +} + +.button--outline-secondary { + color: $main-color-3; + border: 1px solid $main-color-3; + @include clickable($main-color-3, transparent, $text-color-3, $main-color-3); +} + +.button--outline-success { + color: $green; + border: 1px solid $green; + @include clickable($green, transparent, $text-color-function, $green); +} + +.button--outline-info { + color: $blue; + border: 1px solid $blue; + @include clickable($blue, transparent, $text-color-function, $blue); +} + +.button--outline-warning { + color: $yellow; + border: 1px solid $yellow; + @include clickable($yellow, transparent, $text-color-function, $yellow); +} + +.button--outline-error { + color: $red; + border: 1px solid $red; + @include clickable($red, transparent, $text-color-function, $red); +} + +.button--outline-theme-light { + color: $main-color-theme-light; + border: 1px solid $main-color-theme-light; + @include clickable($text-color-theme-dark, $main-color-theme-light); +} + +.button--outline-theme-dark { + color: $main-color-theme-dark; + border: 1px solid $main-color-theme-dark; + @include clickable($text-color-theme-light, $main-color-theme-dark); +} + +.button--pill { + border-radius: map-get($button, pill-radius); + @extend .button--md; +} + +.button--rounded { + border-radius: map-get($base, border-radius); + @extend .button--md; +} + +.button--circle { + @include inline-flex(); + @include justify-content(center); + @include align-items(center); + border-radius: 50%; + @extend .button--md; +} + +.button--md { + padding: map-get($button, padding-y) map-get($button, padding-x); + font-size: map-get($base, font-size); + &.button--circle { + width: map-get($button, circle-diameter); + height: map-get($button, circle-diameter); + } +} + +.button--xs { + padding: map-get($button, padding-y-xs) map-get($button, padding-x-xs); + font-size: map-get($base, font-size-xs); + &.button--circle { + width: map-get($button, circle-diameter-xs); + height: map-get($button, circle-diameter-xs); + } +} + +.button--sm { + padding: map-get($button, padding-y-sm) map-get($button, padding-x-sm); + font-size: map-get($base, font-size-sm); + &.button--circle { + width: map-get($button, circle-diameter-sm); + height: map-get($button, circle-diameter-sm); + } +} + +.button--lg { + padding: map-get($button, padding-y-lg) map-get($button, padding-x-lg); + font-size: map-get($base, font-size-lg); + &.button--circle { + width: map-get($button, circle-diameter-lg); + height: map-get($button, circle-diameter-lg); + } +} + +.button--xl { + padding: map-get($button, padding-y-xl) map-get($button, padding-x-xl); + font-size: map-get($base, font-size-xl); + &.button--circle { + width: map-get($button, circle-diameter-xl); + height: map-get($button, circle-diameter-xl); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_card.scss b/docs/gh-pages/_sass/common/components/_card.scss new file mode 100644 index 0000000000..2431461ef4 --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_card.scss @@ -0,0 +1,103 @@ + +.card { + max-width: 18rem; + border-radius: map-get($base, border-radius); + @include box-shadow(); + @include transition(box-shadow map-get($animation, duration) map-get($animation, timing-function)); + & > :first-child { + border-top-left-radius: map-get($base, border-radius); + border-top-right-radius: map-get($base, border-radius); + } + & > :last-child { + border-bottom-right-radius: map-get($base, border-radius); + border-bottom-left-radius: map-get($base, border-radius); + } +} + +.cell { + & > .card { + max-width: unset; + } +} + +.card__content { + padding: map-get($spacers, 2) map-get($spacers, 3); +} + +.card__header, .card__header > a { + @include link-colors($text-color-d, $main-color-1); +} + +.card__image { + position: relative; + width: 100%; + & > img { + display: block; + width: 100%; + height: auto; + border-radius: inherit; + } + & > .overlay { + position: absolute; + width: 100%; + max-height: 100%; + padding: map-get($spacers, 2); + a { + text-decoration: none !important; + } + } + & > .overlay, & > .overlay--top { + top: 0; + bottom: auto; + border-top-left-radius: inherit; + border-top-right-radius: inherit; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + & > .overlay--bottom { + top: auto; + bottom: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; + } + & > .overlay--full { + top: 0; + bottom: 0; + } + & > .overlay, & > .overlay--dark { + @extend .text--dark; + background-color: rgba(#000, .4); + } + & > .overlay--light { + @extend .text--light; + background: rgba(#fff, .4); + } +} + +.card--clickable { + cursor: pointer; + @include hover() { + @include box-shadow(2); + .card__image { + & > img { + height: inherit; + } + } + } + @include transition(map-get($clickable, transition)); +} + +.card--flat { + @include box-shadow(0); + .card__image { + & > img { + border-radius: map-get($base, border-radius); + } + } + .card__content { + padding-top: 0; + padding-left: 0; + } +} diff --git a/docs/gh-pages/_sass/common/components/_gallery.scss b/docs/gh-pages/_sass/common/components/_gallery.scss new file mode 100644 index 0000000000..774d3afe6a --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_gallery.scss @@ -0,0 +1,21 @@ +.gallery { + height: 100%; + @include flexbox(); + @include flex-direction(column); +} + +.gallery__swiper { + @include flex(1); +} + +.gallery-item { + @include flexbox(); + @include align-items(center); + @include justify-content(center); + height: 100%; + overflow: hidden; +} + +.gallery-item__main { + display: block; +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_hero.scss b/docs/gh-pages/_sass/common/components/_hero.scss new file mode 100644 index 0000000000..27b518227a --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_hero.scss @@ -0,0 +1,70 @@ +.hero { + background-position: 50% 50%; + @include flexbox(); + @include flex-direction(column); + @include justify-content(center); + h1 { font-size: map-get($base, font-size-h1-xl); } + h2 { font-size: map-get($base, font-size-h2-xl); } + h3 { font-size: map-get($base, font-size-h3-xl); } + h4 { font-size: map-get($base, font-size-h4-xl); } + h5 { font-size: map-get($base, font-size-h5-xl); } + h6 { font-size: map-get($base, font-size-h6-xl); } + p { font-size: map-get($base, font-size-xl); } + @include media-breakpoint-down(lg) { + h1 { font-size: map-get($base, font-size-h1-lg); } + h2 { font-size: map-get($base, font-size-h2-lg); } + h3 { font-size: map-get($base, font-size-h3-lg); } + h4 { font-size: map-get($base, font-size-h4-lg); } + h5 { font-size: map-get($base, font-size-h5-lg); } + h6 { font-size: map-get($base, font-size-h6-lg); } + p { font-size: map-get($base, font-size-lg); } + } + @include media-breakpoint-down(md) { + h1 { font-size: map-get($base, font-size-h1-sm); } + h2 { font-size: map-get($base, font-size-h2-sm); } + h3 { font-size: map-get($base, font-size-h3-sm); } + h4 { font-size: map-get($base, font-size-h4-sm); } + h5 { font-size: map-get($base, font-size-h5-sm); } + h6 { font-size: map-get($base, font-size-h6-sm); } + p { font-size: map-get($base, font-size); } + } + background-size: cover; + +} + +.hero--center { + text-align: center; + .menu { + @extend .menu--center; + } +} + +.hero--light { + @extend .text--light; +} + +.hero--dark { + @extend .text--dark; +} + +.hero__content { + margin: map-get($spacers, 5); + @include media-breakpoint-down(lg) { + margin: map-get($spacers, 5) map-get($spacers, 4); + } + @include media-breakpoint-down(md) { + margin: map-get($spacers, 4) map-get($spacers, 3); + } +} + +.heros { + & > .hero { + margin: map-get($spacers, 5); + @include media-breakpoint-down(lg) { + margin: map-get($spacers, 3); + } + @include media-breakpoint-down(md) { + margin: map-get($spacers, 2) 0; + } + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_image.scss b/docs/gh-pages/_sass/common/components/_image.scss new file mode 100644 index 0000000000..74776620ea --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_image.scss @@ -0,0 +1,19 @@ +.image { + max-width: 100%; + @extend .image--md; +} +.image--md { + width: map-get($image, width); +} +.image--xl { + width: map-get($image, width-xl); +} +.image--lg { + width: map-get($image, width-lg); +} +.image--sm { + width: map-get($image, width-sm); +} +.image--xs { + width: map-get($image, width-xs); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_item.scss b/docs/gh-pages/_sass/common/components/_item.scss new file mode 100644 index 0000000000..67a5b808f6 --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_item.scss @@ -0,0 +1,100 @@ +.item { + @include flexbox(); + @include media-breakpoint-down(md) { + @include flex-direction(column); + } +} + +.item__image { + margin-right: map-get($spacers, 3); + & + .item__content { + & > :first-child { + margin-top: 0; + & > :first-child { + margin-top: 0; + } + } + } + @include media-breakpoint-down(md) { + margin-right: 0; + } +} + +.item__content { + @include flex(1); + min-width: 0; +} + +a > .item__header, a.item__header, .item__header > a { + @include link-colors($text-color-d, $main-color-1); +} + +.item__meta { + color: $text-color-l; +} + +.item__description { + &, .article__content { + font-size: map-get($base, font-size-sm); + line-height: map-get($base, line-height); + @include block-elements() { + margin-top: map-get($spacers, 2); + margin-bottom: map-get($spacers, 2); + } + @include heading-elements() { + margin-top: map-get($spacers, 3); + } + h1, h2, h3 { + color: $text-color; + } + h1, h2 { + padding: 0; + border: none; + } + h1 { + font-size: map-get($base, font-size-h1-xs); + } + h2 { + font-size: map-get($base, font-size-h2-xs); + } + h3 { + font-size: map-get($base, font-size-h3-xs); + } + h4 { + font-size: map-get($base, font-size-h4-xs); + } + h5 { + font-size: map-get($base, font-size-h5-xs); + } + h6 { + font-size: map-get($base, font-size-h6-xs); + } + img { + max-height: 32rem; + @include media-breakpoint-down(md) { + max-height: 14rem; + } + } + } +} + +.items { + & > .item { + &:not(:last-child) { + margin-bottom: map-get($spacers, 2); + } + } +} + +.items--divided { + & > .item { + &:not(:first-child) { + padding-top: map-get($spacers, 4); + } + &:not(:last-child) { + padding-bottom: map-get($spacers, 4); + @include split-line(bottom); + } + list-style-type: none; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_menu.scss b/docs/gh-pages/_sass/common/components/_menu.scss new file mode 100644 index 0000000000..4c287d7e4d --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_menu.scss @@ -0,0 +1,67 @@ +@mixin menu-direction($direction: default) { + @if $direction == default { + $direction: "horizontal"; + } + @if $direction == "vertical" { + @include flex-direction(column); + } @else { + @include flex-direction(row); + } +} + +@mixin menu($horizontal-spacer: default, $horizontal-item-vertical-spacer: default, $wrap: default) { + @if $horizontal-spacer == default { + $horizontal-spacer: map-get($menu, horizontal-spacer); + } + @if $horizontal-item-vertical-spacer == default { + $horizontal-item-vertical-spacer: map-get($menu, horizontal-item-vertical-spacer); + } + @if $wrap == default { + $wrap: wrap; + } + @include flexbox(); + @include flex-wrap($wrap); + margin-top: 0; + margin-bottom: 0; + & > li { + @if $horizontal-item-vertical-spacer { + margin-top: map-get($spacers, $horizontal-item-vertical-spacer); + margin-bottom: map-get($spacers, $horizontal-item-vertical-spacer); + } + margin-right: map-get($spacers, $horizontal-spacer); + list-style-type: none; + &:last-child { + margin-right: 0; + } + } +} + +.menu { + @include menu(); + @include menu-direction(); + @include align-items(center); +} + +.menu--vertical { + @include menu-direction("vertical"); + @include align-items(normal); + & > li { + margin-right: 0; + } +} + +.menu--inline { + @include inline-flex(); +} + +.menu--center { + @include justify-content(center); +} + +.menu--nowrap { + @include flex-wrap(nowrap); +} + +.menu--grow { + @include flex-grow(1); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_modal.scss b/docs/gh-pages/_sass/common/components/_modal.scss new file mode 100644 index 0000000000..58a98c7ba2 --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_modal.scss @@ -0,0 +1,39 @@ +@mixin modal($z-index: default, $color: default, $background-color: default) { + @if $z-index == default { + $z-index: map-get($z-indexes, modal); + } + @if $color == default { + $color: $text-color-theme-dark; + } + @if $background-color == default { + $background-color: $mask-color; + } + position: fixed; + top: 0; + left: 0; + z-index: $z-index; + width: 100%; + height: 100%; + color: $color; + touch-action: none; + background-color: $background-color; + opacity: 0; + @include transform(translate(100%, 0)); + @include transition(#{opacity map-get($animation, duration) map-get($animation, timing-function), + transform 0s map-get($animation, duration) map-get($animation, timing-function)}); +} +@mixin modal--show() { + opacity: 1; + @include transform(translate(0, 0)); + @include transition(#{opacity map-get($animation, duration) map-get($animation, timing-function)}); +} + +.modal { + @include modal(); +} +.modal--show { + @include modal--show(); +} +.modal--overflow { + @include overflow(auto); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_swiper.scss b/docs/gh-pages/_sass/common/components/_swiper.scss new file mode 100644 index 0000000000..0e7651b9dc --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_swiper.scss @@ -0,0 +1,48 @@ +.swiper { + position: relative; + @include overflow(hidden); +} + +.swiper__wrapper, .swiper__slide { + width: 100%; + height: 100%; +} + +.swiper__wrapper { + @include flexbox(); +} + +.swiper__wrapper--animation { + @include transition(transform map-get($animation, duration) map-get($animation, timing-function)); +} + +.swiper__slide { + @include flex-shrink(0); + & > img { + max-width: 100%; + } +} + +.swiper__button { + position: absolute; + top: 50%; + @extend .button, .button--circle; + @include transform(translate(0, -50%)); + @include clickable($text-color-d, rgba($main-color-3, .4)); +} + +.swiper--light .swiper__button { + @include clickable($text-color-theme-light, rgba($main-color-theme-dark, .4)); +} + +.swiper--dark .swiper__button { + @include clickable($text-color-theme-dark, rgba($main-color-theme-light, .4)); +} + +.swiper__button--prev { + left: 10px; +} + +.swiper__button--next { + right: 10px; +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/common/components/_toc.scss b/docs/gh-pages/_sass/common/components/_toc.scss new file mode 100644 index 0000000000..15a13ac821 --- /dev/null +++ b/docs/gh-pages/_sass/common/components/_toc.scss @@ -0,0 +1,112 @@ +ul.toc { + display: block; + margin: 0; + color: $text-color; + list-style-type: none; + & > li { + margin: map-get($spacers, 1) 0; + &.active { + a { + color: $main-color-1; + } + } + } + a { + display: inline-block; + margin: map-get($spacers, 1) / 4 0; + text-decoration: none !important; + @include link-colors($text-color, $main-color-1); + } + + .toc-h1 { + color: $text-color-d; + a { + @include link-colors($text-color-d); + } + &.active { + a { + color: $main-color-1; + } + } + } + .toc-h5, .toc-h6 { + color: $text-color-l; + a { + @include link-colors($text-color-l); + } + &.active { + a { + color: $main-color-1; + } + } + } + + .toc-h1 { + @include split-line(bottom); + padding: map-get($spacers, 2) 0 map-get($spacers, 1) 0; + margin-bottom: map-get($spacers, 2); + font-size: map-get($base, font-size); + line-height: map-get($base, line-height); + } + .toc-h2 { + font-size: map-get($base, font-size-sm); + line-height: map-get($base, line-height-sm); + } + .toc-h1, + .toc-h2 { + font-weight: map-get($base, font-weight-bold); + } + .toc-h3, + .toc-h4, + .toc-h5, + .toc-h6 { + font-size: map-get($base, font-size-xs); + font-weight: map-get($base, font-weight); + line-height: map-get($base, line-height-xs); + } + .toc-h3 { + margin-left: map-get($spacers, 3); + } + .toc-h4 { + margin-left: map-get($spacers, 3) * 2; + } + .toc-h5, .toc-h6 { + margin-left: map-get($spacers, 3) * 3; + } +} + +ul.toc--ellipsis { + & > li { + @include overflow(hidden); + text-overflow: ellipsis; + white-space: nowrap; + } +} + +ul.toc--navigator { + & > li { + &.active { + a { + margin-left: -4px; + @include link-colors($main-color-1); + @include split-line(left, 4px, $main-color-1); + } + } + } + a { + padding-left: map-get($spacers, 2); + margin: map-get($spacers, 1) 0; + @include hover() { + background-color: transparent; + } + } + + .toc-h2, + .toc-h3, + .toc-h4 { + color: $text-color-l; + a { + @include link-colors($text-color-l); + } + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_article-content.scss b/docs/gh-pages/_sass/components/_article-content.scss new file mode 100644 index 0000000000..6dbda0d3cf --- /dev/null +++ b/docs/gh-pages/_sass/components/_article-content.scss @@ -0,0 +1,221 @@ +.article__content { + line-height: map-get($base, line-height-lg); + word-wrap: break-word; + @media print { + line-height: map-get($base, line-height); + } + @include block-elements() { + margin: map-get($spacers, 3) 0; + @media print { + margin: map-get($spacers, 2) 0; + } + } + @include heading-elements() { + position: relative; + margin-top: map-get($spacers, 4); + @media print { + margin-top: map-get($spacers, 3); + } + & > .anchor { + @include link-colors($border-color, $main-color-1); + margin-left: map-get($spacers, 1); + text-decoration: none; + visibility: hidden; + opacity: 0; + & > i { + font-size: map-get($base, font-size-sm); + } + } + @include hover() { + & > .anchor { + cursor: pointer; + visibility: visible; + opacity: 1; + } + } + } + h1, + h2 { + @include split-line(bottom); + } + hr { + border: none; + @include horizontal-rules(); + } + blockquote { + padding-left: map-get($spacers, 3); + font-size: map-get($base, font-size-sm); + color: $text-color-l; + @include split-line(left, 4px, $border-color); + p { + margin: map-get($spacers, 2) 0; + } + & > :last-child { + margin-bottom: 0; + } + } + img:not(.emoji) { + max-width: 100%; + vertical-align: middle; + } + .emoji { + display: inline-block; + width: map-get($base, line-height-lg) * .7rem; + height: map-get($base, line-height-lg) * .7rem; + vertical-align: text-bottom; + } + .footnotes { + @include split-line(); + margin-top: map-get($spacers, 5); + @media print { + margin-top: map-get($spacers, 2) * 2; + } + } + code { + padding: map-get($spacers, 1) map-get($spacers, 2); + background-color: $text-background-color; + border-radius: map-get($base, border-radius); + span { + padding: 0; + margin: 0; + } + } + pre { + @include overflow(auto); + & > code { + padding: 0; + word-wrap: normal; + background-color: transparent; + &.language-mermaid, &.language-chart { + svg { + width: 100%; + } + display: none; + &[data-processed] { + display: block; + } + } + } + } + .highlighter-rouge > .highlight, figure.highlight { + & > pre { + padding: map-get($spacers, 3) 0 map-get($spacers, 3) map-get($spacers, 3); + margin: 0; + background-color: $text-background-color; + border-radius: map-get($base, border-radius); + & > code { + display: block; + } + } + } + figure.highlight { + &::before { + display: block; + padding: map-get($spacers, 2) map-get($spacers, 3) map-get($spacers, 2) 0; + font-weight: map-get($base, font-weight-bold); + color: $decorate-color; + text-align: right; + text-transform: uppercase; + content: attr(data-lang); + background-color: $text-background-color; + border-top-left-radius: map-get($base, border-radius); + border-top-right-radius: map-get($base, border-radius); + } + & > pre { + padding-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + & > code { + & > .rouge-table { + width: auto; + margin: 0 0 #{- map-get($spacers, 3)} #{- map-get($spacers, 3)}; + tbody, tr, td { + padding-top: 0; + padding-bottom: 0; + border: none; + } + & > tbody { + @include flexbox; + & > tr { + width: 100%; + @include flexbox; + & > .code { + padding: 0 0 map-get($spacers, 3) map-get($spacers, 2); + @include overflow(auto); + } + } + } + tbody td { + &.gl { + padding-left: map-get($spacers, 3); + } + & > pre { + display: block; + margin: 0; + border-radius: 0; + @include overflow(auto); + &.lineno { + color: $text-color-l; + @include user-select(none); + } + } + } + } + } + } + } + ul, ol { + margin-left: map-get($spacers, 4); + ul, ol { + margin-top: 0; + margin-bottom: 0; + } + li { + p { + margin: map-get($spacers, 2); + @media print { + margin: map-get($spacers, 1); + } + } + } + } + dl { + dt, dd { + p { + margin: map-get($spacers, 2); + @media print { + margin: map-get($spacers, 1); + } + } + } + dt { + font-weight: map-get($base, font-weight-bold); + } + dd { + margin-left: 2rem; + } + } + ul.task-list { + margin-left: 0; + list-style-type: none; + ul, ol { + margin-left: map-get($spacers, 4); + } + } + table { + display: block; + width: 100%; + border-collapse: collapse; + @include overflow(auto); + thead, tfoot { + background-color: $text-background-color; + } + th, td { + padding: map-get($spacers, 2); + border: 1px solid $border-color-l; + } + th { + font-weight: map-get($base, font-weight-bold); + } + } +} diff --git a/docs/gh-pages/_sass/components/_article-footer.scss b/docs/gh-pages/_sass/components/_article-footer.scss new file mode 100644 index 0000000000..cd39b6102e --- /dev/null +++ b/docs/gh-pages/_sass/components/_article-footer.scss @@ -0,0 +1,17 @@ +.article__footer { + margin: map-get($spacers, 4) 0; + font-size: map-get($base, font-size-sm); +} + +.article__license, .article__subscribe { + a { + @include link-colors($text-color, $main-color-1); + } +} + +.article__license { + color: $text-color-l; + img { + height: map-get($base, font-size) * 1.6; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_article-header.scss b/docs/gh-pages/_sass/components/_article-header.scss new file mode 100644 index 0000000000..ae5bef9a97 --- /dev/null +++ b/docs/gh-pages/_sass/components/_article-header.scss @@ -0,0 +1,50 @@ +.article__header { + margin-top: map-get($spacers, 5); + margin-bottom: map-get($spacers, 4); + @include media-breakpoint-down(md) { + margin-top: map-get($spacers, 4); + } + header, h1 { + display: inline; + } + h1 { + word-wrap: break-word; + } + .split-space { + @include user-select(none); + } + .edit-on-github { + text-decoration: none !important; + } +} + +.article__header--overlay { + .overlay { + min-height: 36rem; + padding-top: map-get($spacers, 5) * 2; + padding-bottom: map-get($spacers, 5) * 2; + @include media-breakpoint-down(md) { + min-height: 29rem; + padding-top: map-get($spacers, 5); + padding-bottom: map-get($spacers, 5); + } + } + .overlay__excerpt { + font-size: map-get($base, font-size-h3-xl); + @include media-breakpoint-down(lg) { + font-size: map-get($base, font-size-h3-lg); + } + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h3-sm); + } + font-weight: map-get($base, font-weight-bold); + } + + .article__header { + margin-top: 0; + } +} + +.article__header--cover { + width: 100%; +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_article-info.scss b/docs/gh-pages/_sass/components/_article-info.scss new file mode 100644 index 0000000000..bebf9b5fd3 --- /dev/null +++ b/docs/gh-pages/_sass/components/_article-info.scss @@ -0,0 +1,25 @@ +.article__info { + font-size: map-get($base, font-size-sm); + color: $text-color-l; + .left-col { + float: left; + @include media-breakpoint-down(md) { + float: none; + } + } + .right-col { + float: right; + margin-left: map-get($button, padding-x-sm); + @include media-breakpoint-down(md) { + float: none; + } + & > li { + &:not(:last-child) { + @include split-line(right, default, $text-color-l); + padding-right: map-get($spacers, 2); + margin-right: map-get($spacers, 2); + line-height: map-get($base, line-height-xs); + } + } + } +} diff --git a/docs/gh-pages/_sass/components/_article-list.scss b/docs/gh-pages/_sass/components/_article-list.scss new file mode 100644 index 0000000000..d096ae8d4a --- /dev/null +++ b/docs/gh-pages/_sass/components/_article-list.scss @@ -0,0 +1,18 @@ +.article-list { + .item__meta { + padding: 0 map-get($spacers, 3) 0 0; + font-family: map-get($base, font-family-code); + font-size: map-get($base, font-size-sm); + white-space: nowrap; + } + &.gird--sm { + .card__header { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } +} +.article-list__group-header { + margin-top: map-get($spacers, 3); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_author-links.scss b/docs/gh-pages/_sass/components/_author-links.scss new file mode 100644 index 0000000000..efe09c2ec2 --- /dev/null +++ b/docs/gh-pages/_sass/components/_author-links.scss @@ -0,0 +1,43 @@ +.author-links { + & > ul { + margin: 0; + & > li > { + .mail-button { + @include clickable($text-color-1, $mail-color); + } + .facebook-button { + @include clickable($text-color-1, $facebook-color); + } + .twitter-button { + @include clickable($text-color-1, $twitter-color); + } + .weibo-button { + @include clickable($text-color-1, $weibo-color); + } + .googlepluse-button { + @include clickable($text-color-1, $google-plus-color); + } + .telegram-button { + @include clickable($text-color-1, $telegram-color); + } + .medium-button { + @include clickable($text-color-1, $medium-color); + } + .zhihu-button { + @include clickable($text-color-1, $zhihu-color); + } + .douban-button { + @include clickable($text-color-1, $douban-color); + } + .linkedin-button { + @include clickable($text-color-1, $linkedin-color); + } + .github-button { + @include clickable($text-color-1, $github-color); + } + .npm-button { + @include clickable($text-color-1, $npm-color); + } + } + } +} diff --git a/docs/gh-pages/_sass/components/_author-profile.scss b/docs/gh-pages/_sass/components/_author-profile.scss new file mode 100644 index 0000000000..effe0ff9da --- /dev/null +++ b/docs/gh-pages/_sass/components/_author-profile.scss @@ -0,0 +1,26 @@ +.author-profile { + max-width: 25rem; + padding: map-get($spacers, 2) map-get($spacers, 3); + margin: map-get($spacers, 4) 0; + font-size: map-get($base, font-size-sm); + background-color: $text-background-color; + @include media-breakpoint-down(md) { + text-align: center; + } +} +.author-profile__avatar { + width: 5rem; + height: 5rem; + margin-top: map-get($spacers, 2); + border-radius: 50%; +} +.author-profile__name { + font-size: map-get($base, font-size-lg); + font-weight: map-get($base, font-weight-bold); + a { + @include link-colors($text-color, $main-color-1); + } +} +.author-profile__links { + @include overflow(auto); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_extensions.scss b/docs/gh-pages/_sass/components/_extensions.scss new file mode 100644 index 0000000000..71aae5840f --- /dev/null +++ b/docs/gh-pages/_sass/components/_extensions.scss @@ -0,0 +1,35 @@ +.extensions { + margin: map-get($spacers, 3) 0; + @extend .d-print-none; +} + +.extensions--video, .extensions--slide, .extensions--demo { + position: relative; + width: 100%; + padding: 0; + & > iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } +} + +.extensions--video { + padding-top: percentage(315 / 560); +} + +.extensions--slide { + padding-top: percentage(487 / 599); +} + +.extensions--demo { + min-height: 340px; + padding-top: percentage(315 / 560); +} + +.extensions--audio { + display: block; + max-width: 100% !important; +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_footer.scss b/docs/gh-pages/_sass/components/_footer.scss new file mode 100644 index 0000000000..b7713549e9 --- /dev/null +++ b/docs/gh-pages/_sass/components/_footer.scss @@ -0,0 +1,33 @@ +/** + * Site Info + */ + +.footer { + @include flexbox(); + @include align-items(center); + color: $footer-text-color; + background: $footer-background; + a { + @include link-colors ($footer-text-color, $main-color-1); + } + .site-info { + font-size: map-get($base, font-size-xs); + text-align: center; + .menu { + line-height: map-get($base, line-height-xs); + & > * { + &:not(:last-child) { + @include split-line(right, default, $footer-text-color); + padding-right: map-get($spacers, 1); + margin-right: map-get($spacers, 1); + } + } + } + } +} +.footer__author-links { + @include overflow(auto); + .author-links { + text-align: center; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_header.scss b/docs/gh-pages/_sass/components/_header.scss new file mode 100644 index 0000000000..857319d9a1 --- /dev/null +++ b/docs/gh-pages/_sass/components/_header.scss @@ -0,0 +1,120 @@ +.header { + background: $header-background; + a { + font-weight: map-get($base, font-weight); + text-decoration: none !important; + @include link-colors($header-text-color, $main-color-1); + } + .main { + @include flexbox(); + @include media-breakpoint-down(md) { + @include flex-direction(column); + } + } +} + +.header--dark { + @extend .text--dark; + background: rgba(#000, .15); + .navigation__item--active { + &::after { + @include split-line(bottom, 4px, $text-color-theme-dark); + } + } +} + +.header--light { + @extend .text--light; + background: rgba(#fff, .15); + .navigation__item--active { + &::after { + @include split-line(bottom, 4px, $text-color-theme-light); + } + } +} + +.header__title { + @include menu(3, 0); + @include align-items(center); + @include flex-wrap(nowrap); + @include flex(1); + height: map-get($layout, header-height); + margin-right: map-get($spacers, 3); + white-space: nowrap; + @include media-breakpoint-down(md) { + height: map-get($layout, header-height-sm); + margin-right: 0; + } + & > .header__brand { + @include flex(1); + } + & > .search-button { + display: none; + margin-left: map-get($spacers, 2); + @include media-breakpoint-down(md) { + @include flexbox(); + } + } +} + +.header__brand { + @include flexbox(); + @include align-items(center); + & > svg { + width: map-get($base, font-size-h4) * 1.6; + height: map-get($base, font-size-h4) * 1.6; + margin-right: map-get($spacers, 3); + vertical-align: middle; + @include media-breakpoint-down(md) { + width: map-get($base, font-size-h4) * 1.2; + height: map-get($base, font-size-h4) * 1.2; + } + } + & > a { + display: inline-block; + font-size: map-get($base, font-size-h4); + @include media-breakpoint-down(md) { + font-size: map-get($base, font-size-h4-small); + } + } +} + +.navigation { + @include overflow(auto, "x"); + & > ul { + height: map-get($layout, header-height); + padding-bottom: 0; + margin: 0; + @include media-breakpoint-down(md) { + padding-bottom: 4px; + margin: -4px 0 0 0; + } + @include menu(3, 2, nowrap); + @include align-items(center); + @include media-breakpoint-down(md) { + height: auto; + } + .search-button { + @include media-breakpoint-down(md) { + display: none; + } + } + } +} + +.navigation__item { + &::after { + display: block; + margin-bottom: -4px; + content: ""; + @include split-line(bottom, 4px, transparent); + } +} +.navigation__item--active { + a { + @include link-colors($main-color-1, $main-color-1); + } + &::after { + @include split-line(bottom, 4px, $main-color-1); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_lightbox.scss b/docs/gh-pages/_sass/components/_lightbox.scss new file mode 100644 index 0000000000..6058390e31 --- /dev/null +++ b/docs/gh-pages/_sass/components/_lightbox.scss @@ -0,0 +1,7 @@ +.popup-image { + cursor: pointer; + @include hover() { + @include box-shadow(2); + } + @include transition(map-get($clickable, transition)); +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_main.scss b/docs/gh-pages/_sass/components/_main.scss new file mode 100644 index 0000000000..8c1a2ba2f9 --- /dev/null +++ b/docs/gh-pages/_sass/components/_main.scss @@ -0,0 +1,28 @@ +.main { + width: 100%; + max-width: map-get($layout, content-max-width); + padding: 0 map-get($spacers, 5); + margin: 0 auto; + @include media-breakpoint-down(lg) { + padding: 0 map-get($spacers, 4); + } + @include media-breakpoint-down(md) { + padding: 0 map-get($spacers, 3); + } +} + +.has-aside { + .main { + max-width: map-get($layout, content-max-width) + map-get($layout, aside-width); + @include media-breakpoint-down(lg) { + max-width: map-get($layout, content-max-width); + } + } +} + +.full-width { + .main { + width: 100%; + max-width: 100%; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_search.scss b/docs/gh-pages/_sass/components/_search.scss new file mode 100644 index 0000000000..27ecccf7ba --- /dev/null +++ b/docs/gh-pages/_sass/components/_search.scss @@ -0,0 +1,186 @@ +.search { + @include overflow(auto); + +} +.search--google-custom-search-engine { + .main { + padding-top: map-get($spacers, 4); + padding-bottom: map-get($spacers, 4); + @include media-breakpoint-down(md) { + position: absolute; + padding: 0; + } + } +} + +.search__header { + margin-top: map-get($spacers, 4); + font-size: map-get($base, font-size-h1); + font-weight: map-get($base, font-weight-bold); + color: $text-color-d; + .search--light & { + color: $text-color-theme-light-d; + } + .search--dark & { + color: $text-color-theme-dark-d; + } + @include media-breakpoint-down(md) { + display: none; + } +} + +.search-bar { + @include flexbox(); + margin: map-get($spacers, 3) 0 map-get($spacers, 4) 0; +} + +.search-box { + position: relative; + width: 100%; + max-width: 22rem; + @include media-breakpoint-down(md) { + width: 100%; + max-width: none; + } + & > input { + display: inline-block; + width: 100%; + height: $button-height-lg; + padding: 0 2rem; + margin: 0; + line-height: 1 !important; + color: $text-color; + background-color: transparent; + border: 2px solid $border-color; + border-radius: map-get($button, pill-radius); + -webkit-appearance: none; /* fix iOS don't display box-shadow properly */ + @include transition(box-shadow map-get($animation, duration) map-get($animation, timing-function)); + @include focus { + box-shadow: 0 0 0 2px rgba($border-color, .4); + } + .search--light & { + color: $text-color-theme-light; + border-color: $text-color-theme-light; + @include focus { + box-shadow: 0 0 0 2px rgba($text-color-theme-light, .4); + } + } + .search--dark & { + color: $text-color-theme-dark; + border-color: $text-color-theme-dark; + @include focus { + box-shadow: 0 0 0 2px rgba($text-color-theme-dark, .4); + } + } + } + & > .search-box__icon-search { + color: $text-color-l; + .search--light & { + color: $text-color-theme-light-l; + } + .search--dark & { + color: $text-color-theme-dark-l; + } + } + & > .search-box__icon-clear { + & > a { + @include link-colors($text-color); + .search--light & { + @include link-colors($text-color-theme-light); + } + .search--dark & { + @include link-colors($text-color-theme-dark); + } + cursor: pointer; + } + } + & > .search-box__icon-search, & > .search-box__icon-clear { + position: absolute; + width: $button-height-lg; + height: $button-height-lg; + line-height: $button-height-lg; + text-align: center; + vertical-align: middle; + } + &.not-empty > .search-box__icon-clear { + display: block; + } + & > .search-box__icon-clear { + top: 0; + right: 0; + display: none; + } + & > .search-box__icon-search { + top: 0; + left: 0; + } +} + +.search__cancel { + margin-left: map-get($spacers, 2); + font-weight: map-get($base, font-weight-bold); + white-space: nowrap; +} + +.search-result { + margin: map-get($spacers, 4) 0; + font-size: map-get($base, font-size-sm); + line-height: map-get($base, line-height-sm); +} + +.search-result__header { + margin: map-get($spacers, 3) 0 map-get($spacers, 2) 0; + font-size: map-get($base, font-size-lg); + font-weight: map-get($base, font-weight-bold); + color: $text-color-l; + text-transform: uppercase; + .search--light & { + color: $text-color-theme-light-l; + } + .search--dark & { + color: $text-color-theme-dark-l; + } +} + +.search-result__item { + list-style-type: none; + a { + padding: map-get($spacers, 1) map-get($spacers, 3); + @include transition(none); + @include clickable($text-color, transparent, $text-color-3, $main-color-3); + .search--light & { + @include clickable($text-color-theme-light, transparent, $text-color-theme-dark, $main-color-theme-light); + } + .search--dark & { + @include clickable($text-color-theme-dark, transparent, $text-color-theme-light, $main-color-theme-dark); + } + } + &.active { + a { + @include plain() { + color: $text-color-3; + background-color: $main-color-3; + .search--light & { + color: $text-color-theme-dark; + background-color: $main-color-theme-light; + } + .search--dark & { + color: $text-color-theme-light; + background-color: $main-color-theme-dark; + } + } + @include active() { + @include transition(map-get($clickable, transition)); + } + } + } +} + +// google search +.gsc-control-cse { + *, + ::before, + ::after { + box-sizing: initial; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/components/_tags.scss b/docs/gh-pages/_sass/components/_tags.scss new file mode 100644 index 0000000000..cc9a8574c7 --- /dev/null +++ b/docs/gh-pages/_sass/components/_tags.scss @@ -0,0 +1,24 @@ +.site-tags { + .tag-button { + @include clickable($text-color-3, $main-color-3, default, default, $text-color-2,$main-color-2, $text-color-2,$main-color-2); + & > .tag-button__count { + display: inline-block; + margin-left: map-get($spacers, 1); + font-size: map-get($base, font-size-xs); + line-height: 1; + vertical-align: top; + } + } + .tag-button-1 { + @include clickable($text-color-1, rgba($main-color-1, .4), default, default, $text-color-2,$main-color-2, $text-color-2,$main-color-2); + } + .tag-button-2 { + @include clickable($text-color-1, rgba($main-color-1, .55), default, default, $text-color-2,$main-color-2, $text-color-2,$main-color-2); + } + .tag-button-3 { + @include clickable($text-color-1, rgba($main-color-1, .7), default, default, $text-color-2,$main-color-2, $text-color-2,$main-color-2); + } + .tag-button-4 { + @include clickable($text-color-1, rgba($main-color-1, .9), default, default, $text-color-2,$main-color-2, $text-color-2,$main-color-2); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/custom.scss b/docs/gh-pages/_sass/custom.scss new file mode 100644 index 0000000000..631ea6177e --- /dev/null +++ b/docs/gh-pages/_sass/custom.scss @@ -0,0 +1,7 @@ +// start custom scss snippet +li.toc-h1:first-child { + height: 38px; + overflow: hidden; + margin-top: 26px; +} +// end custom scss snippet diff --git a/docs/gh-pages/_sass/layout/_404.scss b/docs/gh-pages/_sass/layout/_404.scss new file mode 100644 index 0000000000..be29a6ef3c --- /dev/null +++ b/docs/gh-pages/_sass/layout/_404.scss @@ -0,0 +1,14 @@ +.layout--404 { + .sign { + display: table; + margin: map-get($spacers, 4) auto; + margin-top: map-get($spacers, 5); + h1 { + font-size: map-get($base, font-size-xl) * 4; + line-height: 1; + } + p { + font-size: map-get($base, font-size-xl) * 1.2; + } + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_archive.scss b/docs/gh-pages/_sass/layout/_archive.scss new file mode 100644 index 0000000000..7dc417f423 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_archive.scss @@ -0,0 +1,5 @@ +.layout--archive { + & > .layout--archive__result { + margin: map-get($spacers, 4) 0; + } +} diff --git a/docs/gh-pages/_sass/layout/_article.scss b/docs/gh-pages/_sass/layout/_article.scss new file mode 100644 index 0000000000..42d0b874d4 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_article.scss @@ -0,0 +1,29 @@ +.article__sharing { + margin: map-get($spacers, 4) 0; +} +.article__section-navigator { + padding-top: map-get($spacers, 3); + margin: map-get($spacers, 4) 0 map-get($spacers, 3) 0; + word-wrap: break-word; + @include split-line(top, 4px); + & > .previous, & > .next { + width: 50%; + & > span { + font-weight: map-get($base, font-weight-bold); + color: $text-color-l; + } + & > a { + display: block; + @include link-colors($text-color, $main-color-1); + } + } + & > .previous { + float: left; + padding-right: map-get($spacers, 2); + } + & > .next { + float: right; + padding-left: map-get($spacers, 2); + text-align: right; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_articles.scss b/docs/gh-pages/_sass/layout/_articles.scss new file mode 100644 index 0000000000..ca0ca50c81 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_articles.scss @@ -0,0 +1,17 @@ +.layout--articles { + margin: map-get($spacers, 4) 0; + margin-top: map-get($spacers, 5); + @include media-breakpoint-down(md) { + margin-top: map-get($spacers, 4); + } + .card__header { + font-size: map-get($base, font-size); + } + .card__image { + & > .overlay { + &, .card__header { + font-size: map-get($base, font-size-sm); + } + } + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_base.scss b/docs/gh-pages/_sass/layout/_base.scss new file mode 100644 index 0000000000..91934fc42f --- /dev/null +++ b/docs/gh-pages/_sass/layout/_base.scss @@ -0,0 +1,6 @@ +.icon { + display: block; + > svg { + display: block; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_home.scss b/docs/gh-pages/_sass/layout/_home.scss new file mode 100644 index 0000000000..3a45b42f29 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_home.scss @@ -0,0 +1,15 @@ +.layout--home { + .pagination { + margin: map-get($spacers, 4) 0; + } + .pagination__menu { + max-width: 100%; + @include overflow(auto); + } + .pagination__omit { + color: $text-color-l; + } + .items { + margin-top: map-get($spacers, 4) * 1.5; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_landing.scss b/docs/gh-pages/_sass/layout/_landing.scss new file mode 100644 index 0000000000..731802c307 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_landing.scss @@ -0,0 +1,23 @@ +.layout--landing { + .heros { + max-width: map-get($layout, content-max-width) * 2; + margin-right: auto; + margin-left: auto; + } + .hero { + img { + display: block; + width: 100%; + margin: 0 auto; + } + } + .hero__content { + margin-bottom: 0; + } + .hero__cover { + max-width: map-get($layout, content-max-width); + } + .hero__cover--full-width { + max-width: none; + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/layout/_page.scss b/docs/gh-pages/_sass/layout/_page.scss new file mode 100644 index 0000000000..6010f4be57 --- /dev/null +++ b/docs/gh-pages/_sass/layout/_page.scss @@ -0,0 +1,165 @@ +body, +html, +.root, +.layout--page { + height: 100%; +} + +.layout--page { + &.layout--page--sidebar { + .page__viewport, + .page__grid { + height: 100%; + } + @include media-breakpoint-down(lg) { + .page__main { + @include overflow(unset); + } + } + } +} + +.page__main { + height: 100%; + color: $text-color; + .col-aside { + display: none; + & > aside { + position: absolute; + width: map-get($layout, aside-width); + @include overflow(hidden); + } + } +} + +.page__main-inner { + position: relative; + @include flexbox(); + @include flex-direction(column); + min-height: 100%; + background-color: $background-color; +} + +.page__content { + @include flex(1); + width: 100%; + margin: 0 auto; + @media print { + padding-bottom: 0; + } +} +.hide-footer { + .page__content { + padding-bottom: 0; + } +} + +.page__comments { + margin: map-get($spacers, 4) 0; +} + +.page__aside { + .toc-aside { + padding: map-get($spacers, 5) 0 map-get($spacers, 3) map-get($spacers, 5); + } +} + +.page__actions { + position: fixed; + bottom: map-get($spacers, 5); + left: map-get($spacers, 3); + z-index: map-get($z-indexes, actions); + display: none; +} + +.page__sidebar { + z-index: map-get($z-indexes, sidebar); + display: block; + width: 80%; + max-width: map-get($layout, sidebar-width); + height: 100%; + background-color: $background-color; + @include split-line(right); + @include transition(transform map-get($animation, duration)); + @include overflow(auto); + .sidebar-toc { + padding: map-get($spacers, 3) map-get($spacers, 3) map-get($spacers, 4) map-get($spacers, 4); + } +} +.sidebar-button { + @include clickable($text-color-d, rgba($main-color-3, .75)); +} + +.page__mask { + @include modal(map-get($z-indexes, mask)); + cursor: pointer; +} +.layout--page--sidebar { + .page__main { + @include overflow(auto); + @media print { + @include overflow(unset); + } + } +} + +.has-aside { + .col-aside { + position: relative; + display: block; + width: map-get($layout, aside-width); + & > aside { + &.fixed { + position: fixed; + -webkit-font-smoothing: subpixel-antialiased; + } + } + @include media-breakpoint-down(lg) { + display: none; + } + } +} + +@include media-breakpoint-down(lg) { + .page__sidebar { + position: fixed; + @include transform(translate(- map-get($layout, sidebar-width), 0)); + } + + .page__actions { + display: block; + } + + .show-sidebar { + .page__actions { + visibility: hidden; + } + .page__sidebar { + @include transform(translate(0)); + } + .page__mask { + @include modal--show(); + } + } +} + +.hero--light { + .article__info { + color: $text-color-theme-light; + } +} +.hero--dark { + .article__info { + color: $text-color-theme-dark; + } +} + +.page__main--immersive { + .page__header { + position: absolute; + width: 100%; + } + .hero__content { + padding-top: map-get($layout, header-height); + } +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_chocolate.scss b/docs/gh-pages/_sass/skins/_chocolate.scss new file mode 100644 index 0000000000..733da56829 --- /dev/null +++ b/docs/gh-pages/_sass/skins/_chocolate.scss @@ -0,0 +1,74 @@ +/// +// Skin: Chocolate +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #563a20; +$text-color-1: rgba(#fff, .85); + +$main-color-2: #8a2827; +$text-color-2: rgba(#fff, .85); + +$main-color-3: #b49b92; +$text-color-3: rgba(#fff, .85); + +$main-color-theme-light: rgba(#000, .9); +$main-color-theme-dark: rgba(#fff, .9); + +// page background +$background-color: #d2c2bc; + +// text colors +$text-color-theme-light-d: rgba(#000, .95); +$text-color-theme-light: rgba(#000, .85); +$text-color-theme-light-l: rgba(#000, .5); + +$text-color-theme-dark-d: #fff; +$text-color-theme-dark: rgba(#fff, .95); +$text-color-theme-dark-l: rgba(#fff, .85); + +$text-color-d: $text-color-theme-light-d; +$text-color: $text-color-theme-light; +$text-color-l: $text-color-theme-light-l; + +$text-background-color: rgba(#000, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: $main-color-3; + +$footer-text-color: $text-color-3; +$footer-background: $main-color-3; + +// border and shadow colors +$border-color: $main-color-3; +$border-color-l: mix(#000, $background-color, 10%); +$decorate-color: rgba(#000, .1); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-3, .5); + +// function colors +$green: #5baa34; +$blue: #1c7cd4; +$yellow: #c9771f; +$red: #da3d45; +$text-color-function: rgba(#fff, .85); + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow-night-eighties"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_dark.scss b/docs/gh-pages/_sass/skins/_dark.scss new file mode 100644 index 0000000000..4af4572e49 --- /dev/null +++ b/docs/gh-pages/_sass/skins/_dark.scss @@ -0,0 +1,74 @@ +/// +// Skin: Dark +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #ff9500; +$text-color-1: rgba(#fff, .8); + +$main-color-2: #ff006a; +$text-color-2: rgba(#fff, .8); + +$main-color-3: #202020; +$text-color-3: rgba(#fff, .8); + +$main-color-theme-light: rgba(#000, .8); +$main-color-theme-dark: rgba(#fff, .8); + +// page background +$background-color: #121212; + +// text colors +$text-color-theme-light-d: #000; +$text-color-theme-light: #222; +$text-color-theme-light-l: #888; + +$text-color-theme-dark-d: rgba(#fff, .8); +$text-color-theme-dark: rgba(#fff, .7); +$text-color-theme-dark-l: rgba(#fff, .5); + +$text-color-d: $text-color-theme-dark-d; +$text-color: $text-color-theme-dark; +$text-color-l: $text-color-theme-dark-l; + +$text-background-color: rgba(#fff, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: $main-color-3; + +$footer-text-color: $text-color-3; +$footer-background: $main-color-3; + +// border and shadow colors +$border-color: mix(#fff, $background-color, 20%); +$border-color-l: mix(#fff, $background-color, 10%); +$decorate-color: rgba(#fff, .1); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-1, .5); + +// function colors +$green: #5baa34; +$blue: #1c7cd4; +$yellow: #c9771f; +$red: #da3d45; +$text-color-function: rgba(#fff, .8); + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow-night"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_default.scss b/docs/gh-pages/_sass/skins/_default.scss new file mode 100644 index 0000000000..78cf26c203 --- /dev/null +++ b/docs/gh-pages/_sass/skins/_default.scss @@ -0,0 +1,74 @@ +/// +// Skin: Default +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #fc4d50; +$text-color-1: #fff; + +$main-color-2: #fca24d; +$text-color-2: #fff; + +$main-color-3: #f2f2f2; +$text-color-3: #333; + +$main-color-theme-light: rgba(#000, .9); +$main-color-theme-dark: rgba(#fff, .9); + +// page background +$background-color: #fff; + +// text colors +$text-color-theme-light-d: #000; +$text-color-theme-light: #222; +$text-color-theme-light-l: #888; + +$text-color-theme-dark-d: #fff; +$text-color-theme-dark: rgba(#fff, .95); +$text-color-theme-dark-l: rgba(#fff, .85); + +$text-color-d: $text-color-theme-light-d; +$text-color: $text-color-theme-light; +$text-color-l: $text-color-theme-light-l; + +$text-background-color: rgba(#000, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: $main-color-3; + +$footer-text-color: $text-color-3; +$footer-background: $main-color-3; + +// border and shadow colors +$border-color: mix(#000, $background-color, 20%); +$border-color-l: mix(#000, $background-color, 10%); +$decorate-color: rgba(#000, .1); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-1, .5); + +// function colors +$green: #52c41a; +$blue: #1890ff; +$yellow: #fa8c16; +$red: #f5222d; +$text-color-function: #fff; + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_forest.scss b/docs/gh-pages/_sass/skins/_forest.scss new file mode 100644 index 0000000000..b78c1730ef --- /dev/null +++ b/docs/gh-pages/_sass/skins/_forest.scss @@ -0,0 +1,74 @@ +/// +// Skin: Forest +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #bb6170; +$text-color-1: #fff; + +$main-color-2: #f3c584; +$text-color-2: #fff; + +$main-color-3: #7cc7bb; +$text-color-3: #fff; + +$main-color-theme-light: rgba(#000, .9); +$main-color-theme-dark: rgba(#fff, .9); + +// page background +$background-color: #f8fcfb; + +// text colors +$text-color-theme-light-d: #325f74; +$text-color-theme-light: #3e758f; +$text-color-theme-light-l: #619dbb; + +$text-color-theme-dark-d: #fff; +$text-color-theme-dark: rgba(#fff, .95); +$text-color-theme-dark-l: rgba(#fff, .85); + +$text-color-d: $text-color-theme-light-d; +$text-color: $text-color-theme-light; +$text-color-l: $text-color-theme-light-l; + +$text-background-color: rgba(#000, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: $main-color-3; + +$footer-text-color: $text-color-3; +$footer-background: $main-color-3; + +// border and shadow colors +$border-color: #3e758f; +$border-color-l: mix(#000, $background-color, 10%); +$decorate-color: rgba(#bb6170, .15); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-1, .5); + +// function colors +$green: #52c41a; +$blue: #1890ff; +$yellow: #fa8c16; +$red: #f5222d; +$text-color-function: #fff; + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_ocean.scss b/docs/gh-pages/_sass/skins/_ocean.scss new file mode 100644 index 0000000000..bc75ac3b79 --- /dev/null +++ b/docs/gh-pages/_sass/skins/_ocean.scss @@ -0,0 +1,74 @@ +/// +// Skin: Ocean +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #0366d6; +$text-color-1: #fff; + +$main-color-2: #a5917f; +$text-color-2: #fff; + +$main-color-3: #f1f8ff; +$text-color-3: #0366d6; + +$main-color-theme-light: rgba(#000, .9); +$main-color-theme-dark: rgba(#fff, .9); + +// page background +$background-color: #fff; + +// text colors +$text-color-theme-light-d: rgba(#000, .95); +$text-color-theme-light: rgba(#000, .85); +$text-color-theme-light-l: rgba(#000, .5); + +$text-color-theme-dark-d: #fff; +$text-color-theme-dark: rgba(#fff, .95); +$text-color-theme-dark-l: rgba(#fff, .85); + +$text-color-d: $text-color-theme-light-d; +$text-color: $text-color-theme-light; +$text-color-l: $text-color-theme-light-l; + +$text-background-color: rgba(#000, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: $main-color-3; + +$footer-text-color: $text-color-3; +$footer-background: $main-color-3; + +// border and shadow colors +$border-color: mix(#000, $background-color, 20%); +$border-color-l: mix(#000, $background-color, 10%); +$decorate-color: rgba(#000, .1); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-1, .5); + +// function colors +$green: #52c41a; +$blue: #1890ff; +$yellow: #fa8c16; +$red: #f5222d; +$text-color-function: #fff; + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow-night-blue"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/_orange.scss b/docs/gh-pages/_sass/skins/_orange.scss new file mode 100644 index 0000000000..a7e6f85b83 --- /dev/null +++ b/docs/gh-pages/_sass/skins/_orange.scss @@ -0,0 +1,74 @@ +/// +// Skin: Orange +// Author: Tian Qi +// Email: kitian616@outlook.com +/// + +// main colors +$main-color-1: #f92651; +$text-color-1: #fff; + +$main-color-2: #fdb824; +$text-color-2: #fff; + +$main-color-3: #ff8a64; +$text-color-3: #fff; + +$main-color-theme-light: rgba(#000, .9); +$main-color-theme-dark: rgba(#fff, .9); + +// page background +$background-color: #fffdfa; + +// text colors +$text-color-theme-light-d: rgba(#000, .95); +$text-color-theme-light: rgba(#000, .85); +$text-color-theme-light-l: rgba(#000, .5); + +$text-color-theme-dark-d: rgba(#fff, .95); +$text-color-theme-dark: rgba(#fff, .85); +$text-color-theme-dark-l: rgba(#fff, .65); + +$text-color-d: $text-color-theme-light-d; +$text-color: $text-color-theme-light; +$text-color-l: $text-color-theme-light-l; + +$text-background-color: rgba(#000, .05); + +// header and footer colors +$header-text-color: $text-color-3; +$header-background: linear-gradient(60deg, #ffa650 0%, #ff7b50 100%); + +$footer-text-color: $text-color-3; +$footer-background: linear-gradient(60deg, #ffa650 0%, #ff7b50 100%); + +// border and shadow colors +$border-color: mix($main-color-1, $background-color, 50%); +$border-color-l: mix(#000, $background-color, 10%); +$decorate-color: rgba(#000, .1); +$mask-color: rgba(#000, .9); +$select-color: rgba($main-color-3, .5); + +// function colors +$green: #52c41a; +$blue: #1890ff; +$yellow: #fa8c16; +$red: #f5222d; +$text-color-function: #fff; + +// logo colors +$mail-color: #0072c5; +$facebook-color: #4267b2; +$twitter-color: #1da1f2; +$weibo-color: #e6162d; +$google-plus-color:#ea4335; +$telegram-color: #32afed; +$medium-color: #000; +$zhihu-color: #0084ff; +$douban-color: #42bd56; +$linkedin-color: #1074af; +$github-color: #000; +$npm-color: #fff; + +// highlight colors +@import "skins/highlight/tomorrow-night-eighties"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/_default.scss b/docs/gh-pages/_sass/skins/highlight/_default.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-blue.scss b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-blue.scss new file mode 100644 index 0000000000..a0fe3c2f5c --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-blue.scss @@ -0,0 +1,2 @@ +@import "./tomorrow/night-blue"; +@import "./tomorrow/highlight"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-bright.scss b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-bright.scss new file mode 100644 index 0000000000..89b3e62757 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-bright.scss @@ -0,0 +1,2 @@ +@import "./tomorrow/night-bright"; +@import "./tomorrow/highlight"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-eighties.scss b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-eighties.scss new file mode 100644 index 0000000000..040688cb5b --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night-eighties.scss @@ -0,0 +1,2 @@ +@import "./tomorrow/night-eighties"; +@import "./tomorrow/highlight"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/_tomorrow-night.scss b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night.scss new file mode 100644 index 0000000000..c321547e55 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/_tomorrow-night.scss @@ -0,0 +1,2 @@ +@import "./tomorrow/night"; +@import "./tomorrow/highlight"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/_tomorrow.scss b/docs/gh-pages/_sass/skins/highlight/_tomorrow.scss new file mode 100644 index 0000000000..bb99f47f7a --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/_tomorrow.scss @@ -0,0 +1,2 @@ +@import "./tomorrow/default"; +@import "./tomorrow/highlight"; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_default.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_default.scss new file mode 100644 index 0000000000..45aefdc38d --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_default.scss @@ -0,0 +1,10 @@ +$highlight-background : #f7f7f7; +$highlight-foreground : #4d4d4c; +$highlight-comment : #8e908c; +$highlight-red : #c82829; +$highlight-orange : #f5871f; +$highlight-yellow : #eab700; +$highlight-green : #718c00; +$highlight-aqua : #3e999f; +$highlight-blue : #4271ae; +$highlight-purple : #8959a8; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_highlight.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_highlight.scss new file mode 100644 index 0000000000..d9dfd4b3a3 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_highlight.scss @@ -0,0 +1,74 @@ +figure.highlight::before { + color: $highlight-comment !important; + background-color: $highlight-background !important; +} +pre.lineno { + color: $highlight-comment !important; +} +.highlight > pre { + color: $highlight-foreground; + background-color: $highlight-background !important; + .c { color: $highlight-comment; } /* Comment */ + .err { color: $highlight-red; } /* Error */ + .k { color: $highlight-purple; } /* Keyword */ + .l { color: $highlight-orange; } /* Literal */ + .n { color: $highlight-foreground; } /* Name */ + .o { color: $highlight-aqua; } /* Operator */ + .p { color: $highlight-foreground; } /* Punctuation */ + .cm { color: $highlight-comment; } /* Comment.Multiline */ + .cp { color: $highlight-comment; } /* Comment.Preproc */ + .c1 { color: $highlight-comment; } /* Comment.Single */ + .cs { color: $highlight-comment; } /* Comment.Special */ + .gd { color: $highlight-red; } /* Generic.Deleted */ + .ge { font-style: italic; } /* Generic.Emph */ + .gh { font-weight: bold; color: $highlight-foreground; } /* Generic.Heading */ + .gi { color: $highlight-green; } /* Generic.Inserted */ + .gp { font-weight: bold; color: $highlight-comment; } /* Generic.Prompt */ + .gs { font-weight: bold; } /* Generic.Strong */ + .gu { font-weight: bold; color: $highlight-aqua; } /* Generic.Subheading */ + .kc { color: $highlight-purple; } /* Keyword.Constant */ + .kd { color: $highlight-purple; } /* Keyword.Declaration */ + .kn { color: $highlight-aqua; } /* Keyword.Namespace */ + .kp { color: $highlight-purple; } /* Keyword.Pseudo */ + .kr { color: $highlight-purple; } /* Keyword.Reserved */ + .kt { color: $highlight-yellow; } /* Keyword.Type */ + .ld { color: $highlight-green; } /* Literal.Date */ + .m { color: $highlight-orange; } /* Literal.Number */ + .s { color: $highlight-green; } /* Literal.String */ + .na { color: $highlight-blue; } /* Name.Attribute */ + .nb { color: $highlight-foreground; } /* Name.Builtin */ + .nc { color: $highlight-yellow; } /* Name.Class */ + .no { color: $highlight-red; } /* Name.Constant */ + .nd { color: $highlight-aqua; } /* Name.Decorator */ + .ni { color: $highlight-foreground; } /* Name.Entity */ + .ne { color: $highlight-red; } /* Name.Exception */ + .nf { color: $highlight-blue; } /* Name.Function */ + .nl { color: $highlight-foreground; } /* Name.Label */ + .nn { color: $highlight-yellow; } /* Name.Namespace */ + .nx { color: $highlight-blue; } /* Name.Other */ + .py { color: $highlight-foreground; } /* Name.Property */ + .nt { color: $highlight-aqua; } /* Name.Tag */ + .nv { color: $highlight-red; } /* Name.Variable */ + .ow { color: $highlight-aqua; } /* Operator.Word */ + .w { color: $highlight-foreground; } /* Text.Whitespace */ + .mf { color: $highlight-orange; } /* Literal.Number.Float */ + .mh { color: $highlight-orange; } /* Literal.Number.Hex */ + .mi { color: $highlight-orange; } /* Literal.Number.Integer */ + .mo { color: $highlight-orange; } /* Literal.Number.Oct */ + .sb { color: $highlight-green; } /* Literal.String.Backtick */ + .sc { color: $highlight-foreground; } /* Literal.String.Char */ + .sd { color: $highlight-comment; } /* Literal.String.Doc */ + .s2 { color: $highlight-green; } /* Literal.String.Double */ + .se { color: $highlight-orange; } /* Literal.String.Escape */ + .sh { color: $highlight-green; } /* Literal.String.Heredoc */ + .si { color: $highlight-orange; } /* Literal.String.Interpol */ + .sx { color: $highlight-green; } /* Literal.String.Other */ + .sr { color: $highlight-green; } /* Literal.String.Regex */ + .s1 { color: $highlight-green; } /* Literal.String.Single */ + .ss { color: $highlight-green; } /* Literal.String.Symbol */ + .bp { color: $highlight-foreground; } /* Name.Builtin.Pseudo */ + .vc { color: $highlight-red; } /* Name.Variable.Class */ + .vg { color: $highlight-red; } /* Name.Variable.Global */ + .vi { color: $highlight-red; } /* Name.Variable.Instance */ + .il { color: $highlight-orange; } /* Literal.Number.Integer.Long */ +} \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-blue.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-blue.scss new file mode 100644 index 0000000000..70a4f04b48 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-blue.scss @@ -0,0 +1,10 @@ +$highlight-background :#002451; +$highlight-foreground :#fff; +$highlight-comment :#7285b7; +$highlight-red :#ff9da4; +$highlight-orange :#ffc58f; +$highlight-yellow :#ffeead; +$highlight-green :#d1f1a9; +$highlight-aqua :#9ff; +$highlight-blue :#bbdaff; +$highlight-purple :#ebbbff; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-bright.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-bright.scss new file mode 100644 index 0000000000..2b576a1010 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-bright.scss @@ -0,0 +1,10 @@ +$highlight-background :#000; +$highlight-foreground :#eaeaea; +$highlight-comment :#969896; +$highlight-red :#d54e53; +$highlight-orange :#e78c45; +$highlight-yellow :#e7c547; +$highlight-green :#b9ca4a; +$highlight-aqua :#70c0b1; +$highlight-blue :#7aa6da; +$highlight-purple :#c397d8; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-eighties.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-eighties.scss new file mode 100644 index 0000000000..12fb7b4991 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night-eighties.scss @@ -0,0 +1,10 @@ +$highlight-background :#2d2d2d; +$highlight-foreground :#ccc; +$highlight-comment :#999; +$highlight-red :#f2777a; +$highlight-orange :#f99157; +$highlight-yellow :#fc6; +$highlight-green :#9c9; +$highlight-aqua :#6cc; +$highlight-blue :#69c; +$highlight-purple :#c9c; \ No newline at end of file diff --git a/docs/gh-pages/_sass/skins/highlight/tomorrow/_night.scss b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night.scss new file mode 100644 index 0000000000..1e84bb2595 --- /dev/null +++ b/docs/gh-pages/_sass/skins/highlight/tomorrow/_night.scss @@ -0,0 +1,10 @@ +$highlight-background : #1d1f21; +$highlight-foreground : #c5c8c6; +$highlight-comment : #969896; +$highlight-red : #c66; +$highlight-orange : #de935f; +$highlight-yellow : #f0c674; +$highlight-green : #b5bd68; +$highlight-aqua : #8abeb7; +$highlight-blue : #81a2be; +$highlight-purple : #b294bb; \ No newline at end of file diff --git a/docs/gh-pages/ad-insertion.md b/docs/gh-pages/ad-insertion.md new file mode 100644 index 0000000000..8ca6e00ba7 --- /dev/null +++ b/docs/gh-pages/ad-insertion.md @@ -0,0 +1,221 @@ +--- +title: Ad insertion +--- + +ExoPlayer can be used for both client-side and server-side ad insertion. + +## Client-side ad insertion ## + +In client-side ad insertion, the player switches between loading media from +different URLs as it transitions between playing content and ads. Information +about ads is loaded separately from the media, such as from an XML [VAST][] or +[VMAP][] ad tag. This can include ad cue positions relative to the start of the +content, the actual ad media URIs and metadata such as whether a given ad is +skippable. + +When using ExoPlayer's `AdsMediaSource` for client-side ad insertion, the player +has information about the ads to be played. This has several benefits: + +* The player can expose metadata and functionality relating to ads via its API. +* [ExoPlayer UI components][] can show markers for ad positions automatically, + and change their behavior depending on whether ad is playing. +* Internally, the player can keep a consistent buffer across transitions between + ads and content. + +In this setup, the player takes care of switching between ads and content, which +means that apps don't need to take care of controlling multiple separate +background/foreground players for ads and content. + +When preparing content videos and ad tags for use with client-side ad insertion, +ads should ideally be positioned at synchronization samples (keyframes) in the +content video so that the player can resume content playback seamlessly. + +### Declarative ad support ### + +An ad tag URI can be specified when building a `MediaItem`: + +~~~ +MediaItem mediaItem = + new MediaItem.Builder().setUri(videoUri).setAdTagUri(adTagUri).build(); +~~~ +{: .language-java} + +To enable player support for media items that specify ad tags, it's necessary to +build and inject a `DefaultMediaSourceFactory` configured with an +`AdsLoaderProvider` and an `AdViewProvider` when creating the player: + +~~~ +MediaSourceFactory mediaSourceFactory = + new DefaultMediaSourceFactory(context) + .setAdsLoaderProvider(adsLoaderProvider) + .setAdViewProvider(playerView); +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory(mediaSourceFactory) + .build(); +~~~ +{: .language-java} + +Internally, `DefaultMediaSourceFactory` will wrap the content media source in an +`AdsMediaSource`. The `AdsMediaSource` will obtain an `AdsLoader` from the +`AdsLoaderProvider` and use it to insert ads as defined by the media item's ad +tag. + +ExoPlayer's `StyledPlayerView` and `PlayerView` UI components both implement +`AdViewProvider`. The IMA extension provides an easy to use `AdsLoader`, as +described below. + +### Playlists with ads ### + +When playing a [playlist][] with multiple media items, the default behavior is +to request the ad tag and store ad playback state once for each media ID and ad +tag URI combination. This means that users will see ads for every media item +with ads that has a distinct media ID, even if the ad tag URIs match. If a +media item is repeated, the user will see the corresponding ads only once (the +ad playback state stores whether ads have been played, so they are skipped +after their first occurrence). + +It's possible to customize this behavior by passing an opaque ads identifier +with which ad playback state for a given media item is linked, based on object +equality. Here is an example where ad playback state is linked to the ad tag +URI only, rather than the combination of the media ID and ad tag URI, by +passing the ad tag URI as the ads identifier. The effect is that ads will load +only once and the user will not see ads on the second item when playing the +playlist from start to finish. + +~~~ +// Build the media items, passing the same ads identifier for both items, +// which means they share ad playback state so ads play only once. +MediaItem firstItem = + new MediaItem.Builder() + .setUri(firstVideoUri) + .setAdTagUri(adTagUri, /* adsId= */ adTagUri) + .build(); +MediaItem secondItem = + new MediaItem.Builder() + .setUri(secondVideoUri) + .setAdTagUri(adTagUri, /* adsId= */ adTagUri) + .build(); +player.addMediaItem(firstItem); +player.addMediaItem(secondItem); +~~~ +{: .language-java} + +### IMA extension ### + +The [ExoPlayer IMA extension][] provides `ImaAdsLoader`, making it easy to +integrate client-side ad insertion into your app. It wraps the functionality of +the [client-side IMA SDK][] to support insertion of VAST/VMAP ads. For +instructions on how to use the extension, including how to handle backgrounding +and resuming playback, please see the [README][]. + +The [demo application][] uses the IMA extension, and includes several sample +VAST/VMAP ad tags in the sample list. + +#### UI considerations #### + +`StyledPlayerView` and `PlayerView` hide controls during playback of ads by +default, but apps can toggle this behavior by calling +`setControllerHideDuringAds`, which is defined on both views. The IMA SDK will +show additional views on top of the player while an ad is playing (e.g., a 'more +info' link and a skip button, if applicable). + +Since advertisers expect a consistent experience across apps, the IMA SDK does +not allow customization of the views that it shows while an ad is playing. It is +therefore not possible to remove or reposition the skip button, change the +fonts, or make other customizations to the visual appearance of these views. +{:.info} + +The IMA SDK may report whether ads are obscured by application provided views +rendered on top of the player. Apps that need to overlay views that are +essential for controlling playback must register them with the IMA SDK so that +they can be omitted from viewability calculations. When using `StyledPlayerView` +or `PlayerView` as the `AdViewProvider`, they will automatically register their +control overlays. Apps that use a custom player UI must register overlay views +by returning them from `AdViewProvider.getAdOverlayInfos`. + +For more information about overlay views, see +[Open Measurement in the IMA SDK][]. + +#### Companion ads #### + +Some ad tags contain additional companion ads that can be shown in 'slots' in an +app UI. These slots can be passed via +`ImaAdsLoader.Builder.setCompanionAdSlots(slots)`. For more information see +[Adding Companion Ads][]. + +#### Standalone ads #### + +The IMA SDK is designed for inserting ads into media content, not for playing +standalone ads by themselves. Hence playback of standalone ads is not supported +by the IMA extension. We recommend using the [Google Mobile Ads SDK][] instead +for this use case. + +### Using a third-party ads SDK ### + +If you need to load ads via a third-party ads SDK, it's worth checking whether +it already provides an ExoPlayer integration. If not, implementing a custom +`AdsLoader` that wraps the third-party ads SDK is the recommended approach, +since it provides the benefits of `AdsMediaSource` described above. +`ImaAdsLoader` acts as an example implementation. + +Alternatively, you can use ExoPlayer's [playlist support][] to build a sequence +of ads and content clips: + +~~~ +// A pre-roll ad. +MediaItem preRollAd = MediaItem.fromUri(preRollAdUri); +// The start of the content. +MediaItem contentStart = + new MediaItem.Builder() + .setUri(contentUri) + .setClipEndPositionMs(120_000) + .build(); +// A mid-roll ad. +MediaItem midRollAd = MediaItem.fromUri(midRollAdUri); +// The rest of the content +MediaItem contentEnd = + new MediaItem.Builder() + .setUri(contentUri) + .setClipStartPositionMs(120_000) + .build(); + +// Build the playlist. +player.addMediaItem(preRollAd); +player.addMediaItem(contentStart); +player.addMediaItem(midRollAd); +player.addMediaItem(contentEnd); +~~~ +{: .language-java} + +## Server-side ad insertion ## + +In server-side ad insertion (also called dynamic ad insertion, or DAI), the +media stream contains both ads and content. A DASH manifest may point to both +content and ad segments, possibly in separate periods. For HLS, see the Apple +documentation on [incorporating ads into a playlist][]. + +When using server-side ad insertion the client may need to report tracking +events to an ad SDK or ad server. For example, the media stream may include +timed events that need to be reported by the client (see [supported formats][] +for information on what timed metadata formats are supported by ExoPlayer). Apps +can listen for timed metadata events from the player, e.g., via +`SimpleExoPlayer.addMetadataOutput`. + +The IMA extension currently only handles client-side ad insertion. It does not +provide any integration with the DAI part of the IMA SDK. +{:.info} + +[VAST]: https://www.iab.com/wp-content/uploads/2015/06/VASTv3_0.pdf +[VMAP]: https://www.iab.com/guidelines/digital-video-multiple-ad-playlist-vmap-1-0-1/ +[ExoPlayer UI components]: {{ site.baseurl }}/ui-components.html +[ExoPlayer IMA extension]: https://github.com/google/ExoPlayer/tree/release-v2/extensions/ima +[client-side IMA SDK]: https://developers.google.com/interactive-media-ads/docs/sdks/android +[README]: https://github.com/google/ExoPlayer/tree/release-v2/extensions/ima +[demo application]: {{ site.baseurl }}/demo-application.html +[Open Measurement in the IMA SDK]: https://developers.google.com/interactive-media-ads/docs/sdks/android/omsdk +[Adding Companion Ads]: https://developers.google.com/interactive-media-ads/docs/sdks/android/companions +[playlist]: {{ site.baseurl }}/playlists.html +[playlist support]: {{ site.baseurl }}/playlists.html +[incorporating ads into a playlist]: https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/incorporating_ads_into_a_playlist +[supported formats]: {{ site.baseurl }}/supported-formats.html +[Google Mobile Ads SDK]: https://developers.google.com/admob/android/quick-start diff --git a/docs/gh-pages/analytics.md b/docs/gh-pages/analytics.md new file mode 100644 index 0000000000..5451d8a992 --- /dev/null +++ b/docs/gh-pages/analytics.md @@ -0,0 +1,264 @@ +--- +title: Analytics +--- + +ExoPlayer supports a wide range of playback analytics needs. Ultimately, +analytics is about collecting, interpreting, aggregating and summarizing data +from playbacks. This data can be used either on the device, for example for +logging, debugging, or to inform future playback decisions, or reported to a +server to monitor playbacks across all devices. + +An analytics system usually needs to collect events first, and then process them +further to make them meaningful: + +* **Event collection**: + This can be done by registering an `AnalyticsListener` on an `ExoPlayer` + instance. Registered analytics listeners receive events as they occur during + usage of the player. Each event is associated with the corresponding media + item in the playlist, as well as playback position and timestamp metadata. +* **Event processing**: + Some analytics systems upload raw events to a server, with all event + processing performed server-side. It's also possible to process events on the + device, and doing so may be simpler or reduce the amount of information that + needs to be uploaded. ExoPlayer provides `PlaybackStatsListener`, which + allows you to perform the following processing steps: + 1. **Event interpretation**: To be useful for analytics purposes, events need + to be interpreted in the context of a single playback. For example the raw + event of a player state change to `STATE_BUFFERING` may correspond to + initial buffering, a rebuffer, or buffering that happens after a seek. + 1. **State tracking**: This step converts events to counters. For example, + state change events can be converted to counters tracking how much time is + spent in each playback state. The result is a basic set of analytics data + values for a single playback. + 1. **Aggregation**: This step combines the analytics data across multiple + playbacks, typically by adding up counters. + 1. **Calculation of summary metrics**: Many of the most useful metrics are + those that compute averages or combine the basic analytics data values in + other ways. Summary metrics can be calculated for single or multiple + playbacks. + +## Event collection with AnalyticsListener ## + +Raw playback events from the player are reported to `AnalyticsListener` +implementations. You can easily add your own listener and override only the +methods you are interested in: + +~~~ +simpleExoPlayer.addAnalyticsListener(new AnalyticsListener() { + @Override + public void onPlaybackStateChanged( + EventTime eventTime, @Player.State int state) { + } + + @Override + public void onDroppedVideoFrames( + EventTime eventTime, int droppedFrames, long elapsedMs) { + } +}); +~~~ +{: .language-java} + +The `EventTime` that's passed to each callback associates the event to a media +item in the playlist, as well as playback position and timestamp metadata: + +* `realtimeMs`: The wall clock time of the event. +* `timeline`, `windowIndex` and `mediaPeriodId`: Defines the playlist and the + item within the playlist to which the event belongs. The `mediaPeriodId` + contains optional additional information, for example indicating whether the + event belongs to an ad within the item. +* `eventPlaybackPositionMs`: The playback position in the item when the event + occurred. +* `currentTimeline`, `currentWindowIndex`, `currentMediaPeriodId` and + `currentPlaybackPositionMs`: As above but for the currently playing item. The + currently playing item may be different from the item to which the event + belongs, for example if the event corresponds to pre-buffering of the next + item to be played. + +## Event processing with PlaybackStatsListener ## + +`PlaybackStatsListener` is an `AnalyticsListener` that implements on device +event processing. It calculates `PlaybackStats`, with counters and derived +metrics including: + +* Summary metrics, for example the total playback time. +* Adaptive playback quality metrics, for example the average video resolution. +* Rendering quality metrics, for example the rate of dropped frames. +* Resource usage metrics, for example the number of bytes read over the network. + +You will find a complete list of the available counts and derived metrics in the +[`PlaybackStats` Javadoc][]. + +`PlaybackStatsListener` calculates separate `PlaybackStats` for each media item +in the playlist, and also each client-side ad inserted within these items. You +can provide a callback to `PlaybackStatsListener` to be informed about finished +playbacks, and use the `EventTime` passed to the callback to identify which +playback finished. It's possible to [aggregate the analytics data][] for +multiple playbacks. It's also possible to query the `PlaybackStats` for the +current playback session at any time using +`PlaybackStatsListener.getPlaybackStats()`. + +~~~ +simpleExoPlayer.addAnalyticsListener( + new PlaybackStatsListener( + /* keepHistory= */ true, (eventTime, playbackStats) -> { + // Analytics data for the session started at `eventTime` is ready. + })); +~~~ +{: .language-java} + +The constructor of `PlaybackStatsListener` gives the option to keep the full +history of processed events. Note that this may incur an unknown memory overhead +depending on the length of the playback and the number of events. Therefore you +should only turn it on if you need access to the full history of processed +events, rather than just to the final analytics data. + +Note that `PlaybackStats` uses an extended set of states to indicate not only +the state of the media, but also the user intention to play and more detailed +information such as why playback was interrupted or ended: + +| Playback state | User intention to play | No intention to play | +|:---|:---|:---| +| Before playback | `JOINING_FOREGROUND` | `NOT_STARTED`, `JOINING_BACKGROUND` | +| Active playback | `PLAYING` | | +| Interrupted playback | `BUFFERING`, `SEEKING` | `PAUSED`, `PAUSED_BUFFERING`, `SUPPRESSED`, `SUPPRESSED_BUFFERING`, `INTERRUPTED_BY_AD` | +| End states | | `ENDED`, `STOPPED`, `FAILED`, `ABANDONED` | + +The user intention to play is important to distinguish times when the user was +actively waiting for playback to continue from passive wait times. For example, +`PlaybackStats.getTotalWaitTimeMs` returns the total time spent in the +`JOINING_FOREGROUND`, `BUFFERING` and `SEEKING` states, but not the time when +playback was paused. Similarly, `PlaybackStats.getTotalPlayAndWaitTimeMs` will +return the total time with a user intention to play, that is the total active +wait time and the total time spent in the `PLAYING` state. + +### Processed and interpreted events ### + +You can record processed and interpreted events by using `PlaybackStatsListener` +with `keepHistory=true`. The resulting `PlaybackStats` will contain the +following event lists: + +* `playbackStateHistory`: An ordered list of extended playback states with + the `EventTime` at which they started to apply. You can also use + `PlaybackStats.getPlaybackStateAtTime` to look up the state at a given wall + clock time. +* `mediaTimeHistory`: A history of wall clock time and media time pairs allowing + you to reconstruct which parts of the media were played at which time. You can + also use `PlaybackStats.getMediaTimeMsAtRealtimeMs` to look up the playback + position at a given wall clock time. +* `videoFormatHistory` and `audioFormatHistory`: Ordered lists of video and + audio formats used during playback with the `EventTime` at which they started + to be used. +* `fatalErrorHistory` and `nonFatalErrorHistory`: Ordered lists of fatal and + non-fatal errors with the `EventTime` at which they occurred. Fatal errors are + those that ended playback, whereas non-fatal errors may have been recoverable. + +### Single-playback analytics data ### + +This data is automatically collected if you use `PlaybackStatsListener`, even +with `keepHistory=false`. The final values are the public fields that you can +find in the [`PlaybackStats` Javadoc][] and the playback state durations +returned by `getPlaybackStateDurationMs`. For convenience, you'll also find +methods like `getTotalPlayTimeMs` and `getTotalWaitTimeMs` that return the +duration of specific playback state combinations. + +~~~ +Log.d("DEBUG", "Playback summary: " + + "play time = " + playbackStats.getTotalPlayTimeMs() + + ", rebuffers = " + playbackStats.totalRebufferCount); +~~~ +{: .language-java} + +Some values like `totalVideoFormatHeightTimeProduct` are only useful when +calculating derived summary metrics like the average video height, but are +required to correctly combine multiple `PlaybackStats` together. +{:.info} + +### Aggregate analytics data of multiple playbacks ### + +You can combine multiple `PlaybackStats` together by calling +`PlaybackStats.merge`. The resulting `PlaybackStats` will contain the aggregated +data of all merged playbacks. Note that it won't contain the history of +individual playback events, since these cannot be aggregated. + +`PlaybackStatsListener.getCombinedPlaybackStats` can be used to get an +aggregated view of all analytics data collected in the lifetime of a +`PlaybackStatsListener`. + +### Calculated summary metrics ### + +In addition to the basic analytics data, `PlaybackStats` provides many methods +to calculate summary metrics. + +~~~ +Log.d("DEBUG", "Additional calculated summary metrics: " + + "average video bitrate = " + playbackStats.getMeanVideoFormatBitrate() + + ", mean time between rebuffers = " + + playbackStats.getMeanTimeBetweenRebuffers()); +~~~ +{: .language-java} + +## Advanced topics ## + +### Associating analytics data with playback metadata ### + +When collecting analytics data for individual playbacks, you may wish to +associate the playback analytics data with metadata about the media being +played. + +It's advisable to set media-specific metadata with `MediaItem.Builder.setTag`. +The media tag is part of the `EventTime` reported for raw events and when +`PlaybackStats` are finished, so it can be easily retrieved when handling the +corresponding analytics data: + +~~~ +new PlaybackStatsListener( + /* keepHistory= */ false, (eventTime, playbackStats) -> { + Object mediaTag = + eventTime.timeline.getWindow(eventTime.windowIndex, new Window()) + .mediaItem.playbackProperties.tag; + // Report playbackStats with mediaTag metadata. + }); +~~~ +{: .language-java} + +### Reporting custom analytics events ### + +In case you need to add custom events to the analytics data, you need to save +these events in your own data structure and combine them with the reported +`PlaybackStats` later. If it helps, you can extend `AnalyticsCollector` to be +able to generate `EventTime` instances for your custom events and send them to +the already registered listeners as shown in the following example. + +~~~ +interface ExtendedListener extends AnalyticsListener { + void onCustomEvent(EventTime eventTime); +} + +class ExtendedCollector extends AnalyticsCollector { + public void customEvent() { + EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime(); + sendEvent(eventTime, CUSTOM_EVENT_ID, listener -> { + if (listener instanceof ExtendedListener) { + ((ExtendedListener) listener).onCustomEvent(eventTime); + } + }); + } +} + +// Usage - Setup and listener registration. +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context) + .setAnalyticsCollector(new ExtendedCollector()) + .build(); +player.addAnalyticsListener(new ExtendedListener() { + @Override + public void onCustomEvent(EventTime eventTime) { + // Save custom event for analytics data. + } +}); +// Usage - Triggering the custom event. +((ExtendedCollector) player.getAnalyticsCollector()).customEvent(); +~~~ +{: .language-java} + +[`PlaybackStats` Javadoc]: {{ site.exo_sdk }}/analytics/PlaybackStats.html +[aggregate the analytics data]: {{ site.baseurl }}/analytics.html#aggregate-analytics-data-of-multiple-playbacks diff --git a/docs/gh-pages/assets/android-chrome-192x192.png b/docs/gh-pages/assets/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..ca178603189d6ff6aeabf29d2b22e9b3969b176c GIT binary patch literal 8893 zcmZ`_;&EiGLGC@m@7f`D|&&03cLVd8P}tUH=_0Z17We!5If^Fzw|v z_8EjrTR0JgQd z@-yK6zjuE7mo%^k$6HlH5oZmGNAZ}GjPhz00GKRPpULa_&h6y{cgLqaa+f^Z4j!$Yoix;+63s7p&3Ron*=L*VnNH3{ zHRwyY@S3<_$uAwT!@iPO;6jd&tgjAs>;JZejI=+LLC(J9aN5hcqz+>W+jaRncYU67 ze4ceI76O;2xfp6cXTLYW)Wc|Gy_3QkP`??0XacRFnW3k0`1u{@iwB==sIZ?7MVI;= zD@NuKFAyyd@<4}x9U-?DavW8ZzEC49VF(oy6?RrIK8krQ4=eED1&Q|i)q8d#XKZ@t z9n?FF^zBP@)%Ee`xcGYt)R!(Cq&qz1-WO$HCFzbQu1^~?Ku9acl+^dS zCnGW<32P46!MM`UHi(^w009p;QlA2oBSb$rDa+Bs3pKIAHOW?XWJ$pXyX_PO2r#*D z83nH?G48P!#N}+rx>V{+MHse##3?1_MAA^E#bQ=u@9w=S3SZ8Oq)!yLy;T@X+?Y0| z?za;25Ue|y?}`qC)$U#w#f1u@k3SVhzh2d1d4JL6etP1Er806yipoPKyBA<2EbLd6PsX8GaQPoNic+AH7~Gv)gz*|Y&=x2#+-*OY?F;#DXXy6^k|KP@yw zsZtw(5dls*iO@4ZTBG=^(r3at2q*-wa|{F@h`*qX5eBcX!kCaClO+o?nH8o7X@nGo z7S*SyWJ$mU%wnC%MqL)PXL=Qt(taTT$M}>L3JANW2S{3gBa_}OPS?95m zSuq#F$AoUN+;0u{+r_NHtp@BUw{*iNAxC>%?)lZCWZMF+lM}XIaT!&as;F{&$|p8) zWRze}lM1+jiT!2Hlkx_?t-77H`jlv!Z~<>BZo#e$Sdmt0NQ7p|d;CA_vQ#t#8xK*7 z>wwn;j)UUs#;t5)!Wvo@B!U@9<~?_sAjdDMok-2}ilYy!MOajl?*bQ1OBUtO$2%lD zg6D4gwoBL>@51P0as7#%$N>Ea-h`N1=r~3Q<~|nph-31jVoxSJ9yE`@{EmD;JifF1 z%rk!q^S_e|T4UNHc*&BYS0sBcQG(u8bV836?5wSkcWKXCJ06+$ZyC9;dQSJ^e25_J zntB27JfkFl<&P6TpL-K&WtM-!h@|d14_$^JpqG8TM{qkV6@F0xND!?H-h>%#%zMWf z**=(+6%1phAVPp{kK#j}6N5FTKoxmGsd*=Hn$Mp4a{>Xh(H3hf1JJ2hiPy|7i^idD zhH`#dy27wBeMkO|ErKLpPK_%S{$TanT>hstK$5TN;rr+kpFMn`zpUa8=ukPihwGcA zDJ;ro@7}$O#5+1JFDxv~wGtpVREyc)-(MK37?ZQNw|7%lk9+OpM%-&Hn6CR>*%}as zmOW$moCA1$+{Nmkl=Ecg=j2RIW7kZ5^6j&fO4)gXsj|2Z#aMiF1;85^RWNAE3tNJp9@5%6l_W zYG3=9lBY^tO^s)`=E|v>nH${z~A_$iC=4!q?nVZajwdl2x*!G z#qnt+X6L!4!JTSbk&XwTDQ#`immOKIx{ZrIv@A;TFtdo2dyco=`68|h;!fW$4!^ax z_qaGY?HHE+fiPQg)dNkR3fq{Ai>2=-Fo?60`qp;mnty?-v2~Dvs}+7%IDa~v*&0W| zTl2JFLeAw^Y~iZ4)4$&(-&(KVIy*R2r&dR1s&EYs55G8ebc`I&5<9q^Z*U1%R(F~? z!(*Z;EiJWC!rbl`gKDek7#VFXRR=Z)EM`k|dyidZvd|HkzWDrn<$DDF{$QF$ZcYs6 zC)gi|$eSVZ=9{y5TUN4ap7{n#i^ht=#zw>kl2yt4Pc1DiB`qy;A_^)D7>nE0TAZH- z1_x6bc}>~vEfMDK0*{VC|M8l)==mTJ{pY)jv~(ly<+vh9-o{QAE&hn3EH$pRGj48f z_F0V@%-nz?@(&nq=r2^wgMu*f>CKxxC;C2?Unl_YY;{_Ft4(DPu3d3oh2d~`mGi97 zm-6ya8IPl4nTe+=Ev7$y{HU?pH?vuiI_US6CoxWiO&%!5T0*22#kS#~&K-FKRDkUDi?d|x8ps)~+ad=jxzc}HJ9B=r-! z0j?LHFTOvl#eg{7y}k6j51n~sZ~rBO$WVnV0#Hh%Vxr_XSs(lG!ewJ)^V5zWerQq= zzTYjyg|T_iE$#b@{Bd79Uo|dIFRzVk2`@dk76K=HXh^LTe3+YUccx1z(XXt8har!&*L5PDx z`Am#VTaA%-)7RfaBX)-e24PoI^G>M3a z_`G~sFvCUhqwCA$6gNGF!SvLOnDuHH0yT@Lt*2K!q?{RWdz1ML_A(=h<{|7)L#mp& z4n&RX=uO|Z*4HZvf}X!QwZ??_&N;W%TPh*Lp$r&WGgC8-p)tf=MO2`ZJv^!(5=8}V z-m#XHm3ey}AFXeUVWwt!+3D&3IOy2n`!6Kti-v}8U)@mJ6jj>FB3&^(A1B+aVh|f5 zR|{A18(cP5!+M(3K`^5KDB|^bq0aBvlnWp2bM^iGkXmCy!*u)EoD+tGghWSRq`)e60?=Pm+}jplgqyq2oRbwTEu)?)DOAY7@AnL|Ne80fEF{zm--}&hlZ7 zW4hlhT$;_isdZo-uS!XzAISALdo`?y+u@@5XMkn-FZzM;JQ}TM z&j1D3SRQ<{p}zh{`yD`F$co%Y){*Ja(yvq$OkG0-;Z(mNb^>o zSq%*hyN3g2v7zI@IIs-#+3NZI)t|ot(dFcq3=R8V=Xn#LX<50D@LU4_sdZJ zn#r@>MW?;l+Wzicm@Sy|+2_Ju&ukem?%Ff?@&Qbk)kY&%^UHS>;-2f#JEy(`4ot*B zkjIVrOykD7dpyT`g{QsUIMqc71$f`4 zX=t21DK+re{Zq}vK%DL9>Jwlin1L1Z1!_LJZ#j|aE{jWkr3mXF1zwZV!9BiP)H`N4 zy1M$b(I(E`!i`j@Zp)@KHZh^$qZWOR32kU<5{T4| zU2H|Pnl`u+qIzPf9rA&u2aE7aTyK%qFkf%pUx@$gx9LwTsi@%72XoY^`_(gPdc*!C z282bxo(K`WH0O9jL!_jnGb0RYXsjI7U zT3Si1h-Fy||82INK>JOkVaeHhov!<5=NflhXjA@gvzK6TmAD4mzJilSD-}70JPm90 zSX1)bI-MyWtKc(bQ!9ZnDJVoEPPh%!u!<%*M@L76#l)h{_m(R?y*%}FbVy}nWLTH- z-nA4{BjvuBhfoGlZ_1-CTduD5yU9ZNvGUUk+uFh=n?M8haKz-0^!QyXSZ8g6A3ox);%8Lj`W+9uq@+p@{6+?UgRKV15Flgd;Q2T;JIj?9e6@WMNl5!PamOT>Z!fi5FMpiyUD0CU zmw*3uOqp&K&_5b8w-PxiEkc3(cW{d# z3}nf~ldX!wp>u2Uxvgs_Zu0cPcZ@k8vP2&#( zRB_S9byW0N^dJ<#i3~R>2>)f4q$_a!K)>u+ulc0D_ISTJ3N$r8FM+}8yuy48BtUZ& z>3tXN_H^jZN!LlCt`?fc*ApGuTx=lya0DTAEH+?YM{GIJtLkf$c*cHo?!??2_kE4O z$l~H+-{v_np}{l`9FSuw8KvsRj%JAt_7y3+ z)XuM|D`6}vFSA@~mp`b*_z? z>yrQ!&C3$%22l=uQ_>-^x9s?HoWVfo`F|d>{}KCe#8O~+Y;bf`9N+OzqLWv8yzj-9jjLDbPea+%p=@kiZ{*Jj+pFI%)CV+ro6Q)7*r9__ zJ#uR21V2}yY_~UDY3##ub3Z(f(z&SDHZ2p+5{W!+E)Mf?1D`~aNG4c6oS2>wGtU50 z_ug_p=3e*_M^W?1A<9F@dQ>FzaQP^tBvC`Ja7S~Z^CPjc~Z@@@0Ftj}x({HP+9K}*+=`g^f z78;me%Fn-_2J{)|ktFr^q|my;#y`rKhWET&F4iH&)K&8a~?1mJPbgh~aiic?|(F zAM4fLnAx9vCy$I8Tqr3h*8OFOo_0n<+k=8U@&bM58*u-KHn_w!ocYijHw#@P<=vL~ zuCGMp)Y^~RnX@%oF*2&fszZ%+b6mboLcPyVe*~#L<>TUlm}6h_G4*mXVY;}uO!pha3{s}pOdaxXPEJDO|ot*uW2JT z4Gj$lFUvge;}7FaQ(l`_X9kAc@l-nOJu6jHv`O~kD@td-h}u$zXmu?h6IcmL3NU#$ zX+9!)$ye=dKIO07oYFwt{nXU-{&}v<)9(ECplct$mG4+y#Ef1>VSF`HtxlU`vh6G1 zumHE2=I#A`ih0Ctm8kO{MqZ}%ro**C@TIbYiycNM8~8`Y@90&7;p<@vKH#2U_xXmV zoCzoZIB?pJ=hln19mW2swNK*a~_;LAj^~72i)252Y=ex5k#X|Pqsk^wn`QI8@ z+J~sr0;#N;iHd8JMbjTeoXS80C2Y7KZ=iqb4kvAB@+r&9ht}WM&%6ouoX`$_0C;<_u8zmrbZ}{PL@Y2Pr}9k za_<4S+>AfHA1Wef0?mw9uB*##nC?7^tq)n2MO>g)_O~XBc;RkYkv%VUbj^5Z&khX1 z3?JRa@GR7R(sf)Ctfac~aT#Msp#2`bSy9CEPBRq`zkJME5X`Wl5)Eu}BhCRS8c#vG zwD%TCMSAd~zuI!pfXP;wdrIHq$&AM@d;<9FCa?e#%y+h=2}(cq7Xx-rccw}Awo@Lk zYwBHIUUqoJg_D5h8}t_Hd^z0GVagC9qYBi_-w6*UypWnmOZ*v~3u9Cjl6`%!MPl0E zOgi7-$_9roKaz5#3sx_MVM48k(z)E?y2>!ae)yq?yY3YX!<<^@jPI?bAIgz2VXAR? z9IdNX`|O!aE-se;9nIQ=lVXNhgBeDl<)=jO&HL#7H6=_8Wqz~}S|0_;KLpLzZy|uk z@M9+T*6^$*vYhQNI%N znUK8`L*~c@=F_~oPy_M_x#*LAP0ey;@|mku5aT<}Ht_Z((%O%H{YIv%)(GONVv$Zk zR9*{7>W|)Znj-~A`9_^vAvB#kQ_lX_Cv*Ei_&U_l73_X)w}xC1w#J?pRWEA_3%}z{lJP?I?M=;jRx zd3Jr71hL1SL#JIFxmJS3|AI6}cACw~vHwk|9J1uam$@_!t%mVz**$vMK%+;}z5;W< z7wEROwm??hx_0PmHlq!FTR`IH=hyv`jm`1*KuWv*6T5JZ_`Li`Vg@BcM5d%WD&MT# zzg~Lkrx3X#nM9XpUD7>|!0Sb(v$Gd*n}p#}g8n=-H#FaZ~kfL~vZ=S(*=$i0h| zgH&P=7iF#FyzSm2&hAA(lXYv*S37HOPT#z@T<@R+v<2QSZbu=ge9p<1g6DHLE8AAB^> z2mI~Ncqoqj#kW_XXtBE1W4wu-Pb(aU2`OBkjM`r7++;1^eEwQib~4)3X1)G3#ekEX znI^&RYAhMwS$X-l36?if>_4|g6sU52kiDfjzpD&cqzZXUAm%?2d?$z^MPt1si)jJ$P7pKQRdeYZ^dp7^1C3u45uQb{orM&ga zj3W&U4SP_Y@wh#mX$6CLB=()!(`fN3h|9(Jiu{#= z5G`?YL>o03d{-H2HxLNFSMy~Cs}{DNNUqxJ?Z+me%SFVsXDN!ocNu6j!2Kk?v$RxQ zL|C}@{9vB4-o+FQ@v$5WecK3y0_PY@{|N_t;{0D!{!Fd*w{eF&u*4sQ9fnL2(ku^k}VqIIXYC9*XN<`(6qC)96-te4aVYns8qpqGeDkHTnD1Eh-e} zEq}*Fp{b$a=0c5kiMh5m3eor#!xvj-=UP(3uL{irlb!N3@p|hPJmng6YrnDZkw%If@6tsiy0DVzjwFazkoS#9Ekw(X zhY6FHmv^=P_PRazPJLB8QQ93PXQpxu}x85-)Pzy zc;f+5c@9v}a6M;XxQync75rYRmz1{EeiIccM$J6`v1HZQR=kA#(6_SX&8(28H-u-o z%4d{jv*b%|joFL_*Nbajrn>q#4O%gi%8nKd3UczM44b~IK2M-qbB&ELrlRHy z|0MpvIHUe~?=dztSn63H6~~N;%sfADBlkBn%)Gff@96J{jI4t(UdAiHK-B&L-o!n^ z%Cut%6xQ5hNdJ_b?RH(mdeG?Z)`La77-~?aVh8K<2w_g(AK(L zIUid~g43%^ogeJfLbF|5>Omr9wYOBSoFx??8XiEir)QOyM5*41W z1-&^;et7$rfiyjWlHY=-?H^~SS3l7y=>2)w`8n>NBG;Dte#@@R9R_qR(#-vOi7B?W zwg<1te5oOU}$(WrM9wltY)u!Q9>G&9*$4l z0?qf9JK-)B;{h*?DcalHt?%z<%0!%ICcu0P*5Z|^8om5X$eylFjPrtn^{c`LyU%O* z5Rh_7CH`sl`Z6$xJ3L!!Py7+~F)J&_?RL2H>zkb!9Gu|`{$N)o%*}B`Z25eHNtUP! zD;2B-#JOG%I;R{8xh#@Z!>zxhSX(u^u?e{M3V*%zr9cb&%8n{;l92tp`SHt6^P`*VOQu7g1`ARi|~rATLHG?y2C-aKA%&TnkJv9a;#DeT{$ zYMXt2hJfeN$0JV)%i9-eoEtasz#p+>!pCN}F<(17pZJ>@C-7q>KT}h+u&8JOHRQ#l zkQWuV3U?*k}eg1d-FZR+cUB!;%=6KH9$m|pAgWUE*LkmB) zDwlatP>P+^9fB7(lasS zonQ--_hTyfawQd{IFlV^xJAApCJ@|lAP7|xv*^0EcTB>#ULXmmRRFIP#dQ|0WcnHRX69N2K z5bEn@W`)xde3ysRw7HlKBkjtNc&qs$m`)thH$E;J5AbQwx_#j~=qcv1=T!m@Scm2v zhWIgbz;hEwk$sApr1zwf8qI|9txw1Wpvbi?1NlK8c{@`tm|!~AL}*9g9ix9{e=!%a zd}JZuKj|<;oPT?ZZ?%w9Fr-Z;2PP`}uCy*{fk^moYHsLjg_*H?tQO3e*=b>5mLI8U zCE|~;f55IWi{`7*2Ryu~52I9s69ppOn#gB4kxxMyV`=j57z7Re6pock;C@XS`KPbGxP_VO~jkC5-rCX$x z@lHxol9P)|rwbE>;k!KBPI>`Bi=31(I5|5P7Zvray`&aO(6d3FZb^!8lcvEr2 z#~T6+l}*(9#Fbzfh2=2+LlxEy9YXFP9qTw_A9QlWir%z$QJn0$ zfx}$)3~aYRPCAAIJ^1GfHg82E?^iFqZ6$3yZNUZ*5)hQ&6%gVT6wnhAk`#U-DJ<|< zKu}UZpqm>|{67<1++I1@`ThSBst`?=-~>Z|JtJ@3mk368Pd7UUXIn;ZKX+S32X}89 z0PxLTJ0gI27;th9X$_C4Zs-CSEckpj_zzefsHc%*JYal=6z+M2!BVToIQ-}LK<`K| hT`$fsQYBxF5BNt(>V2djk^yc3s48kct5C3d`#%r74Eq28 literal 0 HcmV?d00001 diff --git a/docs/gh-pages/assets/android-chrome-256x256.png b/docs/gh-pages/assets/android-chrome-256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6bcd1a9877cf6b64043342d4a6598c2059e1b2 GIT binary patch literal 12262 zcmZ`5`svBNJ+y03epXuARyhHBGTP`kKg@u zf83d8o-=dK?7i38Ywfk(_3j<5{ah6niwX+>09;5;(@RQFKBl1 zn(_cp6_0&ui4Oi|uu{|21b_fG0Dy%9z%_Uawg~{<0sydW0RWPp0D#;rt64`1e1P%# zsj3q2@b8`5R+0?f!SqtsRK{F`V3Bci5RqTc0s!ATbtQRyzq!3^{~(i}sRte22Ybpb zJik6V87&!nsIpmm0U6jw%S=d!h4XBqu_^v-OTVziu>JMamVr9?7tW(cMnEQO!Z#Kc z0tU;5SX!K!kG?!k{*$)OA190hni`hqi{fa%#V))ly{X^6x!OdX@hY#F*f7}0k}Qd{ zplIAXpGSFS!6ZQ62zquyAa-jw3sWIdCr~AOv47!SJK-BS4_;;o1v_G3G%=TyK9Or?nvoLTHY7 zD3eHOB(@y2J>!V|Z$`_14-4QeFlv+og32~(Kf+7KZ-h}WGDz%S69M8Qwi1em2AwAz zb`(?l=(Z>Z05Pmn?v=7l(L$s9nm|xsZ1)|`9O|Z6h-}~91AAo1hAb^nDt#lp9}WWZ z-|+O^xze!reHyTMh_9gV;|DncIl^xcLmV#%E@^6N9{A*+23eowAIUxJn?r8N-OQ@# ziy!>iP^N)#m~C!Ve)ZTCQ|@R`LZc!~4=cDGaw}H0!k(IdDEq+<%gN)ya;7D-7iNzx z5!lez&>;;ewY|;la)um+!r0**DBamiCRBq_?0onuB+SiJFN!m>cQGk}V5B257_rvr z0*a_2>AntJ6Nj?73As5`)4zrpBE2kF%Q#C*^Q)_kHZX;m)4xOIFb=&ff~x6%(;T6$ zBU2H@g^Hl~wAZzALPV6$@GNMy(U7sw35V|;c?zF~Q6nT}b15Bgx={^*1=yQgcWw-g z-j|RXc*Xm^zJCql&M}0U;oqT1bR@erU)_9_HpGoofKq%ehknH7XGX2907L-0G47NA zMqz|h&<~ZzaBBpm(F3K~dQS$!XM!o@LK-PHmHp9zjiJI@-4@vJv2+{@&a(GzxNejy zlhF#Al6lfF{GOOTe3SQOK~gVujAqMDP&2&bu#w1Lir!RaaahE0FZ5sfY<-hkv#kZP zs4=#GCqIQN%Mql~Lme4M8VR#eqwr<9*bjkiq9hxbDmb`{VjvLK8K2?lCb6xMgnHK# z2`cK2K8LD?lMI`OEkhart2(hvp-I-jbz0_|AGxrhDK0nU~>0ueaIC`{@C@R0Q9Zcbka5CURi0V@C zP4AX7l7$zN0nb;2om!HV<-1W5d_{bbG6Bt8q6itB1tm12kfSV%vZou-)iE+M&@plV zjhclQ%x)2o6y2QW#&}4*!rrhLawDT}lh>Z3ePZW@$I!-!?xMW-@)rN@f!8Zej#%*> z082Rz3+0ewNNTH9vdEo_9RTQR(DZzFr+GHc!pz(`H27<;|G&@R zUjIs%Td;wx{cG(Zdcet5Lj)9LMfmY!{zt?~>f-0iDx z0vI>FRaXm;sQ+{c%=JWNPOK$^eOlf4`*&_lLqq)G_N3)$PyFz};NY3Hjg5NeWew_| ztp~})%um62366Hbx%_4}@}p9M$bqRsDvS z+Pa6bpRBJktF|Vpbq&&?AXItwK$DxqA5a|R?Nv2Z7%SGo9!skw061CGDJiR~^T)1wRb>?1-K*>(Fe7hL(V>FBw;}Q2oU|#KmQCwewxz!*(RK-_Bk`a+{1M#Jvqr z0%eof8T$oXwd&@B%x`j4+p_Tq!Ai=;bR7do!KHWUlf%7&y`QjEhRkB^Uw zkB>c6vEeuFdyjKdlJbB2*zBoj6P5Iw;xXq!UutS<`uw82qN*q*(YM~^2Qa{8+^Occ0?!{j-iX zk9CbFlOJRwWtlr$x68`2W@~KUsavu${LLeYr?jdxtK+(!9S-?;@^|3Kzs>CXmX>B8 zEL544a1o0{A06^51V=NgaSZh^K+aiTF%C+rsHjGJ3G}=L(}Zk zH&0V_lhQIB`8mv2c+9E|$w)|Wg#Ed+YjB5EBjCOU=#U+l%LpAj(=8h`OuDSAne|o@ ztD=8bnt+CeMo^l$kI|p#lFv!O!NHtWW}K`tIa;5^9DS^RCH)*K{FNN+e$OMMo&14p zWZ4I27lDQ5G@`JAVL}Q~(w6-f=`~zr>(dWm$Ti5BB)~yFh5sd zp*@G4W9X7j`+>2EO*8AyK&I@n$9S_92?<%o`bmGmM;ly64QbGafKV!(})6>%{=I*rQ2Qq!(O*T7Z zEfwt{y~J;IHKgd`vqY?Hy=JS6UiVFuR)s{ZGT~o}yAd8@TR6X9_=fEUb|l%T0MPVU z{tkbXr%ueCfzzJH?(pZ&-wbRro~Q{iVVv2E1l`ve#WZ3*PF`2lHd$hJaf#q-AV{6? zumhIL5x+wI0xm~v4Aq4gG>#Qp_N5EiQu$w9RTv%^5$KgXFG741kRl;{d-qf4oHWgx zuJrmh`Omiz*k4(wLve^-NL*{KOe5`JG_+(aIVl%FValIB*7M`VnlWz0PoJ15fy-RS z*tqZL@89r6#uafqBO{~Z+mpZHX?(BVeEj$^Lm^6E;Pzrod5~8e-w^k8&>1!H2tZh32grABXG_wVZd@uGFRVL~&*GJVjj{>AT<|Z7@t8JdHPdJRX zeza*~RO&-@0r*hq6e7@DfYJyHKXrc;0)^g3Hfw>r{e5cZ#za5CzaH9Ik4#RIrjZjo z8K!@w`RxueNq~cOPzQRndqZ-tp!$`NrVYi7Pf^U>aQ4 zkeiG2XgbPyPv1!5J^W`8N#rH6nvgt32TS?qWb+$mk4zX|qW-MrdF(jFQy$QR$4(Xd z`K+lh#g8Xm$o)4OIN6k+CB4h0H%?f8hji+*(!Y4w3h~471E+Z=eh44u5hpJI%o@$g zcPwvU5}7tfB-9wminH+uYikS6NMKonxP0CK<2FWRO^PMyXzPl+M9*m zoq1eTn2svG!|$)3n)*iYcGRl-@~^2I3NhRB)5g4Ye~Mm61|IO;4Cqy zYxR2&hIA|&`>jUs7=B|I8y|Ok1n=z~5Dq7}_C1lug7bSG8&_kNL*M~kAq+0MGF7(o zqGRq!Z66p_DI(dqpKvn^araloK74^%U>qJGZZO+{KRe@ZFV&n;2ncq!nP~9X16eaB zIu#<&E^-y##*{-)I>_F7G8duCF>G#a9fdO|rkItmm0A~IMSX^};|_q5J>x|~WnRZE z=cX9g-P!RBCQh(bdkh;zE~9iPX-e~fF(#bsZB6nRgdv<^W>M4C++29pakLSF`U!O* zn&_<-YC$bDD?Nn_0Osp$6oZ4s3Xk`$Ge|n$adF>M9-``pAPXW^!oZ~?9>;usAe-Pk zUoV3{oyF~sj73&zmtfSCK~NUW-LN?M0YFnz(+jiZCaDcCmisZR3Mq>kk7|yh0>*NC zMz?4nYg3$YDX>x{5Xks$0g!_LjUH77!#duJQ0?D}BEX9H5G*1B&ccp$uI)E#zyQF{ zui!J6Owz*EH3Q_Lk#JPZFW1e@*8IxJGJgvC-qS0tW3t6|eM5>sMo4j}4q8v*{)vY> z!jkk0M9J)MuIm!ocoIgp2%u}G#<%hUd4DH~Gr~ee+(_U}JlctXm)s{Zpj8mULipuw zw+6+OwR{`0chBs{l1%jHkE{^aa1VyB{qIeg0U**+TTjo*WwBX=sp#1QnY?B-2gC(~ z4#fqvZ%jmIlM4liQYv_T7m52htgcSS%RAS0lK@fuI~4OX;KGDEA7?u4%NM?)r26ja z2mL*=MCM98@R@tn&S&{Gu2xXi6W9xcgGwlbY31JWm&pbSj0n!G8lTZ|vv^?d>@a!- z47w#?2VuQ!E~OABr7Q++E-`iZp3Yn-H-4`TT&t$U&1>XDRF#MTf*d9%FAPhD)u-cfmjpy(vCB!{dmIJkmBB1@?ip;ExDBSuco$?4cDZd|2PHiIs3EFKf4wp{V2`7b7#km* z~L&d<2UfB-F>awXsy4GXI!d@TOJy7~F}wtx$I0>~%e7Q5`zX2{AB7jK@P3-&8nA`u28r3y&_{>z$Y5rq>>0VPh+U zF?Bh-`e<~tpvSttuKtWp+>ratn>Rt<_xBSe6YT|{7IcTw6NWW8FVG>C5b075GzZWj z&EnbL7#Ay3{Skex>g(H3V>e6}xJK5OVs)6WiG>Ug7)B8bEOg{}s;J=Y`oIVhMAs@A$^LD}5b zMRX~_;4s)ub(3mfR^@xJXmx&eb`?R;)sCUq;RfX_ic(^_3r+cWozA0@*Y}=ZF_lc# z5X^G$2@WO=Y?K7uq}24SfzQ(Oc15!c-{Xkcvkc4wd9SZ`c9c}@-WePWR49QAN@ZT_ z+ZqTCZ2LW*3{!OuH_I0YYJK*MSSI)zDJMT!=Sys(NQXrYK8o6JnkJYk6S8;QmdZnJ?G%AP zry{-IovmR%9_hrN?}?|M?w0lV^yn6IyZCntJgp1@Cl)wWSiu6Ph$%c5f#7KNI(psG z+PcvDYw#>lB@*9lb0n{~AYSH;n23nO8omD|d>v`B;=fXY>;{Ean~&3zd9*2xCm|v6 z{Aabz>Tu}3=a4eF`R*^UeS&TG^3>e6)YYHlIG-C;DG5Y+WISXU-4;+39ptbcAhtkYRu@oLQdro<9j-Pj((_c9YJD99+2`#y6=}l6qM9a93!1|V1Y=1K zN~DG`=YF&-=`e8&gHmV_P zTlkhLA=92vEu99ILIltKmMhS_`6I%l(LNC@b~SH`KcAobY!s!Li@sfye`>JeFeFEK z7>_7b@qLL7$&T)O#9|7tz?gpx^rf8eH!?KaAHA0F*)`OXJh&{WZfl;K?Fj7{>8`vY z5QJ6c?=#){ykH=B77k@O(_=5{ay0T7$~wsxTlBN?n%thWb#N&4Eu;uFFi2ZC?4};w zuH*dyl!IhB+?4Nh`)z9W*QGe!tKJ)|6U;Q%TQ!4(3QJDl4^a z1XPo?J+yrZ+b17HI3kx(6OtY)7i5=LG%_9kp_y z=V~0=stLvyAVl_)7^Melitg`|fOY>GJ5`s~qwe1A$?~s>F1G-A6pRar;*fw^EWi#u}Gk#yb z791A-NRDS{c&N|g?@+cQziG4n$CQ-I+L#-8r+KpP76RO}J0p#BsD_XQ%chtR*NY3K(!cK-VM`Ufr! z3ik-9qp_tWx(`ZBMheh9bbE}Li00Qk`{X%7<7}EgYQOy8u59k3k+%I%w07&sOckq= zZ8)Y>KuN=vKzR_eMg-gV97?C!w{#teakZrtDrqcg`L-0>SeWX9Fb!}DIMFOj`Of>Q zp^x0m?>iP+*$?`wO%WAK%e-ir{TuBdnaXJaoK^9F{3hFx89A+1{y1(7UJeeV@Zc=c z+u7OqK9*XHGSKJ1r@E$^$;QT}*dfChZAihuuEh71cO7Az5{C4ws?cu-^bicME}>|@ zkses2B|)@Omt$qeerZL8D1XOob+4va@be+CWVFgC9`eeGTxgYgp50wOiu3m4ePyHC zCwNA&x~g5tQD#Z#&fWHM$YkrrJJ}C3(gDKH9peVEMqge6_S8~PE6Eg&VFy9ia8@Ehn@Y|Ck~J)y}l9_70tN8rxEbR zlM{lT7hpsS_XJAMBtQW~0l@9epGXz96Dtohr**}2x~*6&y~_B9JO+>(Nc2CK@Z zpG-CGu-<+!*AL?D+(@ehA&Arlo-0G;eYN6e+5#JzToxr~=NI>$eU>t^wXutz!S7fT zKi^+$$+i$cV3!IXY2)8M(SGu&U;dpkuwosOTTnCZceB?p$or~ZJS1nB&cOKn@CLQJ zLPBb)jp)SmJSINvm{5nv(INB@2%EXHq(Em-2@Qc+^~6!`OjnAX?=F#Ya&hH17AnOR zT6Nw#BG)TSTRyn43o<7YA&gW$}Kr8IqExuIysQrLGv=I{@lk3EScb}t z8ER|qNJs&3e8Ud4w|8R z;`2q%P(MYqClX{`x(lO;*AqM6G4Ji|6}R(PD2+an!o5W;Yi)4Y%Mb~Z`FkT^!VEkP zCkR(ytO^{aJE@yC6S=;=W-40i{X)zc{TX1H^M z1tWcRs_u*H9H+uTXiR-<`k?=>ItV9FBT$W_5jmfp=w*GHCJB<04vEUc{rw;|$>L;M zb*pX9`(EYzik`3-{|srolB4Z@AH6zvv>acK&Jbxy0a85_=mjduWc)@Ws10r{r=dx9t=H(^R-`imeI7It!5 zLO4@60XW~UK|h;1br`4Z7g?igN!3S6uXinnpCE5{nqSDwx##*t9Yhgsi$x2Oj_Y*?m;3 za<$){v9!JY#@zF1%)VAs4%v#j{@%SyWbS)@!opY(3sRbkwzJF1E@Ky-WhwNp5wfzf z=7Z=e^w;~R4o>zTM1@6XKo|TBI>FrF;NW7msp)eL5?xtpq@X6qg)4=aeGUal`bw|~ zCl5!04KZ6(R#w*TOkg~{tXT@b;io3AUrC$9S~8S#26}7bOm5FlQ7R#_=w@gNrS_MP z#}q)?>@rxUDd4Q`^V=UkYW<4gzmNPlGPP|}H92Ykh2UU8nrLe!Wb*>KFFce``6F387-+ZYkiHa>)}2E4-!A9Vc7PPM^?Av%BU=O zv+>pu_diN2wIS%LKd*8jpgc7-b$!lG-KLu){)mKx#I3c-C|>A^I)zBWnoJ5%=#>>J zYT_V#r_Sp?s47dIm?Woat}88}%%w;lT0utX&jx^J?)vaC}e!K`B;%{3H?x2eGnD$j)?r}5G(xUThj zyF9p1y)&MT)gRv*WupLDGHK5*j{pfn&rLmg#SH1Oi`d3M^>c|8?61ZvS@DdWB5E; zWpaETM8b+5rA|I@zPa!el4j{s6)>G?kz=x<8u4_a)>oA$c%A7XLs(lRN>dSwWEfD&)aM zWZdPTVgjnv_egaI6rgvo|L4YJY-k4lNSMdTfhz66mbfe)$U3QDEq=Gy?20CiV?-;! z!r}>4Q86}mmVy32+Ukdf=x%Hmq4E&`iBne(;6~NP#jwnd(^BiKjL)h4gn(wTW~S{I z!zw0^pQ#4#!EGP%+qg*dXvyJFiuGf94B8F+k0}psXJ_Y8_AGCEl6|Q2rMwPv?_ynp zI%gUkk}0tw1aTEF#i7Mu(S4J(zEmHmkz=MxMHSyrnEm%@{RH)mP#&n;?E zfV`^$l!}VVT7ZIuSx9KMU!4PFQif=K7ryW8Oi?O8d3OF({t&=v4h;B^W)?Er0OBeC zy}Id0m)0$n!0S`W&xE2y?BO0Kp^?oI2J}0upTJ}YX761K0S=XT%H-X37NRE0yU5;a zTz;p-)#uH4h!Jq z*AM<}SUzuWam{Jn#OGIPzg^E{-WW``x(aIdx@@Y==Ucyg+^p$4qjr@&=}sf+9Hb~- zg468vL=}&I-@(208f=h#2pLcxAfi zf?E^9P7Wda;9aSz(>$W?XzRR?d9+z%he=q~!)3D5&j;Xv@SynZFd|(2z zrM`Zu2HZ{^`NOG)V-i56ZD2qie1EkOSzGv+?0#BI*zn?ZQ*~;mvV-nw*G`t&xGkWL zon6egvGc9r)xH*-9WFWI9>TSX1s>B!{`Hxb-j+^!c)bCa19_b$_`=BmI)x z_xQjhDmZ?d_KB3pL7QFs=~&DVxy-}Q_M-kY|J#rUH>f;q-zGh9o;&ZQm((Z&y}G&r zYG6CSgBy=NRNm3Cytl763f!CQa#Jt98Qz^~Uu?hGZ;3r8W{*?`UQ;L##H#%K9`^17 zm<1?7NH$u<%K8BW%E-sPnXc{XR#wcYIIjYLud7NQ#dr!PypsU zpI^})*R(P0tTRqa{XB_U$^>r7Bn+8GWiQccMaGMQ( z#Kg{yDZ^4ol?y0o+g+Mt-c!%C_zY61Qir@*;{s{)k=a>G8rhJAcCVjUJvoW1ScHDJ z1|8M(A(xi%&hzSL#@7*YwRH_KgRX5h&i*&fJp$pcOLub zG(i0K}R(32zg#XzN%#cCC1T0Ux&5j{%*I@+Qrf?dWb5K4f`=1;rfpz^K z@YvZOkZn~`R8#~bimYOA_I%nO`lzx+4@TR6zil3!3#i+#7`55Gu*9cvARfenwZL};ucEqO>)|=gqjDKL<*F*_;3Rl zp7Z6F*4!h2LkrCKW-b+aRYCrz@3|{1eio&@fBQoroQI*i5x9!9$se}Wq zIiDE1q|nBNkFHvy?&(#FHtbFQ$j|2D@Z19v=bQqZ1u%zH|CnE0o=txs>In*-SP~L4P zbNU^J-zwO!z)kd!u;#D>O@=SH=0b+xFfxo2!8aF>P++cZ)sZNI3^t*h|NHjcO$U{H z&s9cOK03o$0-|uKQm5s7l7K5BbvKFZ_atfG=q5bOp+2Sgsy2spJf zD8JAtc$!Y;24_C}v^*cHw;5?QIvXADHX>&)U=UW|7cpDcueKR-U#&kB|O_K0@FQ5T07P*j9^ z$A#iIYZ@f~0LSC0I$p$tnS+@{gfor|*2SQs-lnSUeG@q9+)PCd_J4?`GZ`qWqBTC* z2(~^V##oXU*_Ha&dm{laun`xwJrW2Wj3wRJ*=_GmwMU^4CwkF-L$b}+zPKrFzUEO2 z;Cx^>B-%b-j75|_k!-1Smo^55o`2E2keLV$`Z~8MvK3AS8(#x3wbxr5VOC(HARe^y)-Yq5Bx%oy8^egMf6e#wXJ}5#-cLeTk5I-{SFBhWMbIyZM z8vzJ`%Fh9MOr>giYgjmJ5Yc=`4k!NC7kEw;hBlSQHdPovVc}V=d7++5SKCrK+STT% zl_C6yfqGqKIb|190+lFrA`m)R)Xjt@I`H4xv{*ChPdY8JV=0wj%Fpwvmab5Taaywf0c?JCgNT;jq$kH z8QpJJ@q9`20_&FV&|5##$${u|0WGT>e(wI#^t6kkFe(FMkMErs>`@TPC7yuorzv_g zGsVe0S0DiNPGQuZXI+_D;_h#6Z-b(_aNeMj0ZodHF4W$%)27I51hb6kK*4Ah^CRAs ztqZgugdW@#;)%ixU;cp-=XNYv(Ft0lAUZSL;P5O4;8=TjwIU>E23cw*y`+6pzeIK# zS2>E4!N|QTU8HS~e#n|j)Vr}j6pzRCy@4)u{PRGJWqF{=9zLIQ*_{3lYw zf>3~x0^jfXNi|1Vs~8Tw}? mdbe7jnFy?X5H!}tR!oUCkG8Or=0Pxch08q*W0B-vg zc9^OVCdix(^>hF?|Fx3t$_#>p9ByE&OTIxwOs_-{gnvy~O#i?@N7Dkaxc?^9i(@`w zNd0hpZ@_LfM<+2|_;G^=CzJP3vetPvW2--hRZ1euzWOrDPBe?~>$$sh6>`?+W-} z8(-@;tf61zJkr6z1#@YPxCG{}C`^W$D>Pf!zD)nuWcu=EkxXq=7h3BW{4^)$gcJl+ zuFhNd77{sh!Rbp9h#z@D4jhf<#0K-+u8Za>AyuHQxc-Hy+)|n~HX@dqj&8!+VTF+D z04^XUIDCL;m9&TU63~Xoh()MH>6;P!lf;xJ15gJop6IR<Q8_F!ma`g1QewO#mO z@fX|SGg}k4fsVfC5`ZRoS-BKBS-Ia^1-{~c5AFPOM@YOisU|3bfl% zQW<2+w^Yc!E2#8Rco9X?w2^}D$;#P#!@P`EXUJaVf!+btUIY?pT(HsBvG11{B5UFX z2TKdwJv>0UFNyFjSYp_52&S}NYHsrDJ0A4k7l{T;rgVVL6pkd7x~FC*zp~ox zri3YmW4(?_n%AnaN!VKAp5{I7vCW=nHoT@M!L?Dq3H8t;eCH1JUOx2XgDg#M@*nIW z@P^`2@FB%;a|OM~0Qp!@s;&nA!_>K$gXVQ^%MOAm>}|Ktp5oc?=E#s{Pwl}7q#0!^ z&ii?Uy{WB*D>Kt~hv{PezVbDV8$9x|nLep81V|MKt^rH%E0q@I+N6i%~IlTsTG z@%h`~oUqrWBF(xx#-(K)26z>qNP9`Ty`oa)AgTkgU2Iq+f?=QM_u5e8_Po&8? z1zeo&V`>f#EM)K8t2`!G>Ig8kvwO2x?-KvS!PH3~@=8&^TD!7aomk}?6Ezob5O9lI zsflF$4SUiY0L>&QIPmLBgY>*}U#`J6!>-6(3j>1$)yE}J2sLE3<9EQtM{@4u)sUO3 z!MLis<{+t@qoFljJ*Y&(2XnXR%)#--w;Y zvKxPNbj29>=^(wAvdy5E_r9bJsR0!O_VZuC11y5B$%@_r0V((!1Eb_)DM0%?;UqnX`js{Dl9wma<6 zAR~peTU<69Q5*9aQAfdHNOad*$A_*NAiX=2OH13_oNSMuX}Yo7!&lZGpJ*LKVvEHX zI6O2&S(v#CRSTNDm8;{z@?IzTOkC39eWMq>U@!QInEck93tAf+r|tROVM>|6sKmLr z31YWAfj)n6VQCin@$vD~*`6MS{EYXSpy0nn${c{- zGHdTR8F^w$YHKHg_Hufe`uqDwyg-h&_;P;!lRu~64khJ&?H4bC@1|)$6P#EHq9<=S zIU&4_Pu#{et=4aq;>!L4eS`#DEBM}W2Gm}d+1R`bp5QVErO`t`Ja>}(fAyhY&-LO% zy zNR~Rw2u;l!TV6QBSI2fHgP+D8!=%abV?Ks%=WsBVc%de?n_GRl1)Ke+w`_So#Ux5+ z@W%4w8C97JnY>+92p*%3?^n}cjg#7Z4iof8i+U=~^Km%}DeYe=EXsDzF;S=VEidAS zE%YG^O&%_n(d1lphwYW7=U0(>edPLA(6jpr94sE9Zxn9RN*vK0-NWNx$KUgD>Y~=f zU$)}P`m{XfYwRrlWQ$4DfpYUkUj_#SFAk+}ny>jG>QU#L_Z0~#5{YNW&J#?g&$VaY zGDd1e$6R))c<#=9*sJ-_OcdE`s1K1AyhMn;T}5oX`UF$hvqSfB$7@V{il9FNngFMM z^e9LWJcm%_s_y7mTx}1mv?JUA2CcTCRJZRbsFLz-)dhmnd9@d2nE~oy^dSsqzu*qJ zv*gKo^6b@BX0-cDPgkBFc01eYqJ+$ywsb(eZC~fIIg;+r-idPQO;=fS^`I?6;sjO)!uTKHp4LSmzOKHc$*|3<^aLOt-wPgHAxhbfa9@r z{|e;1rh6PFw7O9FgLZ} zvDng`4XT?ocDe~Xn=FNx93+z*O>NowZ;mpTZ;r9~A1o`H+FG-Ui9@99#Bb+`7F`4e z*ls_u`A`p=vF8754eZsJr>`-d=TUJWdTo}j4|cP%%DL=qU6m#yKhF>p6s)SN1NB>5 zTb&pkAyoLdQiYV2lu4_MgeS(>jw0W2A5`*+%#CCXa8cGbgo=o-ht3Va%%Xt$+xsBf)G z;8ybcnwk`!<+dqQzio;-9o_7#jgAUS5=x6VPak|T3#L!AZzceG(7r7=nP?oV2`|_n z#paus4$=c9KZ*`)lvT7T*oF*o+C$JT24~@F^=`YCjcxCQ-8ziSMl4i{^aaFl0ccX+ ze_gAvf%89uaih>QeS!A~m7W=h7dxkYB-_f-a|ZpfKQksegV6NQ_V&H6_5CjS?)L>s zGW#|I5>}d<5B6JEM>V3No*`Ug5h}M}5l0tSWpyP;4IT|baDz^EOyl(Kj|uW<0$*U| zr<8Sih`%QN5DKzSw@4%`F_+AJ*0s&$(1DS2>78luR^g&$ud3>L#LfKP0=ikTJ@5{L z@sB!N3w^R0nj(|jQQG5=5B@emDf;& zq9UI}FHb>eHS6Lhm88%6@grEjczz<1I?wHtnQNgU4QL+on#4|IgG(4w*o)u3Wq(I{ zbjT{7anR#~I~D!#$VV2odyjqAo&qU%^bX^%sKcbPhEJA}<@D&E;{|4|v&#qfx8LWO zTjvde{HVL7h6`ZF8CmpTJ(8JaOPTbXoZA|he?~*KWCGEQJ9GUvWHs*3%?MGkY4xT$ z3kVo9x;2tqE3y^P#TG}?RK9;ni=@rl)*6Ly`~%d^?`E5&Lx^JOl2cNiXlrXXw7nZ1 z#ZAbI;zolXssk=bynR-mQf&8Qd4bvDX%x~k_oXMl6)S}A=#K|Mzv@TG%BJ^YBWKU#kL=($yl(dJ=ZQF7MjjM? zC;?IZs8gf2o1BWinYq(K7*5ksK*TdN4%pd@7f*Pfd;7?E;{2Yq^bY?^VlQd%%FI zog$%RyFD)S2pwue)En=ubk1L&l&21!&di3=^yj_`r{bJYPX+TdnUSd9s?7MkK5OL= zG(SH-6nwa_VP_O!4aKZ_co=m59u?U_*hgg_GNkByH;FoxS@`mW?{t4D2eH>!{D?U# z>%f2(iF&{tPTai>+lDe;DsbF(?Mr*PcW|)PV&iMfl9S0w#j6P&LAS{LnXN3|a<*CO z`ZBz+8>=tCHxYRht+KlOo*Ke{Mxz@lEA@imaJV6)H$gn*QbObiQ~WZS$@TpFJo)rA zxEbA{WNK^XES*|s0V@66-14^P{KN|8;o&cKGB}-dkDd~hOaSt6+{%ioPwF=Ms{zUWz>;}E$py*jl9Z%k$N6Xi;c(p@;U>5ho_uc|UP^3T~0vjY9P5oJ|! zUUfeYdz63IpNAEz)A@D64bsx4rp^+!w$2h5g)ZON+3~R?DPq=yrVblaVq1={0Q>v< zII(F`-f|M#c(d0nvs|h18d$LHhlND))@K#t>@64rzxq(07RniLNOS#H{xFG2BDYi0FO=(US|| z-lSDgmq&~L7V6R|b~LH3CH+_)dKw&USSOGqmrRpQy!N?3HWQ%k6O_-9TI@)B2P8Cl zC*r4&vmjl`BzQ}CCxkVme=%ZR$VHLjA@SXdDg?MB!x^=WxC$W9VhRi-UD90Y&Xn!ffa!XJ&!2}j$F+R z&KCMWO3?&iBW?lw3vWV}BT2#-E)S=qu26*J5@Dhg`+NB0UhX~9;+m9yllezW*f%@I zAG}X0hEt=9%axPn!&kxVXHhNEw4?nmI0Dvgm_)QJ+w-gp0HNlM;Y?=Xx`KiQRs2KSf4KtXC8F_S&vi+{a t{EZeoxUVzApT<6Md?Lpo^-G}QfSg z*Omu?8dLD^tg(RK%(iNJ+8|IcCkPZ70|MOury}=2AU`1x=)ejDlFSBys62BaZ=`_> z*fyG~N}$L8K82kXX}}pAUv+I|oK5s6lzd##mAh&n5R;I)lDt9S!oR#AU&HOrOS!S8 zfG=q@YRnjTQ6LUd?2_2X_yu`^zn&fl^u>f03I7%Zd?ld$*xaw>66qeYh-|%tR(~)x ztEKo?yRx|A;yy!JOD0;$td!dLS%`gDop~w;b^a?tS|Y0wmy1Orq`)o$zCk3+HGg{| z0}H)8z9x(w+Cp3|VK7In2Q8cgM$`+K^PeCx8aKb~JWkdRMhbadmZKuh` zrpMBmo|#1?(}_XuSFTE#@l^N1^RKbjRwKVyx9691ZFaGBS)Y`&jCHArE6mQ!euy8q zMDzK$AAA-WtX0mA{d{I-Htyg6amv=J%gWBa7d~-)-nGhc1CeJHnt0UjGR(&5EAc}j z!GbOYnyH_KZi{^wPsX|~*v-E!UpBqR=EP71taYy+7Itk2l*WxQ9@7$cbK*YmYn57H zVn%)dO!J_Gr$33aLb(qe#U7qsnYIiWV4Yf^gcht&2p|J zQAr@K_gm(sf*q(y_!^;*1bcr8+-t@DL{f**ldv46WPRsXFL;bR^HM)JV0W${XHU$VE*)RI8tUY?{vZ~1VZ{c>(_XrbJIxEB6g%PS(!$~vg*2ENn_>Ji2po4GD@ zt)?U1r1pD}8S<`_aVoC7bNlaqvYnQ9Ze5QzRQGzbL3d)qxJ@veggd8y+IP5l;^?A% z>uFt~Ywyg%?$?1CDw%3KKQI;H=+N#IoqCOCRhfqOqOikb7^P{lqol+zu(EA^VOlfx zq4JipL9ZD45}ei|Ba)67q1)87?B!K!T-m2xZ6LJOkL(5MN#mvnqPsle5BbZo>2uj$ zM2W&v`QV$W{4bgsxTdbja9WU}zN&4)L&SYd{u*%628M?57Z(@ua_y4Bs({^F_qq1eGgKn-)H!nUayib(G&#rHINQXY)#?%OZ$Xb?_I%vbwQp-zDx$+J$H!iK#9noqND;R?ok#z0 zY}ubqpHtU}O5>hm(;}8Q`0v)>=-KvA-u6&d#qQS5Gh&51`YCJ_9&;xPwbo5bGWk0S z;Qt*Sy0zF1k{X(u=Vf9FGINqsm<(kK_#`AI=Gnzd=KJ&W^Bc7Bn{F+6^)uLv=1Sbl z{mSXm8$SHZgw{kGEf0j+T05`PVk@%09%eC;FSDrQ@ZNo+Hy$;TNLiJ8=q9sNY^0Hz zmseY7(k^uKN9x#M)*>J;*ElX6T>y4E;-O2!fs}016ltIdDq&X#ou|2I;^5R z*Lk#uvxR%=YHO3#C8Ry%rQ>8n;5Bo97d-+ppP9R8XA5=ftXXXKY{Q78374?9u8MUC zjGr1c!?(7#s}OY^;H0Fa^`%N=ks8mR7x+|v?{6=q;=uHcTf|}I8?r%qK|l44jVr3F ztL;@(`m9zQ=|sPIylkKiEM%b$W%wl9>XJd{VWP3NpuWB&;WJ&Tp7u_rYItO*X=mgc zmAkWhhDOzpp6?PQi9u9lq(IJc#b=_O)<2a0iMgPhtV z7U0obQf4E0qN*Kv#Ms#qKIKbiH;C_LWq)W7x4Fv({{Ee8avbqKI5<%9@@jlRaA}k@ zui!6wLVWV=qtyv{q~PIsJL}%rnRi8L^E5^EX}GtK&o+hV_hJD70SqW(?F%3l_ovFM zTe)$WJYHJA2Yf3qLTUG#vN|M&J89fU8rRZ$BfF9B*6_12a{40;3A?RC zlUAJaE+Ueaa_LQ8zy7>~O1|V`V^ah($;rYe7jBARjm>a7JG;t*9ML=oM3Pe{*GZG7 z^USQA;EKzNrd$iT|Iw;}L8YJ}%|+s7(odLZo)E-8RQ&z>lf_m!&vDXvP_C&7&F!Ik zn?&16aJ8X@Mg9(paDQsoyWz}bE+L|ns0jzfFN{U!-siua{lBtz%WSGE7#JHb#yw@w zGi!5Cn{c{-(PD5WG1XH(ds|pnQ$;dAKcD~p(;i#ozVkbfG?w%nF~Je$w9_ZJ`XkQY z;lB!|b+bxgk*}DUDFrR~Id$_7>7@gO;8RnZ>6w}3mJ$JV{Pc3++-HM>4)o>W_bS7o z(0;n;?h>IN?rLXj;5hr#)Kr#w$N_KAc82kjvUK-Ff8Hn8_gZMsSf21;P+%(ywKNW! z{+v2dMyHGnci9s3IFYri*=?~^JxsX2QMjrzF3J*ZR#aigAnn=Ss81eEqtkFmzOC

      ^v{Pid-X;|D(H z4MHzH z_fCpJd;21W#+U*zg-z9FHRc^Um#7Qz_b@!!EOw@Lvd#KOF`@bDYu8!U=Je>W+e;H5 z42+;iH5yLq@~Q_$Cs1GDh-F8x&8|53ZJTxHJ-pSuPD|vBhMcsrd)i!1ewEj`{?me? z{N;App93lj;{Sm6m&K+q{e^Ep*#VaXndtF}T;y%!yhS!@>!v}41#?|Z>A9F#BH+)4 zdU_juYc$4tM+bV<#`WNqmNp{D<`RaTjqfRsR_#DH0OmSvA9WzloP>(OO02~#Erz-U zvgX@cTcuj3U*KO~d(;E5pWx^3pHNr#Y+`v?+k<;ciH$@Rmj%cfRKd#t^5hZHiJ6)r z(hYr>(Dft2WL~Gx9Id?5*C$hNt(2LHVu>l-JTwVf>x%LOAjGi_p&$+}8OxQeMIEmm zKYt`zUov9lVkHbvT-@P1Au5#Z(hLdK=zTdw_$laH5IiJ46ig+hH7YkNOa zZ5b%9RQ$$R_4cXo%Ld}9Cn#1=OGTmfcy^tTvvkj9xUau|aMcThj8e&)u(d8UEk3~?s$#(gr(`PD+>X8-)e9Ji>5$VGdjt*vceQc-8;vP9TU(m(N0 zHBz65A3{Egb=`r7md`OigsA;)=F-JmXm#hz%#@@S4#ci~p_;FZKyud`BttxEMS0vzY;sI(M}6i^F6 zPcs+bgmBuZ!uHAmlXk13uOZv-axyZuC4^xYXG3iB2#EaC6Nxq3?1w&8+UV{NLeD1_ zX0FGLE&Vd|&CK}vlIeB@zL6v!>=s0n77M9TTizU1?yl$0jtDNf`WUw!s~v<)pxCLXk7r9=CO;Uk{rFY%I{ zCmL?b7Hj2VUv~a;Q5LZjjHvzb>z6c*W;FJ2(T?J1!NZ-SLeXcYoHSKQ2j)?-Y?`p^ z4;09TC#J51rlQt&fsUsee;PCRj1zKZM5iVvC*MU-cM?yiDZ#F?sF3k#T(#>9of|%H zo^97+^Ho~1jLzFYiQ=8YW3|PI& zo%GbNJCUE2ooZiX+VAtEaUpJQf|02yp-L8`8`pL|cUO2VA(xDDk|A;QYY`wsi)D9v zd%xP%#lYQNVDrh7kG8i{4V&WN6_^K1PhJ!;vhgyAZQBos}4OkI%tC z!Vl?J{Oi}dV9(;P-$0z0f?FVAG_q69I1kguf-3BxDZtt83#>#M&d)p{8G=sjw#gG}B%f>M4y+IW76(#S0N-xG1}l zqoZTZEPd%!cuxp!;qwVWXel=rB~_F2rV1jl+Y0_G=$zX4wGe6f0xZsxn>=2H_2o|Q z-~JFguAA5_@(Td()|T_6{FwRp{EwC-!p;TS_HuJ`NjRMJjwRr`itTnk9mMIeS(Nnk zr;7a$@G#%Yqvg@7-wGA&?Qc1~d=45WmzV9`mmxDxVtcBxOKAveuwR0*4%uOLF-NO5 zd$6?Wh2=b(I?s|WNlq7v3k;cnAFgmI;kHgDT7Jfcbo7#$cIX3$(NkPYE zp%u)bHzjN(-*dgvjzanW3_5qX-l6l@s~Og+2%TgX6e!cB=HUSH3gqX{`TEThMmixv z5Z=fYb$a0@F3UKxsj1mE#1FBx(ivhn5rYS*tW+!2dvA)%5)A2>0r#nN;|{HrioaQl zyI}ZE&{4Rl#uKknV)FAOob1PEgR#Q6^DNdx*xA=%li(ZOOsW5egyktA|p{ z-PgF7qg0XAX|IVzZ*ppit+f-G`3`2?X$00w`!5u)z;RA7IwnUGlvmEbWRIz+zCvje?ufONPFMq840>_t)eN-|1~=Wedp%&wNax5mjk!Ymvaw zPDgFM0HZ^M6`jKgVsIAFWZj~{Y-Q}E@t**>G|=J-{{#j=-Ak0E@7%(!f9-* z%~-z7!QoGz@N^y7k*YDh*+xAG|}{65m^&#n<>)qXOeT7I*D&?ySPrCq`+*grQk}?t-B1sFJ&5Q zv;z03J4@T&sttKR+|0rfvNx}a8D)#JDXTrK`1^|bjcOq^^84x(zVs}Z8axxz)9jXJ zO)B&<-b#Ra+>idPpj&z!lWy}jooDikh(D05ETv~!Q@V)~?OHl}bz(r5p{LQ@OplyqpA^T!!aAEOxK666tu^#`zf9}u z=C;)vPiDkTufoG2_E})_wUel?+=mdLETUV20+j=0c0N_oQF&&~f2nKfjrtst0%rKHfElnEC2Aq9Jg83H!6Hxw_?!DgAfjPa81EQVY-| zzX)uJ*Ey2?Z~rCb?$(KB2*p;iKjP^553-8#X&MbDT^_DtFzJn{ql2@67tQ>sc=4*tB!;r-QoIA~g9V-t@-6 znu?oCmBP09EdM7{#$2w(69zft(CI=%-xVe3(sk4%MaYLAn%6%i({IElf;I=*fwC zCHWwqVCGa9e{P?r%7Tog=h|n4v{!Ox0!qmnON}k&rIyLAZj?EJZBeHgyZLyIiHX|K zB1(evsT4r#Z~%u87($}gu`tI-ltY=O>=|gC6~LPnqc>iyC5m!DsmTQ(N$WuVFa*{I z1&SXMt|+&m)_(@gYEQ>;rDG)O-p8fd3O-Ys#0qOI`S6ziqk9OVX?kL!2zt4Ed^XJV zz+5unMA-#FB7#u!jx!Z<_xp3ZfM7NNd|~o;DO+}IMv9Gww7v+T*y}HK-#58*>|zvI zoOid{!;bGK#^f$@&xb|F=D>QzkF?;l3Z22Yh*SKZ4kNUV+kZ0}%QUn83fuMv&x_{$ zN%xb*b>qSUSI2!Ry-{SrtkB8(5u(VVYuFsu!(tJJq@YRuBm4S_$|HQaDWD!Xwt8Q8 z-%=lzY-}0CL5UY9<45!gGmzpfUT6k+RVTH}7uup*%-XL{8Ivd|DTB*NP;UJuyW>SY zRJAr4dZdYedT$8nYWn(A!ltyvBnSx!i-Y0(Z9|qX%1MyBT@mON)^@l5^PK{jfKeAW zH@lU)Yuc2niM->ZQsi7?j4w}FX;ZbPH1c8!1!$F-1PZ=s_qJsfb>}L&ms{eTS$9H= zf(R{2bzOCyvbV7C&V&8^)82Zw+Lo1e>&-}`H@GaH^(KQ4vws~w+|~+)?Q7ocdPLA6 z4h{{}A&1Yjo<9&cjIT!lKu?Rb!KPva)Uw-ZW6ygxHv@dCXTG-&62V)anjA*H%Dcl7 zU=F(-$EKGnA@$+wu~aqz%YIp+uvR#L#&lpS5-f||P!q@B9jYq$>M7$2xTE0=U}dV*@8VsHuuk{{`Di<^uGZahJ>J>bxiMX( ze*kE!SrZczbt*r0(l>I~rzz84TM&ms@uO4_F&0b)1_tl*OaX7iH;;qiVJ$-=3!UKL z8=ROh68TFjw?A?=PvUj16rj)Rl$}^G1yoajib-D3`7T#TG%Wn4s^UVCNXAV$&iS9x z>Loc)QS$z`&|-7E()k@AK%Egh`&gL&KmeQn?H0W-gv-xL`|KSvp!7CmY#EX~RiRS_)URa9J$RhuArwy@V5?_4$ZL`?w&N|Y1 zF`Ognw;;s7=Sv?aC-ayKY$Hs7=;aFz?crmXF$*TZ+iW(=wc(=yD-t2f%xjAktww+f8XS>&TzgK6EkkB(hgaR`NGcxgpNliU8}-g3aIyLMF#{SR|KF5P?s zUD?x^;5%d34=G7WPsQQm5@XkUJ#l&{%xXAWTgw0V=>E(+;2MWbG1AdR{Pqw>SLWV# z0n8vZ{WpVe<_m`=H@%#Nh?;ePzrQ46wpKqy_NHw)M0Z9L*bJgHhPrL zauKof1A8+|k0{Ws(BJ_?*u^kk-D@#H(^A=oc-?`7!L-5Q;a{c72{ApR>pgMvzk+<+ z0LO--7^G_Q^BLEpDwmR~v>zzSjdFH&9NOxgd)L+F`}Y$oAq|DEjLp4bznU19RoAt% ziZs^ni%x0vsq!du)5E#IOvm$`uEq;TG9g=a<{iCNQx*2lX({wH+Nds?Z6V5xm@C-L zf?Ml7Q_*0uRYs1O@m6=+#a3KQkp=<${x>lSEH>a0+eT^)9>Gu4T1>07z~LJ9_)m4) zx=$47o#3+UAy`Q?cvw?$*FCRf9t)uNQJJ@d?N3DgQ56@6&GXn?dOd}4s^1tSR|?HG zaFILG&73e6uAFp==Kj6jq`a_5D4ff3;Ajp1=IoQrPWN(L4$&+Ef8IP)p6F?8&iJ*^ z3Edj|73w$sRWzeGmyoR^Qy=;At+P1MI=-YABx)x6`4T1b0sef*RW$Uu@EYOh74*!XvFXHuQ5RSa1*DhxSUqVPO5)t7`=v!cciwmc{Vge1TPKnMx>2 z1<)ZPJpD0RV2#a?kF{!1$_gzUAwh0tzd;K(aZC{XiWNqAB~$*%2?wgnNRp%?9~ae< z9eT$1YJlo&!1_6!q^v(mewe%V<;lN4YPQX|5Q?dr3+^ym$1s)@Euifs6}2mj+R(oH zF-kI~M&V077ejKE_^M5CYoc3?tho=!9??~w&W9vbY1q`qxrABIfSC+zPcE@BVUDhnBI?kaIUWdTp(LAYV9 za@|s6ZxmhH6c>Mkb|eD{TIw{VI&4K%VWr(8c+yR)UnK{Bc0Msj)|bhF_6_D;<>9$J zHmUoiH6z4`{q%;s+;dM}%cMdsc3`&{Xi-|P;aQP<&WdrB0v;bqE{+NP9QI86_kO$V zVrp!BrX_u!t7IH-1?1E#SBIhjVf+=mjE6iStBMPjQO2A?`7)h|Jdm>%$O~mB{b3yT z{uU>+0e$zpoaBWCJgATA$Cwq(_~ASl489^QQtXoI(t0L{@FJM%zw}!Zym~XgD?&4! z>R*5aWrOE^A@tNzkscFxcX(tOZ6IOG0a?Xv`x&PTJSosLMgfj2Hu>fK@+~ZY+GnAi z&FlknuylM zNl~Dk&f%;4*4NJ3*Iv@r+a4G|B0|Cv0zx7J!a@cjB9hNVB}FCpgoGu9ge(HIQvM$U zcMm&fhoJwzfgtb2e=`^d8@%<^vkqYP^!9LYcC%;p4f3>ScJ}nO1%U!{H_r%gy^OfI z|LP76t8eRpFxc>)+2WJ2k!hxpV~{Z`MLzGb!(eMNU>=&A9_StJrSHWVic~Aqcm_J4 WBJn*_c##220a91iQL0n0ivB<4gG`42 literal 0 HcmV?d00001 diff --git a/docs/gh-pages/assets/browserconfig.xml b/docs/gh-pages/assets/browserconfig.xml new file mode 100644 index 0000000000..b3930d0f04 --- /dev/null +++ b/docs/gh-pages/assets/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/docs/gh-pages/assets/css/main.scss b/docs/gh-pages/assets/css/main.scss new file mode 100644 index 0000000000..ea832a85de --- /dev/null +++ b/docs/gh-pages/assets/css/main.scss @@ -0,0 +1,76 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- +@charset "utf-8"; + + +@import + + "skins/{{ site.text_skin | default: site.data.variables.default.text_skin }}", + // "skins/chocolate", + // "skins/dark", + // "skins/default", + // "skins/forest", + // "skins/ocean", + // "skins/orange", + + "skins/highlight/{{ site.highlight_theme | default: site.data.variables.default.highlight_theme }}", + // "skins/highlight/tomorrow", + // "skins/highlight/tomorrow-night", + // "skins/highlight/tomorrow-night-eighties", + // "skins/highlight/tomorrow-night-blue", + // "skins/highlight/tomorrow-night-bright", + + + "common/variables", + "common/function", + "common/classes", + "common/reset", + "common/print", + "common/components/button", + "common/components/image", + "common/components/card", + "common/components/gallery", + "common/components/hero", + "common/components/menu", + "common/components/modal", + "common/components/toc", + "common/components/item", + "common/components/swiper", + + "animate/fade-in", + "animate/fade-in-down", + "animate/fade-in-up", + + "components/main", + "components/header", + "components/footer", + "components/article-list", + "components/article-info", + "components/article-header", + "components/article-content", + "components/article-footer", + "components/author-links", + "components/author-profile", + "components/tags", + "components/search", + "components/lightbox", + "components/extensions", + + + "additional/alert", + "additional/tag", + "additional/photo-frame", + + "layout/base", + "layout/page", + + "layout/article", + "layout/articles", + "layout/archive", + "layout/home", + "layout/landing", + "layout/404", + + "custom" +; \ No newline at end of file diff --git a/docs/gh-pages/assets/favicon-16x16.png b/docs/gh-pages/assets/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e3afefd20d0fa996b9d2ccd536a0330d496310 GIT binary patch literal 1061 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>ApmqX&?V&+6_r(0KxZF5a^(8;>vQMM1^Q*x>ec`L{rms_|C1+AR;*ZY z_wLa;_3Q87zq@zu2HM`!+xzO(t5c^>&z>`E^Fiu=XAa)}r3rfD+jKmWejkyUi}qa1#} zk|$9>0~wRN-Cbf{-C&pwgNwJ ziFtVRbozC9`UM7r1f?aW1Wfev?e6qDf5PYFsi4r{^u!An&h+)2>^pPvEEA({E}QJ# zJxgZP%xIWr*1XTrG0~@FVxnO{_r#5y+|4T;Ju`iRBrgOQ7jsWoxQy-TMMKf4q0_>y znI&ZV=C01pdj0C{8`%YX#-%wKIYmWfg{iGpchByT%DGniS-7i7p` zFj_PvFyuPWhpHv65hW>!C8<`)MX5lF!N|bSQrEyp*U%uu$jHjX*viB}+rZGuz~G=3 zgDZ-L-29Zxv`X9>Hk9x93Dgi?6%tVrlvu7%P?VpRnUkteQdy9ykXcZY%)n4F=kX^V zj>0evjZ^-o&v-r!VqjM0)=TCVRu=Z2EW#|T;L>1nIE7hxbBMy}8&^&oIdeqj2>a;< dj|E{FnmPG&n literal 0 HcmV?d00001 diff --git a/docs/gh-pages/assets/favicon-32x32.png b/docs/gh-pages/assets/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..b762673ecb196dfb5e33f74a66c426f4127ef1f9 GIT binary patch literal 1806 zcmcIjX;4#F6n+pE0hN6-5mG1;pkP=8iY)>rn8+d`RTc|bAj&8;)j$FX5Mo#oTF^QL zQ51^HP)jLM76BKQlrl*~mf(UdAP`y+LFqt{<>;^Ja5g_4?i;q88ydR0xARcYX=7h*O_%YJUskvC=!X@4g31~rlzL4ySpV4iJC7d zEgc&h>+kQ+V6)XEaDXr{#bR+*R@OSt=kx39>-z@=*292+fXvLyfxpA8e~yxplI-kk z^*tbss!WE5OQq5Qxtzn{sF#4#P+u>T$<$0vPLA4lc6MI(x4XH?nMCK!+R z_xA@`_ww@c_Vz9opVI`be2)HTKuZip^&Kz`IX>gn`_Z6raVKaj6M3E6||6do-K0)Z}r7>3s!*VMOg!I)Ss zJq7=-84(v4_R$5xhSEeQw#z~~MZvsL&wnhZPULy6AjyAM? ztKml0#DuxkYo{ko`}Py92aKwDtGZlz#Tns^EiEPmAQ;@?W%z2OXGDJ?)I#Y zS3C0!kybM!%+Z3gB7u`<3-1aoKd^13&D}sc?pRZka=vW8*>qEbmP_3&rf>S9Trf}+ z-s47hAek05^UP8H2yuY+k%ukKY?g<8Yx~Qe$yUCpHr1okF(+&jcG37e1K8*(H{i?4 z!qOgIAf15ewy8rF<>j7M*xPMSXwI2u~(0<>6?crH> z{pv6;wjyo*gDr%IBpOL7Ysu89LL+wvhP!zp*zxcsUaOIdeqRm7*^Nva#kjUI@88j^ zsk%8er_iOpn7T0JS81Q4KeLMyWhj~u#gIBRs(p|bFSHM9Io*EDGmiK^t(4z!E|10T&uBr}rys3(&EKpt544_&byuI|_<4-Y>t zPd_iL3)bBai*0v?@c%fFaw0LAmj3St>X^6Rf&+&#qM{j*WG0$^@&qmUcoLeCPESH7 z(-~9p_anEVmY(xk{93;_3 z0N&Ssp>=_$e?vk-o(EIG8E^yq3;Y&**HfBjmo6TC zfZw8h`}RdKF)^d2PMz|zC+UZsewI76-?&ju+4X+4wY75j@)e?E$BvKrz<0v5efsnf zix)4Ed-m*kIA+Y~FJodx{2?|r=KD{=537D^2oDbzM~?hQFY|ihjT`sw-IFL^!M1@s z^fuD9Ygd_^oGeO8&gyB4ijK)qquxbX#M}jc2R%SQ+lEy?^$Z>yEvl-jJV|%oU$ttr zu0J%igZ{n>3JS!dM~~dkj~#RCrw`;CFblK|)Vr|iXFoG((xe)Q@LK*9Syomi=g*&C zyMF!p+Hb%8wqAT2{q#YAVlWD{XsjQ0`q9tSvaL4u=Rv=E7Z0F+2Y3s7uc3Ze^|Sr4 zkGy>OO1<***B>AHl^=JYKL>OLevi|w`ti5k9v3WFDA><5=I2nq^5YWpCxe#$ybC-1 z?1MUY?kv`=Tj%&4(ASEJ3UTe)wc1;^ZlN95$lbelv#u+BPQqHmKLUn=A3O2Glm3=1 zTgvg{$2)olE|*KJUcFi*Cnt#yJ{Vt{n3yQCvNFYl2@?eRekZ!EajKzzBZvZ+8GHU& z^|SvB3wuqD8#hjzK7HC}`Cq(vQKY4%iV-7*OG3RwUBkXrn?HZwMEZ}xtDZbi`q^$d zt{F6Fkl3+f2geLPt3JOG3l}aF!-o&^M^i)M{trI9Y3BpVdjPaoqtB7Kxw(RM*QanJ z!l_fIL|oh$f9rTd^fS%BLA|k5|NaBsnmKc3RcUFdQ`zo#XrHwWtltgsp%VIgTi-!e zR@Pg)cI~RVd-twem(vTRd+PcpPmUjun3zz#Xwf2hO@Iy|UHdSu}B_$=o$@t;^{redI%xjAFdluS%W7W>Tm41Yh(2vyA6tRB&KSg_0iSSOQ+R({87qJ|rYe#u#*>{QUE^wL zfw`6#KYpA*8HhP^X7gLt(C-(=cH6-K;B{R^mF`n6`C`EU-N#ee%77L z%(>#`&6|$P-cCF3In>X&Wgh4b{GMA{^|Srv<>jF|G;ZwdK>s7?-3#6Z4PN)M)4z7@ zKOD^;D=RAnzhOm1MdHDO2lZZqhw^6~KLy5uMz1^C>0i2ZiQfL|39{T^`(}MhN}48D zuFMncOU>`iMt>PJXMupN`&#u=&y4hRap}?}uk|1Oi(Ii{Ir~cYcOyMLU2fX6$^G3h z>AwffYe8=i&~r`o7PdWap7dYEvkc(ZxYn25Ks|@9=Rg*y0cIa6@b?PP9r!)24U|47`9R-`AQQMiHDG`E zC-6k}tej}_6{l`>P}52yIjBS!Y=q5?FvtkCR9xV>7HNbnjIfyzYAQ^vi>Cz}A#!3m z4LRu{BG!eGM%cm#n;T(}5o)P*@w8wgM2kZ{nub||*HFb%>5P0-zRhG^dSzGXFmx%M zO1JVu`6cV(DZf=YL>l)Ijrpr`Q{~8LydPN?-eG{hc}^`lY-gm%h zz;jJYK$DDbs0X%MfnuQc%X#+V1c(Da^`tpa_hF+ar~t~o3VG&hH~1Yu?RYXjf@ry*X^yuttqF%=T#;YyMoDanB7o zuR3_}py=DTudab*!LsSmqlcV3ckXSh1?EOa4-Us1ut9ahY#--3Cjd=V4)C^8NSU7srkjaSki7Kf(Q|%dnpcTKW444cpS%@?eiVH`f8Zmym^c5JD>)vyUW7D z!-92^dm@~B`q*bW5Bmw==XUQz*=OBn84MgaP!tvx+S)&Hq8R(Q$ztTlSV=~Y9<6-! z71qE$_elN-eqh#tw$uw$vdw2_XN&9CuiF(h*RQenklNV&kSf^!5V-3_R8&;2>C>lI zoH=twdfN{uE-n^W@A2iQljl5V!y$tHL;LBqdGqE9?2X#`t!@?<9}krMYq0;CvX3>3 zUZ4`|TJpew1A3pLY??!se@aS9W6PgylWUajJ{#lcUZ9d|CtUmax;*aAIJA# znqL26_4?=deWVLRDwiI*$9{V4&eeNrrKY!k%@7DI=q5pNfzr{MJ?DPHetOfU|%;l}F zx!;I&Lh<$2U%St-S?qJ|{y2CSIG)EV`v~>=$G%nBG>7~4?bG{OmJz?v)X6Fw)b|6ZlYRcISu^F-d)0RaB1C?A|L4X2Jv>_regy)$KVtab6ZvvI#_BWI zYzn|T;IVIZApBN&An!KdBvAJGj!VEqQ148IN*Blwc7}kRE-Efqw97ND60-s3aGVO*wZ0hkB!VxG*KHeic3 zX`6!(E=z=fApKul*z8VVT=){$2`+)Z0LT3+a?}vN8@L8I#;gLHz^{RO9L9K_eux(i zTpS;_Yu8SOhK6#iehc@qF?Qrw#_PLcdZcwlM0A%+b8;m1h2_wpL-qgj5D^h^9^d@L z_uh;9g*W?{d$}f0p6nhYVl2WlkaGY2{p^Q%R;mzv@L=#GYd*Bk^f)^#)!9AHWz>0W zoW)RM2#!y`0DXY_O~6+@eZPMFa&vK++1VX8$ zckkZe2?+@<%@vO m{aV-i6l + + + \ No newline at end of file diff --git a/docs/gh-pages/assets/mstile-150x150.png b/docs/gh-pages/assets/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..8edbbda40a98af25ff0517535810ba9b9fea7dcf GIT binary patch literal 6619 zcmdscS6EX)xAqQ!&^t;%s;Gbp1f+NAh=71p=^Y^udWR@T6A0Y~79`S%h|+~%Xi5iZ zLLhVjAwfZ@a<$>rE0I0<<9=p(h|ApKP%#8sc>Jk8;69M25tU`YWfKUVgY&Zje z@?!wtMin-jse%nKS0jBL;Pl_`<;T)ou!c6o&{&stiHhOu6)_I(!)XA3#~A8dza8;y zix?e|H(o?bAuEyHIfB~RUuix@Ydy%~&|$ka+i8d0NNcWXnW^}7s2W-s+Au>D9rHql z|CvS}U7f1_Sb^PAvAZ)fde?HJe((OQIRhR21ub3404+``LjxiDW%;!qf`o|jg`Cg* zN1i$4HNn&DC%*>!j|P<1)YguH^Z!dv&?8g}F&#PK(k>K2rw0z7xBi`w&Pz}@o}gYyw?^DwPKBRKF*J(Qtnpp}Ir4LqBy zawL*}@3A?g869jIaNk<^qd`q_VN#cEg0rG|0Dl;w=@S`;qa59-tf-i6yIRcXiel3C zKzxT%LIGVuOnD$s14D_RzcRF+-m>pwtz}P1suwO`iwz^EL~A1i_ii{hg%DxJ32cK%L)E z?JJ!(HRo8TM!%qnpu%^6%l2)+6^S`I{HQg+KM}aYjvj(W(Blbf6A#&%(zNs8mis3# zbPLcQLfWE6Yw1|MmaL#0sa!t(dstCX0cp^n<$X4_WFRRH6r6weGX&{@hzRvS^pdmq zdITMUzEDxb0V!Y~7mRt3%13y0BmMGm9BbjZibB(~=q|wO_WlXGv!UNX-o=7QipU@1Y{N<*#h&GOt3!1)9b091Sh`dGLqtS1m@Mv zd6-OsTCU3;qB2GFMBFo%w1Oa4A#bZbk;zI8F&~Gv^hUnp1$w@F0*_gpCD1Q!!xH+g zBy?~!oYVb`>5!H$fi#}M;{a7F9wtXy9;TocNLPA?bp0|kf-d_2BL#LRsIj2C#RdaA z#pqWRB`*k)k@Ms#$`R6kzVwwd#_h*Xpz*9G9o_yJf{6k|wf66qv-b7xyk>dN>QT=&*UWZd~_e7G6|uctY>Yj>cH; zpZuKNdEmvrFD6bO=&7c+RuFp1ftT2c_~>op?&Vb}o-4Y!xaewWWApv9fvF%uRbYH( z=Go}@I2OaN@@8{$v#WO1b9!t{Brz{_pW_JPr(3d2xZ-PtTm8#@2w-NIUmAEXudJ+B zt`1muczD1y;#v_*BF%G)+MAM5QBhwefme7}yTD=UR#tEPojx#tvh=L13i8Yy5j3g-7%?%iENjO|>|@ll zM+Fv3Q&d#6!@>#}&`_kAW6ZDQM=y!`s~&fEE0|n7CSchy9qg|cV967_;^N{_>p2$} z@~>EbnVq#)`g+dkhIm?9+VbxD*!bsq`S%~{89J3z^UMwQqU!qA2CEzWK6wZVK6);> zI`AyK>`n92UxIG%1Q9&~GYbK+`wnYFxMEd>XmupN-Ts}P&ZLC=CQF>1t@`%uTN0mU z!ib&rjZ}^orq!+Mmp=MU%S=yAMc5)8h|F3kG%G7BNU-SpR#ZmDEWkT^Y9)v5UdL?P zfACv3CoJuBVjpJZ=86Qg9e8qO2;z!4t843xeKS6N(%So+e}(X8Hkfs_|H-ev3lM;+}nt1xwLMKb>AbYWCc07nx!;)&P(vVM-pS81*9(~n=|n6 z@O*PJW0xnlm`XXe+IYIV7m^inm`Un71-N)6=cg8YCqkbsV=5LA!qjK4+Pv(+2)@X2 zarN;jFRLjx3lLOvHi-0z=gu>yM173vK67n1=i7uT^F~w+VCYnnfQ{rq~LhH>}!;FoS#SeR;*W_e0pjXgDq8!~n*fNsz#=-LQ=&9tV-cLAG- zE71{k?dUr4SX=H*<-GL0^qx zjgoZsq|u-ohH%{xXU%<<>w;<(Ht*Bguk~-u%HBG^&v;iaNHeJgcQbv6*l|?@J%WHp z*9lM(gHX=stZK9|JID6EYvzbO$%|lON%pSJ-q=g3leu>0yl9T-*V(4vjKicP%8S3d zqC70gfwpGZHI4OJL*mawMn^{r?c3deMwliKdcNq{>D1r>X1SY$%39bF>e>u-Z+(%U ze{s8Yi3M~s#o?Km%1g#i^Kx=?msan$hX4&C=9(L&kg*s({Pn^33!;O8iejp4dht%} zZYnurqobW*2v~RyJk5Wan|sZ?ZF2|sOOKBNSZQz84R66lhBNX6$I3(#H3OV*Bjdy_ zM@RQ>9+%KKXoRHm(@Ls0N`v5Oh;>6Lmf>)w@9XO?H_S-iFA*|7TJZrim>#cwLi+@r z-sW%yw@;jArv8Dzpl8mAI3s=@vM+}|WqItGI>TJd2#z z+q2@Cf*ONOnT)@v8X@>0Kve)S&@|ho5kz^2ddx;ujYR(3n{=8~Q&am9X>ZR0aN-{V zZQxvn{t78@z8W^Im-Y1%QBPvz{voV%f)2|IX* z$cjBV@kaV;8~IkwIyf*3aRiB6m7NPvM&lqhXAlDcR1r$>B)w=IX+6uktvw=z1BcJLp)`IwIJVB7e96f64Y}KUUkbeF_(V z1cJ-R_$mzz&BoIQjN@RSONHb_*vrbxR}5R2mM74%MwR4!K1-*a&q6ZM`HffQL=1>R z_!f`#V|L2Z5{g%7FV}nw!!uFuj$)0}Qdu(U>*e>Byq-rY$aZI)2b?sQ_dgBM+^oZI z!7?tnZ9G~&i{%0#=edO)Z`<0~3#*3NpoiIIKk3Mm^Yge#oD+_fPZ2SpC2|93XTm70m~_8^l4; zrO-D`Q(N8Xuw%1}n(xzHugA4DuXmp#{F#fE`qI~z>>v^*c6fNW3!+e{sp*h`ZL~Cp zJw2%w?c=x|rk%r|ATkJImZ|CFq@-O5)gNLq*60y0xWk$8gUrm#8%5!BF5WRymVm%w zQq#hMMZRJrE`9OLH}W6f7ek`_Vj3t%GG7EO(Q6Q)2n$z1e*k{B5VPF7Nbon_JYD5o zT@}T}T0_s}jH2AGyoOK8Pc!e?iC<(&5Zz&RWdJnbe9~^HPB5;869y(w17`MO)hiM#pg&9y;ggcOEtUZiS{!PV<`K z*4&H&4mJX;dYSyue9}=Xf7qGE5C$*@60gsv?|yc z>_`arpKT0W?a)sC+DXqDVrG_&x|`8W<0BDnZGEn~y83l&Oc{aw|3GcmvOH0J=L4748PlT6v%GC|!ow5a(i(nmEoFJ2^nsY_ zH_eA7Gt7oyegM}^fM%N~k^Qv;kiMLE>ix2#@7@iGbA0}EHycAoSPDE|m1EK-&wV`i zF*de8lQo(HA1t>v$ouLQXxi^m2_iS>*lqRAoTTLari3;&H^-Mh=Z3ntym}pfa_!nR z-PqWV{(g6PeM-Zckc{YfM%xMThI2Xn;La#Jp>zzzMjFP7BBD*6uA@CUIr$N)(@IYY7Ve9h*-E;g0@F{IJj&xiV)f^i;A^zZk^lTt>o)cSdB zRBTi|riEG06p$RDp`jIT-?9llQDm37cVt_V_gKaw&HJw3?SUQ)rc3ytR>`9s51>-J zVElVnf*vENLlOs{nHHTGw(}Jsc_oSY9IC3^@KIjg_tw_dMB<2#kB{r&?z;Egy9_TB z16{8^&{spB(onjxJS@j=TmNYyz8pye>7UJgksCKspFbBctMkH4fyME?clO}GfbkT6 zQFgYl=U`!KO^sw|Rg-NZVPQlyXdR$1{YzQY-EB+%MRO;(6x4laM8MzI<>iK4T+5XY z7;%Q*U0Zi|L(G(;>p@0(Yinz(xvtJ4F+WN{ZBFpQNJ2_6V{h>(|ANaHElCbIWgw+y zdB}lU1=HByN8!@?-cNWVeFB#=ZyFnM8WmiX{_^EZh(n3Yxl94Iw6UV1;)Vum-|7!} z<|SC{=fWR;mgeU7b8$l zJuf9?3NkPVH&6Xw<06BbiH}dj*y@0YOYbN>i3XU5y;X6yts%4W`huDb+YvVRHfRN- z#E$V$R=5CnK?!Sq76+%ONl3Iwl_1^8>2_)ATq2ZoZaRt{_pxmJOM;imWlo@<_EL+bl4LF#5dnwa#^MCfP49%yU+pcZMa z4if6I3;ZyE+;-00HJ=408%J(hOtuPF@=~#&L2L7^8mUi zg}S>>xNjq@<@&D6f4FNcYC%iQXY|7J*559?co$%vmU6TA-BY4JTajP_;kp2Z)_ULt zPXAXF8U6vXuY~S_`~dOFIwljOEdN+uc6LpSMX8MJ+!&N(sgrc^4#-4vSPbuXEWAwL zy=i&t78~pjoj5R_a+P!#+WSr!6wJ(=KoGX`g$qC(ag()wes~8=j*pL@I5;>|R8{rg zQ4QTNP#i9W;4#2)%9`5+DOj?0BHMQ|xo7&hfWH6i>Z<47ic~E9Gx-1$`eZ`Xm*vlm zN82rg@VUs+t9%-B8K0*ufaluo*S-xvGmY|gopn-FMs~*lQP|JQ9GRt-pIFh z+ACCvb>OQ-Rz>cb9elZhOB^^FprmbD^#-o5nbEoPQ4v!9ZpS6S;f=K$j*ZL|JBr^fq-#mWIw>wGQX|pHBpPm%Aw%Wr} zmD+AW%b*kopq@Y4Qa%d@Xgsm zKDEf7?$T2=MD1jjSM@diZ+|Jm*rvDt>H_ni(bO;D|oiBmj_<$fA2dfxi^lB(+vv=>3nYwCZ}zG z<7xxu)epLpm=$9;@}6$|5>`>U0|;&ez6Wd=NsPjMhe+ely(iRhv$CHMimtMS7K0Di z6l3;NRL6+bYfiCp|8if#(r`z@g1$f`H7!eP@QCo2u5XvHI$qX~rka9FkF_oHx*Me z3l(35`_0!pkKR_QMb5}i&rCil8!n@zXafbv8Dsjt2I8rp*|>&CK=Jq(S5R=!UOy)8 zc7DO2m9@PzG_t8lJjvx{X{o-TN?29={NGqTB(lic+nep<$B(XJrlv_Rmu5f2a%&bL zXZUi4Y5$2LlTt?Qw99*AFJlvXmhQ1pEui2FsD0vs@%<=xEFdrR4(I+FIWudmm9VIs z$$qK1;@V}tICA(b9N^CYyKRnARbE$fs43zKB82sBee4d55^7(glz} z+`Zmc%16kVReJk81XJenB$OnlBY^X-MLzT35?_GxeKvxWU3V8)n*5J4N=Y5rg}jux zu7Mb}ccrdOQec6vL}z{GU@fJ~a~ zdC-3DGhr`=*6KL-&-MVSG|tt?nba7;VqrHF(~ux!m&zbx$u|rVK@SE~z_)sSfz?g+ zF8&0!hjZ$-5R$>{sLa$4HOB_(tP!s1Cx2f1MTCN|v@YG&399q0et=3} zcCl7y3;|L`0U#^G0OwYgd|$6m>@OpF9&DCL%i{uXd%up1NM}8J)&fOy<9h~A{hW5snIrEBLa?i|GU0RB)48@dumKersO0wo#iB+0keB3t_Y|J|~e z`U@N#J`}J5_QlRag3e~U9XUcMNyr%q|AyR@{|k>d>Xa3OlKLJYOHBknOb6aYxl6bZDk#9y$InA3BogHz9`zE0Xcw86_8lE4Nxd&o~MxqNU6z);sj Kr$)>9{(k{~!&R^V literal 0 HcmV?d00001 diff --git a/docs/gh-pages/assets/safari-pinned-tab.svg b/docs/gh-pages/assets/safari-pinned-tab.svg new file mode 100644 index 0000000000..ecddfee27e --- /dev/null +++ b/docs/gh-pages/assets/safari-pinned-tab.svg @@ -0,0 +1,23 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/docs/gh-pages/assets/search.js b/docs/gh-pages/assets/search.js new file mode 100644 index 0000000000..4d86c16a9e --- /dev/null +++ b/docs/gh-pages/assets/search.js @@ -0,0 +1,3 @@ +--- +--- +{%- include search-providers/default/search-data.js -%} \ No newline at end of file diff --git a/docs/gh-pages/assets/site.webmanifest b/docs/gh-pages/assets/site.webmanifest new file mode 100644 index 0000000000..de65106f48 --- /dev/null +++ b/docs/gh-pages/assets/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-256x256.png", + "sizes": "256x256", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/docs/gh-pages/battery-consumption.md b/docs/gh-pages/battery-consumption.md new file mode 100644 index 0000000000..c7879e5724 --- /dev/null +++ b/docs/gh-pages/battery-consumption.md @@ -0,0 +1,76 @@ +--- +title: Battery consumption +--- + +## How important is battery consumption due to media playback? ## + +Avoiding unnecessary battery consumption is an important aspect of developing a +good Android application. Media playback can be a major cause of battery drain, +however its importance for a particular app heavily depends on its usage +patterns. If an app is only used to play small amounts of media each day, then +the corresponding battery consumption will only be a small percentage of the +total consumption of the device. In such it makes sense to prioritize feature +set and reliability over optimizing for battery when selecting which player to +use. On the other hand, if an app is often used to play large amounts of media +each day, then optimizing for battery consumption should be weighted more +heavily when choosing between a number of viable options. + +## How power efficient is ExoPlayer? ## + +The diverse nature of the Android device and media content ecosystems means that +it’s difficult to make widely applicable statements about ExoPlayer’s battery +consumption, and in particular how it compares with Android’s MediaPlayer API. +Both absolute and relative performance vary by hardware, Android version and the +media being played. Hence the information provided below should be treated as +guidance only. + +### Video playback ### + +For video playback, our measurements show that ExoPlayer and MediaPlayer draw +similar amounts of power. The power required for the display and decoding the +video stream are the same in both cases, and these account for most of the power +consumed during playback. + +Regardless of which media player is used, choosing between `SurfaceView` and +`TextureView` for output can have a significant impact on power consumption. +`SurfaceView` is more power efficient, with `TextureView` increasing total power +draw during video playback by as much as 30% on some devices. `SurfaceView` +should therefore be preferred where possible. Read more about choosing between +`SurfaceView` and `TextureView` +[here]({{ site.baseurl }}/ui-components.html#choosing-a-surface-type). + +Below are some power consumption measurements for playing 1080p and 480p video +on Pixel 2, measured using a [Monsoon power monitor][]. As mentioned above, +these numbers should not be used to draw general conclusions about power +consumption across the Android device and media content ecosystems. + +| | MediaPlayer | ExoPlayer | +|-------------------|:-----------:|:----------| +| SurfaceView 1080p | 202 mAh | 214 mAh | +| TextureView 1080p | 219 mAh | 221 mAh | +| SurfaceView 480p | 194 mAh | 207 mAh | +| TextureView 480p | 212 mAh | 215 mAh | + +### Audio playback ### + +For short audio playbacks or playbacks when the screen is on, using ExoPlayer +does not have a significant impact on power compared to using MediaPlayer. + +For long playbacks with the screen off, ExoPlayer's audio offload mode needs to +be used or ExoPlayer may consume significantly more power than MediaPlayer. +Audio offload allows audio processing to be offloaded from the CPU to a +dedicated signal processor. It is used by default by MediaPlayer but not +ExoPlayer. ExoPlayer introduced support for audio offload in 2.12 as an +experimental feature. See `DefaultRenderersFactory.setEnableAudioOffload` and +`ExoPlayer.experimentalSetOffloadSchedulingEnabled` for more details on how +to enable it. + +Due to SDK API limitations, ExoPlayer's audio offload mode is only available on +devices running Android 10 and above. MediaPlayer can use audio offload on +devices running earlier versions of Android. Whether the increased robustness, +flexibility and feature set that ExoPlayer provides over MediaPlayer is worth +the increased power consumption for audio only use cases on older devices is +something an app developer must decide, taking their requirements and app usage +patterns into account. + +[Monsoon power monitor]: https://www.msoon.com/battery-configuration diff --git a/docs/gh-pages/customization.md b/docs/gh-pages/customization.md new file mode 100644 index 0000000000..7a5cf7e51a --- /dev/null +++ b/docs/gh-pages/customization.md @@ -0,0 +1,277 @@ +--- +title: Customization +--- + +At the core of the ExoPlayer library is the `Player` interface. A `Player` +exposes traditional high-level media player functionality such as the ability to +buffer media, play, pause and seek. The default implementations `ExoPlayer` and +`SimpleExoPlayer` are designed to make few assumptions about (and hence impose +few restrictions on) the type of media being played, how and where it is stored, +and how it is rendered. Rather than implementing the loading and rendering of +media directly, `ExoPlayer` implementations delegate this work to components +that are injected when a player is created or when new media sources are passed +to the player. Components common to all `ExoPlayer` implementations are: + +* `MediaSource` instances that define media to be played, load the media, and + from which the loaded media can be read. `MediaSource` instances are created + from `MediaItem`s by a `MediaSourceFactory` inside the player. They can also + be passed directly to the player using the [media source based playlist API]. +* A `MediaSourceFactory` that converts `MediaItem`s to `MediaSource`s. The + `MediaSourceFactory` is injected when the player is created. +* `Renderer`s that render individual components of the media. `Renderer`s are + injected when the player is created. +* A `TrackSelector` that selects tracks provided by the `MediaSource` to be + consumed by each of the available `Renderer`s. A `TrackSelector` is injected + when the player is created. +* A `LoadControl` that controls when the `MediaSource` buffers more media, and + how much media is buffered. A `LoadControl` is injected when the player is + created. +* A `LivePlaybackSpeedControl` that controls the playback speed during live + playbacks to allow the player to stay close to a configured live offset. A + `LivePlaybackSpeedControl` is injected when the player is created. + +The concept of injecting components that implement pieces of player +functionality is present throughout the library. The default implementations of +some components delegate work to further injected components. This allows many +sub-components to be individually replaced with implementations that are +configured in a custom way. + +## Player customization ## + +Some common examples of customizing the player by injecting components are +described below. + +### Configuring the network stack ### + +ExoPlayer supports Android's default network stack, as well as Cronet and +OkHttp. In each case it's possible to customize the network stack for your use +case. The following example shows how to customize the player to use Android's +default network stack with cross-protocol redirects enabled: + +~~~ +// Build a HttpDataSource.Factory with cross-protocol redirects enabled. +HttpDataSource.Factory httpDataSourceFactory = + new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true); + +// Wrap the HttpDataSource.Factory in a DefaultDataSourceFactory, which adds in +// support for requesting data from other sources (e.g., files, resources, etc). +DefaultDataSourceFactory dataSourceFactory = + new DefaultDataSourceFactory(context, httpDataSourceFactory); + +// Inject the DefaultDataSourceFactory when creating the player. +SimpleExoPlayer player = + new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory(new DefaultMediaSourceFactory(dataSourceFactory)) + .build(); +~~~ +{: .language-java} + +The same approach can be used to configure and inject `HttpDataSource.Factory` +implementations provided by the [Cronet extension] and the [OkHttp extension], +depending on your preferred choice of network stack. + +### Caching data loaded from the network ### + +To temporarily cache media, or for +[playing downloaded media]({{ site.baseurl }}/downloading-media.html#playing-downloaded-content), +you can inject a `CacheDataSource.Factory` into the `DefaultMediaSourceFactory`: + +~~~ +DataSource.Factory cacheDataSourceFactory = + new CacheDataSource.Factory() + .setCache(simpleCache) + .setUpstreamDataSourceFactory(httpDataSourceFactory); + +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory( + new DefaultMediaSourceFactory(cacheDataSourceFactory)) + .build(); +~~~ +{: .language-java} + +### Customizing server interactions ### + +Some apps may want to intercept HTTP requests and responses. You may want to +inject custom request headers, read the server's response headers, modify the +requests' URIs, etc. For example, your app may authenticate itself by injecting +a token as a header when requesting the media segments. + +The following example demonstrates how to implement these behaviors by +injecting a custom `DataSource.Factory` into the `DefaultMediaSourceFactory`: + +~~~ +DataSource.Factory dataSourceFactory = () -> { + HttpDataSource dataSource = httpDataSourceFactory.createDataSource(); + // Set a custom authentication request header. + dataSource.setRequestProperty("Header", "Value"); + return dataSource; +}; + +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory(new DefaultMediaSourceFactory(dataSourceFactory)) + .build(); +~~~ +{: .language-java} + +In the code snippet above, the injected `HttpDataSource` includes the header +`"Header: Value"` in every HTTP request. This behavior is *fixed* for every +interaction with an HTTP source. + +For a more granular approach, you can inject just-in-time behavior using a +`ResolvingDataSource`. The following code snippet shows how to inject +request headers just before interacting with an HTTP source: + +~~~ +DataSource.Factory dataSourceFactory = new ResolvingDataSource.Factory( + httpDataSourceFactory, + // Provide just-in-time request headers. + dataSpec -> dataSpec.withRequestHeaders(getCustomHeaders(dataSpec.uri))); +~~~ +{: .language-java} + +You may also use a `ResolvingDataSource` to perform +just-in-time modifications of the URI, as shown in the following snippet: + +~~~ +DataSource.Factory dataSourceFactory = new ResolvingDataSource.Factory( + httpDataSourceFactory, + // Provide just-in-time URI resolution logic. + dataSpec -> dataSpec.withUri(resolveUri(dataSpec.uri))); +~~~ +{: .language-java} + +### Customizing error handling ### + +Implementing a custom [LoadErrorHandlingPolicy][] allows apps to customize the +way ExoPlayer reacts to load errors. For example, an app may want to fail fast +instead of retrying many times, or may want to customize the back-off logic that +controls how long the player waits between each retry. The following snippet +shows how to implement custom back-off logic: + +~~~ +LoadErrorHandlingPolicy loadErrorHandlingPolicy = + new DefaultLoadErrorHandlingPolicy() { + @Override + public long getRetryDelayMsFor(LoadErrorInfo loadErrorInfo) { + // Implement custom back-off logic here. + } + }; + +SimpleExoPlayer player = + new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory( + new DefaultMediaSourceFactory(context) + .setLoadErrorHandlingPolicy(loadErrorHandlingPolicy)) + .build(); +~~~ +{: .language-java} + +The `LoadErrorInfo` argument contains more information about the failed load to +customize the logic based on the error type or the failed request. + +### Customizing extractor flags ### + +Extractor flags can be used to customize how individual formats are extracted +from progressive media. They can be set on the `DefaultExtractorsFactory` that's +provided to the `DefaultMediaSourceFactory`. The following example passes a flag +that enables index-based seeking for MP3 streams. + +~~~ +DefaultExtractorsFactory extractorsFactory = + new DefaultExtractorsFactory() + .setMp3ExtractorFlags(Mp3Extractor.FLAG_ENABLE_INDEX_SEEKING); + +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context) + .setMediaSourceFactory( + new DefaultMediaSourceFactory(context, extractorsFactory)) + .build(); +~~~ +{: .language-java} + +### Enabling constant bitrate seeking ### + +For MP3, ADTS and AMR streams, you can enable approximate seeking using a +constant bitrate assumption with `FLAG_ENABLE_CONSTANT_BITRATE_SEEKING` flags. +These flags can be set for individual extractors using the individual +`DefaultExtractorsFactory.setXyzExtractorFlags` methods as described above. To +enable constant bitrate seeking for all extractors that support it, use +`DefaultExtractorsFactory.setConstantBitrateSeekingEnabled`. + +~~~ +DefaultExtractorsFactory extractorsFactory = + new DefaultExtractorsFactory().setConstantBitrateSeekingEnabled(true); +~~~ +{: .language-java} + +The `ExtractorsFactory` can then be injected via `DefaultMediaSourceFactory` as +described for customizing extractor flags above. + +## MediaSource customization ## + +The examples above inject customized components for use during playback of all +`MediaItem`s that are passed to the player. Where fine-grained customization is +required, it's also possible to inject customized components into individual +`MediaSource` instances, which can be passed directly to the player. The example +below shows how to customize a `ProgressiveMediaSource` to use a custom +`DataSource.Factory`, `ExtractorsFactory` and `LoadErrorHandlingPolicy`: + +~~~ +ProgressiveMediaSource mediaSource = + new ProgressiveMediaSource.Factory( + customDataSourceFactory, customExtractorsFactory) + .setLoadErrorHandlingPolicy(customLoadErrorHandlingPolicy) + .createMediaSource(MediaItem.fromUri(streamUri)); +~~~ +{: .language-java} + +## Creating custom components ## + +The library provides default implementations of the components listed at the top +of this page for common use cases. An `ExoPlayer` can use these components, but +may also be built to use custom implementations if non-standard behaviors are +required. Some use cases for custom implementations are: + +* `Renderer` – You may want to implement a custom `Renderer` to handle a + media type not supported by the default implementations provided by the + library. +* `TrackSelector` – Implementing a custom `TrackSelector` allows an app + developer to change the way in which tracks exposed by a `MediaSource` are + selected for consumption by each of the available `Renderer`s. +* `LoadControl` – Implementing a custom `LoadControl` allows an app + developer to change the player's buffering policy. +* `Extractor` – If you need to support a container format not currently + supported by the library, consider implementing a custom `Extractor` class. +* `MediaSource` – Implementing a custom `MediaSource` class may be + appropriate if you wish to obtain media samples to feed to renderers in a + custom way, or if you wish to implement custom `MediaSource` compositing + behavior. +* `MediaSourceFactory` – Implementing a custom `MediaSourceFactory` allows + an application to customize the way in which `MediaSource`s are created from + `MediaItem`s. +* `DataSource` – ExoPlayer’s upstream package already contains a number of + `DataSource` implementations for different use cases. You may want to + implement you own `DataSource` class to load data in another way, such as over + a custom protocol, using a custom HTTP stack, or from a custom persistent + cache. + +When building custom components, we recommend the following: + +* If a custom component needs to report events back to the app, we recommend + that you do so using the same model as existing ExoPlayer components, for + example using `EventDispatcher` classes or passing a `Handler` together with + a listener to the constructor of the component. +* We recommended that custom components use the same model as existing ExoPlayer + components to allow reconfiguration by the app during playback. To do this, + custom components should implement `PlayerMessage.Target` and receive + configuration changes in the `handleMessage` method. Application code should + pass configuration changes by calling ExoPlayer’s `createMessage` method, + configuring the message, and sending it to the component using + `PlayerMessage.send`. Sending messages to be delivered on the playback thread + ensures that they are executed in order with any other operations being + performed on the player. + +[Cronet extension]: https://github.com/google/ExoPlayer/tree/release-v2/extensions/cronet +[OkHttp extension]: https://github.com/google/ExoPlayer/tree/release-v2/extensions/okhttp +[LoadErrorHandlingPolicy]: {{ site.exo_sdk }}/upstream/LoadErrorHandlingPolicy.html +[media source based playlist API]: {{ site.baseurl }}/media-sources.html#media-source-based-playlist-api + diff --git a/docs/gh-pages/dash.md b/docs/gh-pages/dash.md new file mode 100644 index 0000000000..f4010bc0c2 --- /dev/null +++ b/docs/gh-pages/dash.md @@ -0,0 +1,86 @@ +--- +title: DASH +--- + +{% include_relative _page_fragments/supported-formats-dash.md %} + +## Using MediaItem ## + +To play a DASH stream, you need to depend on the DASH module. + +~~~ +implementation 'com.google.android.exoplayer:exoplayer-dash:2.X.X' +~~~ +{: .language-gradle} + +You can then create a `MediaItem` for a DASH MPD URI and pass it to the player. + +~~~ +// Create a player instance. +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build(); +// Set the media item to be played. +player.setMediaItem(MediaItem.fromUri(dashUri)); +// Prepare the player. +player.prepare(); +~~~ +{: .language-java} + +If your URI doesn't end with `.mpd`, you can pass `MimeTypes.APPLICATION_MPD` +to `setMimeType` of `MediaItem.Builder` to explicitly indicate the type of the +content. + +ExoPlayer will automatically adapt between representations defined in the +manifest, taking into account both available bandwidth and device capabilities. + +## Using DashMediaSource ## + +For more customization options, you can create a `DashMediaSource` and pass it +directly to the player instead of a `MediaItem`. + +~~~ +// Create a data source factory. +DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory(); +// Create a DASH media source pointing to a DASH manifest uri. +MediaSource mediaSource = + new DashMediaSource.Factory(dataSourceFactory) + .createMediaSource(MediaItem.fromUri(dashUri)); +// Create a player instance. +SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build(); +// Set the media source to be played. +player.setMediaSource(mediaSource); +// Prepare the player. +player.prepare(); +~~~ +{: .language-java} + +## Accessing the manifest ## + +You can retrieve the current manifest by calling `Player.getCurrentManifest`. +For DASH you should cast the returned object to `DashManifest`. The +`onTimelineChanged` callback of `Player.EventListener` is also called whenever +the manifest is loaded. This will happen once for a on-demand content, and +possibly many times for live content. The code snippet below shows how an app +can do something whenever the manifest is loaded. + +~~~ +player.addListener( + new Player.EventListener() { + @Override + public void onTimelineChanged( + Timeline timeline, @Player.TimelineChangeReason int reason) { + Object manifest = player.getCurrentManifest(); + if (manifest != null) { + DashManifest dashManifest = (DashManifest) manifest; + // Do something with the manifest. + } + } + }); +~~~ +{: .language-java} + +## Customizing playback ## + +ExoPlayer provides multiple ways for you to tailor playback experience to your +app's needs. See the [Customization page][] for examples. + +[Customization page]: {{ site.baseurl }}/customization.html diff --git a/docs/gh-pages/debug-logging.md b/docs/gh-pages/debug-logging.md new file mode 100644 index 0000000000..25ea13ccf5 --- /dev/null +++ b/docs/gh-pages/debug-logging.md @@ -0,0 +1,126 @@ +--- +title: Debug logging +--- + +By default ExoPlayer only logs errors. To log player events, the `EventLogger` +class can be used. The additional logging it provides can be helpful for +understanding what the player is doing, as well as for debugging playback +issues. `EventLogger` implements `AnalyticsListener`, so registering an instance +with a `SimpleExoPlayer` is easy: + +``` +player.addAnalyticsListener(new EventLogger(trackSelector)); +``` +{: .language-java} + +Passing the `trackSelector` enables additional logging, but is optional and so +`null` can be passed instead. + +The easiest way to observe the log is using Android Studio's [logcat tab][]. You +can select your app as debuggable process by the package name ( +`com.google.android.exoplayer2.demo` if using the demo app) and tell the logcat +tab to log only for that app by selecting 'show only selected application'. It's +possible to further filter the logging with the expression +`EventLogger|ExoPlayerImpl`, to get only logging from `EventLogger` and the +player itself. + +An alternative to using Android Studio's logcat tab is to use the console. For +example: + +~~~ +adb logcat EventLogger:* ExoPlayerImpl:* *:s +~~~ +{: .language-shell} + +### Player information ### + +The `ExoPlayerImpl` class delivers two important lines about the player version, +the device and OS the app is running on and the modules of ExoPlayer that have +been loaded: + +``` +ExoPlayerImpl: Release 2cd6e65 [ExoPlayerLib/2.12.0] [marlin, Pixel XL, Google, 26] [goog.exo.core, goog.exo.ui, goog.exo.dash] +ExoPlayerImpl: Init 2e5194c [ExoPlayerLib/2.12.0] [marlin, Pixel XL, Google, 26] +``` + +### Playback state ### + +Player state changes are logged in lines like the ones below: + +``` +EventLogger: playWhenReady [eventTime=0.00, mediaPos=0.00, window=0, true, USER_REQUEST] +EventLogger: state [eventTime=0.01, mediaPos=0.00, window=0, BUFFERING] +EventLogger: state [eventTime=0.93, mediaPos=0.00, window=0, period=0, READY] +EventLogger: isPlaying [eventTime=0.93, mediaPos=0.00, window=0, period=0, true] +EventLogger: playWhenReady [eventTime=9.40, mediaPos=8.40, window=0, period=0, false, USER_REQUEST] +EventLogger: isPlaying [eventTime=9.40, mediaPos=8.40, window=0, period=0, false] +EventLogger: playWhenReady [eventTime=10.40, mediaPos=8.40, window=0, period=0, true, USER_REQUEST] +EventLogger: isPlaying [eventTime=10.40, mediaPos=8.40, window=0, period=0, true] +EventLogger: state [eventTime=20.40, mediaPos=18.40, window=0, period=0, ENDED] +EventLogger: isPlaying [eventTime=20.40, mediaPos=18.40, window=0, period=0, false] +``` + +In this example playback starts 0.93 seconds after the player is prepared. The +user pauses playback after 9.4 seconds, and resumes playback one second later at +10.4 seconds. Playback ends ten seconds later at 20.4 seconds. The common +elements within the square brackets are: + +* `[eventTime=float]`: The wall clock time since player creation. +* `[mediaPos=float]`: The current playback position. +* `[window=int]`: The current window index. +* `[period=int]`: The current period in that window. + +The final elements in each line indicate the value of the state being reported. + +### Media tracks ### + +Track information is logged when the available or selected tracks change. This +happens at least once at the start of playback. The example below shows track +logging for an adaptive stream: + +``` +EventLogger: tracks [eventTime=0.30, mediaPos=0.00, window=0, period=0, +EventLogger: MediaCodecVideoRenderer [ +EventLogger: Group:0, adaptive_supported=YES [ +EventLogger: [X] Track:0, id=133, mimeType=video/avc, bitrate=261112, codecs=avc1.4d4015, res=426x240, fps=30.0, supported=YES +EventLogger: [X] Track:1, id=134, mimeType=video/avc, bitrate=671331, codecs=avc1.4d401e, res=640x360, fps=30.0, supported=YES +EventLogger: [X] Track:2, id=135, mimeType=video/avc, bitrate=1204535, codecs=avc1.4d401f, res=854x480, fps=30.0, supported=YES +EventLogger: [X] Track:3, id=160, mimeType=video/avc, bitrate=112329, codecs=avc1.4d400c, res=256x144, fps=30.0, supported=YES +EventLogger: [ ] Track:4, id=136, mimeType=video/avc, bitrate=2400538, codecs=avc1.4d401f, res=1280x720, fps=30.0, supported=NO_EXCEEDS_CAPABILITIES +EventLogger: ] +EventLogger: ] +EventLogger: MediaCodecAudioRenderer [ +EventLogger: Group:0, adaptive_supported=YES_NOT_SEAMLESS [ +EventLogger: [ ] Track:0, id=139, mimeType=audio/mp4a-latm, bitrate=48582, codecs=mp4a.40.5, channels=2, sample_rate=22050, supported=YES +EventLogger: [X] Track:1, id=140, mimeType=audio/mp4a-latm, bitrate=127868, codecs=mp4a.40.2, channels=2, sample_rate=44100, supported=YES +EventLogger: ] +EventLogger: ] +EventLogger: ] +``` + +In this example, the player has selected four of the five available video +tracks. The fifth video track is not selected because it exceeds the +capabilities of the device, as indicated by `supported=NO_EXCEEDS_CAPABILITIES`. +The player will adapt between the selected video tracks during playback. When +the player adapts from one track to another, it's logged in a line like the one +below: + +``` +EventLogger: downstreamFormat [eventTime=3.64, mediaPos=3.00, window=0, period=0, id=134, mimeType=video/avc, bitrate=671331, codecs=avc1.4d401e, res=640x360, fps=30.0] +``` + +This log line indicates that the player switched to the 640x360 resolution video +track three seconds into the media. + +### Decoder selection ### + +In most cases ExoPlayer renders media using a `MediaCodec` acquired from the +underlying platform. When a decoder is initialized, this is logged in lines like +the ones below: + +``` +EventLogger: videoDecoderInitialized [0.77, 0.00, window=0, period=0, video, OMX.qcom.video.decoder.avc] +EventLogger: audioDecoderInitialized [0.79, 0.00, window=0, period=0, audio, OMX.google.aac.decoder] +``` + +[logcat tab]: https://developer.android.com/studio/debug/am-logcat diff --git a/docs/gh-pages/demo-application.md b/docs/gh-pages/demo-application.md new file mode 100644 index 0000000000..4e548edb60 --- /dev/null +++ b/docs/gh-pages/demo-application.md @@ -0,0 +1,259 @@ +--- +title: Demo application +--- + +ExoPlayer's main demo app serves two primary purposes: + +1. To provide a relatively simple yet fully featured example of ExoPlayer usage. + The demo app can be used as a convenient starting point from which to develop + your own application. +1. To make it easy to try ExoPlayer. The demo app can be used to test playback + of your own content in addition to the included samples. + +This page describes how to get, compile and run the demo app. It also describes +how to use it to play your own media. + +## Getting the code ## + +The source code for the main demo app can be found in the `demos/main` folder of +our [GitHub project][]. If you haven't already done so, clone the project into a +local directory: + +~~~ +git clone https://github.com/google/ExoPlayer.git +~~~ +{: .language-shell} + +Next, open the project in Android Studio. You should see the following in the +Android Project view (the relevant folders of the demo app have been expanded): + +{% include figure.html url="/images/demo-app-project.png" index="1" caption="The project in Android Studio" %} + +## Compiling and running ## + +To compile and run the demo app, select and run the `demo` configuration in +Android Studio. The demo app will install and run on a connected Android device. +We recommend using a physical device if possible. If you wish to use an emulator +instead, please read the emulators section of [Supported devices][] and ensure +that your Virtual Device uses a system image with an API level of at least 23. + +{% include figure.html url="/images/demo-app-screenshots.png" index="2" caption="SampleChooserActivity and PlayerActivity" %} + +The demo app presents of a list of samples (`SampleChooserActivity`). Selecting +a sample will open a second activity (`PlayerActivity`) for playback. The demo +features playback controls and track selection functionality. It also uses +ExoPlayer's `EventLogger` utility class to output useful debug information to +the system log. This logging can be viewed (along with error level logging for +other tags) with the command: + +~~~ +adb logcat EventLogger:V *:E +~~~ +{: .language-shell} + +### Enabling extension decoders ### + +ExoPlayer has a number of extensions that allow use of bundled software +decoders, including AV1, VP9, Opus, FLAC and FFmpeg (audio only). The demo app +can be built to include and use these extensions as follows: + +1. Build each of the extensions that you want to include. Note that this is a + manual process. Refer to the `README.md` file in each extension for + instructions. +1. In Android Studio's Build Variants view, set the build variant for the demo + module to `withDecoderExtensionsDebug` or `withDecoderExtensionsRelease` as + shown below. +1. Compile, install and run the `demo` configuration as normal. + +{% include figure.html url="/images/demo-app-build-variants.png" index="3" caption="Selecting the demo withDecoderExtensionsDebug build variant" %} + +By default an extension decoder will be used only if a suitable platform decoder +does not exist. It is possible to specify that extension decoders should be +preferred, as described in the sections below. + +## Playing your own content ## + +There are multiple ways to play your own content in the demo app. + +### 1. Editing assets/media.exolist.json ### + +The samples listed in the demo app are loaded from `assets/media.exolist.json`. +By editing this JSON file it's possible to add and remove samples from the demo +app. The schema is as follows, where [O] indicates an optional attribute. + +~~~ +[ + { + "name": "Name of heading", + "samples": [ + { + "name": "Name of sample", + "uri": "The URI of the sample", + "extension": "[O] Sample type hint. Values: mpd, ism, m3u8", + "clip_start_position_ms": "[O] A start point to which the sample should be clipped, in milliseconds" + "clip_end_position_ms": "[O] An end point from which the sample should be clipped, in milliseconds" + "drm_scheme": "[O] Drm scheme if protected. Values: widevine, playready, clearkey", + "drm_license_uri": "[O] URI of the license server if protected", + "drm_force_default_license_uri": "[O] Whether to force use of "drm_license_uri" for key requests that include their own license URI", + "drm_key_request_properties": "[O] Key request headers if protected", + "drm_session_for_clear_content": "[O] Whether to attach a DRM session to clear video and audio tracks" + "drm_multi_session": "[O] Enables key rotation if protected", + "subtitle_uri": "[O] The URI of a subtitle sidecar file", + "subtitle_mime_type": "[O] The MIME type of subtitle_uri (required if subtitle_uri is set)", + "subtitle_language": "[O] The BCP47 language code of the subtitle file (ignored if subtitle_uri is not set)", + "ad_tag_uri": "[O] The URI of an ad tag to load via the IMA extension" + }, + ...etc + ] + }, + ...etc +] +~~~ +{: .language-json} + +Playlists of samples can be specified using the schema: + +~~~ +[ + { + "name": "Name of heading", + "samples": [ + { + "name": "Name of playlist sample", + "playlist": [ + { + "uri": "The URI of the first sample in the playlist", + "extension": "[O] Sample type hint. Values: mpd, ism, m3u8" + "clip_start_position_ms": "[O] A start point to which the sample should be clipped, in milliseconds" + "clip_end_position_ms": "[O] An end point from which the sample should be clipped, in milliseconds" + "drm_scheme": "[O] Drm scheme if protected. Values: widevine, playready, clearkey", + "drm_license_uri": "[O] URI of the license server if protected", + "drm_force_default_license_uri": "[O] Whether to force use of "drm_license_uri" for key requests that include their own license URI", + "drm_key_request_properties": "[O] Key request headers if protected", + "drm_session_for_clear_content": "[O] Whether to attach a DRM session to clear video and audio tracks", + "drm_multi_session": "[O] Enables key rotation if protected", + "subtitle_uri": "[O] The URI of a subtitle sidecar file", + "subtitle_mime_type": "[O] The MIME type of subtitle_uri (required if subtitle_uri is set)", + "subtitle_language": "[O] The BCP47 language code of the subtitle file (ignored if subtitle_uri is not set)" + }, + { + "uri": "The URI of the second sample in the playlist", + ...etc + }, + ...etc + ] + }, + ...etc + ] + }, + ...etc +] +~~~ +{: .language-json} + +If required, key request headers are specified as an object containing a string +attribute for each header: + +~~~ +"drm_key_request_properties": { + "name1": "value1", + "name2": "value2", + ...etc +} +~~~ +{: .language-json} + +In the sample chooser activity, the overflow menu contains options for +specifying whether to prefer extension decoders. + +### 2. Loading an external exolist.json file ### + +The demo app can load external JSON files using the schema above and named +according to the `*.exolist.json` convention. For example if you host such a +file at `https://yourdomain.com/samples.exolist.json`, you can open it in the +demo app using: + +~~~ +adb shell am start -a com.android.action.VIEW \ + -d https://yourdomain.com/samples.exolist.json +~~~ +{: .language-shell} + +Clicking a `*.exolist.json` link (e.g., in the browser or an email client) on a +device with the demo app installed will also open it in the demo app. Hence +hosting a `*.exolist.json` JSON file provides a simple way of distributing +content for others to try in the demo app. + +### 3. Firing an intent ### + +Intents can be used to bypass the list of samples and launch directly into +playback. To play a single sample set the intent's action to +`com.google.android.exoplayer.demo.action.VIEW` and its data URI to that of the +sample to play. Such an intent can be fired from the terminal using: + +~~~ +adb shell am start -a com.google.android.exoplayer.demo.action.VIEW \ + -d https://yourdomain.com/sample.mp4 +~~~ +{: .language-shell} + +Supported optional extras for a single sample intent are: + +* Sample configuration extras: + * `mime_type` [String] Sample MIME type hint. For example + `application/dash+xml` for DASH content. + * `clip_start_position_ms` [Long] A start point to which the sample should be + clipped, in milliseconds. + * `clip_end_position_ms` [Long] An end point from which the sample should be + clipped, in milliseconds. + * `drm_scheme` [String] DRM scheme if protected. Valid values are `widevine`, + `playready` and `clearkey`. DRM scheme UUIDs are also accepted. + * `drm_license_uri` [String] URI of the license server if protected. + * `drm_force_default_license_uri` [Boolean] Whether to force use of + `drm_license_uri` for key requests that include their own license URI. + * `drm_key_request_properties` [String array] Key request headers packed as + name1, value1, name2, value2 etc. if protected. + * `drm_session_for_clear_content` [Boolean] Whether to attach a DRM session + to clear video and audio tracks. + * `drm_multi_session` [Boolean] Enables key rotation if protected. + * `subtitle_uri` [String] The URI of a subtitle sidecar file. + * `subtitle_mime_type` [String] The MIME type of subtitle_uri (required if + subtitle_uri is set). + * `subtitle_language` [String] The BCP47 language code of the subtitle file + (ignored if subtitle_uri is not set). + * `ad_tag_uri` [String] The URI of an ad tag to load using the + [IMA extension][]. + * `prefer_extension_decoders` [Boolean] Whether extension decoders are + preferred to platform ones. + +When using `adb shell am start` to fire an intent, an optional string extra can +be set with `--es` (e.g., `--es extension mpd`). An optional boolean extra can +be set with `--ez` (e.g., `--ez prefer_extension_decoders TRUE`). An optional +long extra can be set with `--el` (e.g., `--el clip_start_position_ms 5000`). An +optional string array extra can be set with `--esa` (e.g., +`--esa drm_key_request_properties name1,value1`). + +To play a playlist of samples, set the intent's action to +`com.google.android.exoplayer.demo.action.VIEW_LIST`. The sample configuration +extras remain the same as for `com.google.android.exoplayer.demo.action.VIEW`, +except for two differences: + +* The extras' keys should have an underscore and the 0-based index of the sample + as suffix. For example, `extension_0` would hint the sample type for the first + sample. `drm_scheme_1` would set the DRM scheme for the second sample. +* The uri of the sample is passed as an extra with key `uri_`. + +Other extras, which are not sample dependant, do not change. For example, you +can run the following command in the terminal to play a playlist with two items, +overriding the extension of the second item: +~~~ +adb shell am start -a com.google.android.exoplayer.demo.action.VIEW_LIST \ + --es uri_0 https://a.com/sample1.mp4 \ + --es uri_1 https://b.com/sample2.fake_mpd \ + --es extension_1 mpd +~~~ +{: .language-shell} + +[IMA extension]: {{ site.release_v2 }}/extensions/ima +[GitHub project]: https://github.com/google/ExoPlayer +[Supported devices]: {{ site.baseurl }}/supported-devices.html diff --git a/docs/gh-pages/design-documents.md b/docs/gh-pages/design-documents.md new file mode 100644 index 0000000000..26fe01098d --- /dev/null +++ b/docs/gh-pages/design-documents.md @@ -0,0 +1,36 @@ +--- +title: Design documents +--- + +To get early feedback from developers, we publish design documents for larger +changes on this page. Feel free to comment on the documents that are still in +"request for comments" (RFC) status. Note that we do not typically update +documents once changes are implemented. + +### RFC status ### + +* There are no documents in RFC status at this time + +### Archive ### + +* [Add support for partially fragmented MP4s][] (July 2020) +* [Audio offload][] (April 2020) +* [Sniffing order optimization][] (April 2020) +* [Masking seek state changes][] (March 2020) +* [Frame-accurate pausing][] (January 2020) +* [Index seeking in MP3 streams][] (January 2020) +* [Low-latency live playback][] (September 2019) +* [Unwrapping Nested Metadata][] (September 2019) +* [Playlist API][] (July 2019) +* [Bandwidth estimation analysis][] (July 2019) + +[Add support for partially fragmented MP4s]: https://docs.google.com/document/d/1NUheADYlqIVVPT8Ch5UbV8DJHLDoxMoOD_L8mvU8tTM +[Audio offload]: https://docs.google.com/document/d/1r6wi6OtJUaI1QU8QLrLJTZieQBFTN1fyBK4U_PoPp3g +[Sniffing order optimization]: https://docs.google.com/document/d/1w2mKaWMxfz2Ei8-LdxqbPs1VLe_oudB-eryXXw9OvQQ +[Masking seek state changes]: https://docs.google.com/document/d/1XeOduvYus9HfwXtOtoRC185T4PK-L4u7JRmNM46Ee4w +[Frame-accurate pausing]: https://docs.google.com/document/d/1xXGvIMAYDWN4BGUNqAplNN-T7rjrW_1EAVXpyCcAqUI +[Index seeking in MP3 streams]: https://docs.google.com/document/d/1ZtQsCFvi_LiwFqhHWy20dJ1XwHLOXE4BJ5SzXWJ9a9E +[Low-latency live playback]: https://docs.google.com/document/d/1z9qwuP7ff9sf3DZboXnhEF9hzW3Ng5rfJVqlGn8N38k +[Unwrapping Nested Metadata]: https://docs.google.com/document/d/1TS13CVmexaLG1C4TdD-4NkX-BCSr_76FaHVOPo6XP1E +[Playlist API]: https://docs.google.com/document/d/11h0S91KI5TB3NNZUtsCzg0S7r6nyTnF_tDZZAtmY93g +[Bandwidth estimation analysis]: https://docs.google.com/document/d/1e3jVkZ6nxNWgCqTNibqV8uJcKo8d597XVl3nJkY7P8c diff --git a/docs/gh-pages/docs/reference/allclasses-frame.html b/docs/gh-pages/docs/reference/allclasses-frame.html new file mode 100644 index 0000000000..41f2b2ad38 --- /dev/null +++ b/docs/gh-pages/docs/reference/allclasses-frame.html @@ -0,0 +1,1126 @@ + + + + +All Classes (ExoPlayer library) + + + + + + + + + + + +

      All Classes

      +
      + +
      + + diff --git a/docs/gh-pages/docs/reference/allclasses-noframe.html b/docs/gh-pages/docs/reference/allclasses-noframe.html new file mode 100644 index 0000000000..7e732cb7c6 --- /dev/null +++ b/docs/gh-pages/docs/reference/allclasses-noframe.html @@ -0,0 +1,1126 @@ + + + + +All Classes (ExoPlayer library) + + + + + + + + + + + +

      All Classes

      +
      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/AbstractConcatenatedTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/AbstractConcatenatedTimeline.html new file mode 100644 index 0000000000..0e5ee868a6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/AbstractConcatenatedTimeline.html @@ -0,0 +1,838 @@ + + + + +AbstractConcatenatedTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AbstractConcatenatedTimeline

      +
      +
      + +
      +
        +
      • +
        +
        public abstract class AbstractConcatenatedTimeline
        +extends Timeline
        +
        Abstract base class for the concatenation of one or more Timelines.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AbstractConcatenatedTimeline

            +
            public AbstractConcatenatedTimeline​(boolean isAtomic,
            +                                    ShuffleOrder shuffleOrder)
            +
            Sets up a concatenated timeline with a shuffle order of child timelines.
            +
            +
            Parameters:
            +
            isAtomic - Whether the child timelines shall be treated as atomic, i.e., treated as a + single item for repeating and shuffling.
            +
            shuffleOrder - A shuffle order of child timelines. The number of child timelines must + match the number of elements in the shuffle order.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getChildTimelineUidFromConcatenatedUid

            +
            public static Object getChildTimelineUidFromConcatenatedUid​(Object concatenatedUid)
            +
            Returns UID of child timeline from a concatenated period UID.
            +
            +
            Parameters:
            +
            concatenatedUid - UID of a period in a concatenated timeline.
            +
            Returns:
            +
            UID of the child timeline this period belongs to.
            +
            +
          • +
          + + + +
            +
          • +

            getChildPeriodUidFromConcatenatedUid

            +
            public static Object getChildPeriodUidFromConcatenatedUid​(Object concatenatedUid)
            +
            Returns UID of the period in the child timeline from a concatenated period UID.
            +
            +
            Parameters:
            +
            concatenatedUid - UID of a period in a concatenated timeline.
            +
            Returns:
            +
            UID of the period in the child timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getConcatenatedUid

            +
            public static Object getConcatenatedUid​(Object childTimelineUid,
            +                                        Object childPeriodOrWindowUid)
            +
            Returns a concatenated UID for a period or window in a child timeline.
            +
            +
            Parameters:
            +
            childTimelineUid - UID of the child timeline this period or window belongs to.
            +
            childPeriodOrWindowUid - UID of the period or window in the child timeline.
            +
            Returns:
            +
            UID of the period or window in the concatenated timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getNextWindowIndex

            +
            public int getNextWindowIndex​(int windowIndex,
            +                              @RepeatMode
            +                              int repeatMode,
            +                              boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the window after the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Overrides:
            +
            getNextWindowIndex in class Timeline
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the next window, or C.INDEX_UNSET if this is the last window.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousWindowIndex

            +
            public int getPreviousWindowIndex​(int windowIndex,
            +                                  @RepeatMode
            +                                  int repeatMode,
            +                                  boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the window before the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Overrides:
            +
            getPreviousWindowIndex in class Timeline
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the previous window, or C.INDEX_UNSET if this is the first window.
            +
            +
          • +
          + + + +
            +
          • +

            getLastWindowIndex

            +
            public int getLastWindowIndex​(boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the last window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Overrides:
            +
            getLastWindowIndex in class Timeline
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the last window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstWindowIndex

            +
            public int getFirstWindowIndex​(boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the first window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Overrides:
            +
            getFirstWindowIndex in class Timeline
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the first window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + +
            +
          • +

            getWindow

            +
            public final Timeline.Window getWindow​(int windowIndex,
            +                                       Timeline.Window window,
            +                                       long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Specified by:
            +
            getWindow in class Timeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getIndexOfPeriod

            +
            public final int getIndexOfPeriod​(Object uid)
            +
            Description copied from class: Timeline
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Specified by:
            +
            getIndexOfPeriod in class Timeline
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public final Object getUidOfPeriod​(int periodIndex)
            +
            Description copied from class: Timeline
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Specified by:
            +
            getUidOfPeriod in class Timeline
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          + + + +
            +
          • +

            getChildIndexByPeriodIndex

            +
            protected abstract int getChildIndexByPeriodIndex​(int periodIndex)
            +
            Returns the index of the child timeline containing the given period index.
            +
            +
            Parameters:
            +
            periodIndex - A valid period index within the bounds of the timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getChildIndexByWindowIndex

            +
            protected abstract int getChildIndexByWindowIndex​(int windowIndex)
            +
            Returns the index of the child timeline containing the given window index.
            +
            +
            Parameters:
            +
            windowIndex - A valid window index within the bounds of the timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getChildIndexByChildUid

            +
            protected abstract int getChildIndexByChildUid​(Object childUid)
            +
            Returns the index of the child timeline with the given UID or C.INDEX_UNSET if not + found.
            +
            +
            Parameters:
            +
            childUid - A child UID.
            +
            Returns:
            +
            Index of child timeline or C.INDEX_UNSET if UID was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getTimelineByChildIndex

            +
            protected abstract Timeline getTimelineByChildIndex​(int childIndex)
            +
            Returns the child timeline for the child with the given index.
            +
            +
            Parameters:
            +
            childIndex - A valid child index within the bounds of the timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstPeriodIndexByChildIndex

            +
            protected abstract int getFirstPeriodIndexByChildIndex​(int childIndex)
            +
            Returns the first period index belonging to the child timeline with the given index.
            +
            +
            Parameters:
            +
            childIndex - A valid child index within the bounds of the timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstWindowIndexByChildIndex

            +
            protected abstract int getFirstWindowIndexByChildIndex​(int childIndex)
            +
            Returns the first window index belonging to the child timeline with the given index.
            +
            +
            Parameters:
            +
            childIndex - A valid child index within the bounds of the timeline.
            +
            +
          • +
          + + + +
            +
          • +

            getChildUidByChildIndex

            +
            protected abstract Object getChildUidByChildIndex​(int childIndex)
            +
            Returns the UID of the child timeline with the given index.
            +
            +
            Parameters:
            +
            childIndex - A valid child index within the bounds of the timeline.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BasePlayer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BasePlayer.html new file mode 100644 index 0000000000..97790e8d7f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BasePlayer.html @@ -0,0 +1,1205 @@ + + + + +BasePlayer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BasePlayer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BasePlayer

            +
            public BasePlayer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setMediaItem

            +
            public void setMediaItem​(MediaItem mediaItem)
            +
            Description copied from interface: Player
            +
            Clears the playlist, adds the specified MediaItem and resets the position to the + default position.
            +
            +
            Specified by:
            +
            setMediaItem in interface Player
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            public void setMediaItem​(MediaItem mediaItem,
            +                         long startPositionMs)
            +
            Description copied from interface: Player
            +
            Clears the playlist and adds the specified MediaItem.
            +
            +
            Specified by:
            +
            setMediaItem in interface Player
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            startPositionMs - The position in milliseconds to start playback from.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setMediaItems

            +
            public void setMediaItems​(List<MediaItem> mediaItems)
            +
            Description copied from interface: Player
            +
            Clears the playlist, adds the specified MediaItems and resets the position to + the default position.
            +
            +
            Specified by:
            +
            setMediaItems in interface Player
            +
            Parameters:
            +
            mediaItems - The new MediaItems.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItem

            +
            public void addMediaItem​(int index,
            +                         MediaItem mediaItem)
            +
            Description copied from interface: Player
            +
            Adds a media item at the given index of the playlist.
            +
            +
            Specified by:
            +
            addMediaItem in interface Player
            +
            Parameters:
            +
            index - The index at which to add the item.
            +
            mediaItem - The MediaItem to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItem

            +
            public void addMediaItem​(MediaItem mediaItem)
            +
            Description copied from interface: Player
            +
            Adds a media item to the end of the playlist.
            +
            +
            Specified by:
            +
            addMediaItem in interface Player
            +
            Parameters:
            +
            mediaItem - The MediaItem to add.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItem

            +
            public void moveMediaItem​(int currentIndex,
            +                          int newIndex)
            +
            Description copied from interface: Player
            +
            Moves the media item at the current index to the new index.
            +
            +
            Specified by:
            +
            moveMediaItem in interface Player
            +
            Parameters:
            +
            currentIndex - The current index of the media item to move.
            +
            newIndex - The new index of the media item. If the new index is larger than the size of + the playlist the item is moved to the end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItem

            +
            public void removeMediaItem​(int index)
            +
            Description copied from interface: Player
            +
            Removes the media item at the given index of the playlist.
            +
            +
            Specified by:
            +
            removeMediaItem in interface Player
            +
            Parameters:
            +
            index - The index at which to remove the media item.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            pause

            +
            public final void pause()
            +
            Description copied from interface: Player
            +
            Pauses playback. Equivalent to setPlayWhenReady(false).
            +
            +
            Specified by:
            +
            pause in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seekToDefaultPosition

            +
            public final void seekToDefaultPosition()
            +
            Description copied from interface: Player
            +
            Seeks to the default position associated with the current window. The position can depend on + the type of media being played. For live streams it will typically be the live edge of the + window. For other streams it will typically be the start of the window.
            +
            +
            Specified by:
            +
            seekToDefaultPosition in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            seekToDefaultPosition

            +
            public final void seekToDefaultPosition​(int windowIndex)
            +
            Description copied from interface: Player
            +
            Seeks to the default position associated with the specified window. The position can depend on + the type of media being played. For live streams it will typically be the live edge of the + window. For other streams it will typically be the start of the window.
            +
            +
            Specified by:
            +
            seekToDefaultPosition in interface Player
            +
            Parameters:
            +
            windowIndex - The index of the window whose associated default position should be seeked + to.
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            public final void seekTo​(long positionMs)
            +
            Description copied from interface: Player
            +
            Seeks to a position specified in milliseconds in the current window.
            +
            +
            Specified by:
            +
            seekTo in interface Player
            +
            Parameters:
            +
            positionMs - The seek position in the current window, or C.TIME_UNSET to seek to + the window's default position.
            +
            +
          • +
          + + + +
            +
          • +

            hasPrevious

            +
            public final boolean hasPrevious()
            +
            Description copied from interface: Player
            +
            Returns whether a previous window exists, which may depend on the current repeat mode and + whether shuffle mode is enabled. + +

            Note: When the repeat mode is Player.REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is Player.REPEAT_MODE_OFF. See Player.REPEAT_MODE_ONE for more + details.

            +
            +
            Specified by:
            +
            hasPrevious in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            hasNext

            +
            public final boolean hasNext()
            +
            Description copied from interface: Player
            +
            Returns whether a next window exists, which may depend on the current repeat mode and whether + shuffle mode is enabled. + +

            Note: When the repeat mode is Player.REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is Player.REPEAT_MODE_OFF. See Player.REPEAT_MODE_ONE for more + details.

            +
            +
            Specified by:
            +
            hasNext in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            next

            +
            public final void next()
            +
            Description copied from interface: Player
            +
            Seeks to the default position of the next window, which may depend on the current repeat mode + and whether shuffle mode is enabled. Does nothing if Player.hasNext() is false. + +

            Note: When the repeat mode is Player.REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is Player.REPEAT_MODE_OFF. See Player.REPEAT_MODE_ONE for more + details.

            +
            +
            Specified by:
            +
            next in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public final void stop()
            +
            Description copied from interface: Player
            +
            Stops playback without resetting the player. Use Player.pause() rather than this method if + the intention is to pause playback. + +

            Calling this method will cause the playback state to transition to Player.STATE_IDLE. The + player instance can still be used, and Player.release() must still be called on the player if + it's no longer required. + +

            Calling this method does not clear the playlist, reset the playback position or the playback + error.

            +
            +
            Specified by:
            +
            stop in interface Player
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            getMediaItemCount

            +
            public int getMediaItemCount()
            +
            Description copied from interface: Player
            +
            Returns the number of media items in the playlist.
            +
            +
            Specified by:
            +
            getMediaItemCount in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentManifest

            +
            @Nullable
            +public final Object getCurrentManifest()
            +
            Description copied from interface: Player
            +
            Returns the current manifest. The type depends on the type of media being played. May be null.
            +
            +
            Specified by:
            +
            getCurrentManifest in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPercentage

            +
            public final int getBufferedPercentage()
            +
            Description copied from interface: Player
            +
            Returns an estimate of the percentage in the current content window or ad up to which data is + buffered, or 0 if no estimate is available.
            +
            +
            Specified by:
            +
            getBufferedPercentage in interface Player
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getCurrentLiveOffset

            +
            public final long getCurrentLiveOffset()
            +
            Description copied from interface: Player
            +
            Returns the offset of the current playback position from the live edge in milliseconds, or + C.TIME_UNSET if the current window isn't live or the + offset is unknown. + +

            The offset is calculated as currentTime - playbackPosition, so should usually be + positive. + +

            Note that this offset may rely on an accurate local time, so this method may return an + incorrect value if the difference between system clock and server clock is unknown.

            +
            +
            Specified by:
            +
            getCurrentLiveOffset in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getContentDuration

            +
            public final long getContentDuration()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns the duration of the current content + window in milliseconds, or C.TIME_UNSET if the duration is not known. If there is no ad + playing, the returned duration is the same as that returned by Player.getDuration().
            +
            +
            Specified by:
            +
            getContentDuration in interface Player
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BaseRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BaseRenderer.html new file mode 100644 index 0000000000..305e9196f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/BaseRenderer.html @@ -0,0 +1,1339 @@ + + + + +BaseRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseRenderer

            +
            public BaseRenderer​(int trackType)
            +
            +
            Parameters:
            +
            trackType - The track type that the renderer handles. One of the C + TRACK_TYPE_* constants.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getCapabilities

            +
            public final RendererCapabilities getCapabilities()
            +
            Description copied from interface: Renderer
            +
            Returns the capabilities of the renderer.
            +
            +
            Specified by:
            +
            getCapabilities in interface Renderer
            +
            Returns:
            +
            The capabilities of the renderer.
            +
            +
          • +
          + + + +
            +
          • +

            setIndex

            +
            public final void setIndex​(int index)
            +
            Description copied from interface: Renderer
            +
            Sets the index of this renderer within the player.
            +
            +
            Specified by:
            +
            setIndex in interface Renderer
            +
            Parameters:
            +
            index - The renderer index.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaClock

            +
            @Nullable
            +public MediaClock getMediaClock()
            +
            Description copied from interface: Renderer
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Specified by:
            +
            getMediaClock in interface Renderer
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            enable

            +
            public final void enable​(RendererConfiguration configuration,
            +                         Format[] formats,
            +                         SampleStream stream,
            +                         long positionUs,
            +                         boolean joining,
            +                         boolean mayRenderStartOfStream,
            +                         long startPositionUs,
            +                         long offsetUs)
            +                  throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Enables the renderer to consume from the specified SampleStream. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_DISABLED.

            +
            +
            Specified by:
            +
            enable in interface Renderer
            +
            Parameters:
            +
            configuration - The renderer configuration.
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            positionUs - The player's current position.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            startPositionUs - The start position of the stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            replaceStream

            +
            public final void replaceStream​(Format[] formats,
            +                                SampleStream stream,
            +                                long startPositionUs,
            +                                long offsetUs)
            +                         throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Replaces the SampleStream from which samples will be consumed. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            replaceStream in interface Renderer
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            getStream

            +
            @Nullable
            +public final SampleStream getStream()
            +
            Description copied from interface: Renderer
            +
            Returns the SampleStream being consumed, or null if the renderer is disabled.
            +
            +
            Specified by:
            +
            getStream in interface Renderer
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            isCurrentStreamFinal

            +
            public final boolean isCurrentStreamFinal()
            +
            Description copied from interface: Renderer
            +
            Returns whether the current SampleStream will be the final one supplied before the + renderer is next disabled or reset.
            +
            +
            Specified by:
            +
            isCurrentStreamFinal in interface Renderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            resetPosition

            +
            public final void resetPosition​(long positionUs)
            +                         throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Signals to the renderer that a position discontinuity has occurred. +

            + After a position discontinuity, the renderer's SampleStream is guaranteed to provide + samples starting from a key frame. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            resetPosition in interface Renderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the reset.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            reset

            +
            public final void reset()
            +
            Description copied from interface: Renderer
            +
            Forces the renderer to give up any resources (e.g. media decoders) that it may be holding. If + the renderer is not holding any resources, the call is a no-op. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_DISABLED.

            +
            +
            Specified by:
            +
            reset in interface Renderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            handleMessage

            +
            public void handleMessage​(int what,
            +                          @Nullable
            +                          Object object)
            +                   throws ExoPlaybackException
            +
            Description copied from interface: PlayerMessage.Target
            +
            Handles a message delivered to the target.
            +
            +
            Specified by:
            +
            handleMessage in interface PlayerMessage.Target
            +
            Parameters:
            +
            what - The message type.
            +
            object - The message payload.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurred whilst handling the message. Should only be + thrown by targets that handle messages on the playback thread.
            +
            +
          • +
          + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStreamChanged

            +
            protected void onStreamChanged​(Format[] formats,
            +                               long startPositionUs,
            +                               long offsetUs)
            +                        throws ExoPlaybackException
            +
            Called when the renderer's stream has changed. This occurs when the renderer is enabled after + onEnabled(boolean, boolean) has been called, and also when the stream has been + replaced whilst the renderer is enabled or started. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset that will be added to the timestamps of buffers read via readSource(FormatHolder, DecoderInputBuffer, boolean) so that decoder input buffers have + monotonically increasing timestamps.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Called when the position is reset. This occurs when the renderer is enabled after onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +                  throws ExoPlaybackException
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Called when the renderer is reset. + +

            The default implementation is a no-op.

            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            getIndex

            +
            protected final int getIndex()
            +
            Returns the index of the renderer within the player.
            +
          • +
          + + + + + + + +
            +
          • +

            createRendererException

            +
            protected final ExoPlaybackException createRendererException​(Throwable cause,
            +                                                             @Nullable
            +                                                             Format format,
            +                                                             boolean isRecoverable)
            +
            Creates an ExoPlaybackException of type ExoPlaybackException.TYPE_RENDERER for + this renderer.
            +
            +
            Parameters:
            +
            cause - The cause of the exception.
            +
            format - The current format used by the renderer. May be null.
            +
            isRecoverable - If the error is recoverable by disabling and re-enabling the renderer.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            skipSource

            +
            protected int skipSource​(long positionUs)
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          + + + +
            +
          • +

            isSourceReady

            +
            protected final boolean isSourceReady()
            +
            Returns whether the upstream source is ready. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html new file mode 100644 index 0000000000..703e7aa0f5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioAllowedCapturePolicy.html @@ -0,0 +1,189 @@ + + + + +C.AudioAllowedCapturePolicy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.AudioAllowedCapturePolicy

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioContentType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioContentType.html new file mode 100644 index 0000000000..b70b2e0aef --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioContentType.html @@ -0,0 +1,190 @@ + + + + +C.AudioContentType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.AudioContentType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFlags.html new file mode 100644 index 0000000000..a72e3b8116 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFlags.html @@ -0,0 +1,192 @@ + + + + +C.AudioFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.AudioFlags

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface C.AudioFlags
        +
        Flags for audio attributes. Possible flag value is C.FLAG_AUDIBILITY_ENFORCED. + +

        Note that FLAG_HW_AV_SYNC is not available because the player takes care of setting + the flag when tunneling is enabled via a track selector.

        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFocusGain.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFocusGain.html new file mode 100644 index 0000000000..475da2771e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioFocusGain.html @@ -0,0 +1,189 @@ + + + + +C.AudioFocusGain (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.AudioFocusGain

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioUsage.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioUsage.html new file mode 100644 index 0000000000..3113cd0ac7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.AudioUsage.html @@ -0,0 +1,191 @@ + + + + +C.AudioUsage (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.AudioUsage

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.BufferFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.BufferFlags.html new file mode 100644 index 0000000000..bed076a228 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.BufferFlags.html @@ -0,0 +1,190 @@ + + + + +C.BufferFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.BufferFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorRange.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorRange.html new file mode 100644 index 0000000000..e5041bbd28 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorRange.html @@ -0,0 +1,189 @@ + + + + +C.ColorRange (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.ColorRange

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorSpace.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorSpace.html new file mode 100644 index 0000000000..11c6fff515 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorSpace.html @@ -0,0 +1,189 @@ + + + + +C.ColorSpace (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.ColorSpace

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorTransfer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorTransfer.html new file mode 100644 index 0000000000..7283b1c9eb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ColorTransfer.html @@ -0,0 +1,189 @@ + + + + +C.ColorTransfer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.ColorTransfer

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ContentType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ContentType.html new file mode 100644 index 0000000000..42924c28c2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.ContentType.html @@ -0,0 +1,189 @@ + + + + +C.ContentType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.ContentType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.CryptoMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.CryptoMode.html new file mode 100644 index 0000000000..fcaea3cbe4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.CryptoMode.html @@ -0,0 +1,190 @@ + + + + +C.CryptoMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.CryptoMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Encoding.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Encoding.html new file mode 100644 index 0000000000..a53fd2883b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Encoding.html @@ -0,0 +1,192 @@ + + + + +C.Encoding (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.Encoding

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.FormatSupport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.FormatSupport.html new file mode 100644 index 0000000000..111d55595b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.FormatSupport.html @@ -0,0 +1,189 @@ + + + + +C.FormatSupport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.FormatSupport

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.NetworkType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.NetworkType.html new file mode 100644 index 0000000000..5431cf1e4a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.NetworkType.html @@ -0,0 +1,190 @@ + + + + +C.NetworkType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.NetworkType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.PcmEncoding.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.PcmEncoding.html new file mode 100644 index 0000000000..2cfe4475b2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.PcmEncoding.html @@ -0,0 +1,191 @@ + + + + +C.PcmEncoding (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.PcmEncoding

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Projection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Projection.html new file mode 100644 index 0000000000..19196d8bed --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.Projection.html @@ -0,0 +1,189 @@ + + + + +C.Projection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.Projection

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.RoleFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.RoleFlags.html new file mode 100644 index 0000000000..026f750d70 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.RoleFlags.html @@ -0,0 +1,190 @@ + + + + +C.RoleFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.RoleFlags

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.SelectionFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.SelectionFlags.html new file mode 100644 index 0000000000..42dfad83fd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.SelectionFlags.html @@ -0,0 +1,189 @@ + + + + +C.SelectionFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.SelectionFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StereoMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StereoMode.html new file mode 100644 index 0000000000..22bbe133e4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StereoMode.html @@ -0,0 +1,189 @@ + + + + +C.StereoMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.StereoMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StreamType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StreamType.html new file mode 100644 index 0000000000..d37c5d19ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.StreamType.html @@ -0,0 +1,189 @@ + + + + +C.StreamType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.StreamType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoOutputMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoOutputMode.html new file mode 100644 index 0000000000..a572e31ef9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoOutputMode.html @@ -0,0 +1,189 @@ + + + + +C.VideoOutputMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.VideoOutputMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoScalingMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoScalingMode.html new file mode 100644 index 0000000000..d4c32e96dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.VideoScalingMode.html @@ -0,0 +1,189 @@ + + + + +C.VideoScalingMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.VideoScalingMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.WakeMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.WakeMode.html new file mode 100644 index 0000000000..e24b249ac5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.WakeMode.html @@ -0,0 +1,189 @@ + + + + +C.WakeMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type C.WakeMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.html new file mode 100644 index 0000000000..bddb73c55b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/C.html @@ -0,0 +1,4789 @@ + + + + +C (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class C

      +
      +
      + +
      +
        +
      • +
        +
        public final class C
        +extends Object
        +
        Defines constants used by the library.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ControlDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ControlDispatcher.html new file mode 100644 index 0000000000..05071c3d10 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ControlDispatcher.html @@ -0,0 +1,551 @@ + + + + +ControlDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ControlDispatcher

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultControlDispatcher
        +
        +
        +
        public interface ControlDispatcher
        +
        Dispatches operations to the Player. +

        + Implementations may choose to suppress (e.g. prevent playback from resuming if audio focus is + denied) or modify (e.g. change the seek position to prevent a user from seeking past a + non-skippable advert) operations.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            dispatchPrepare

            +
            boolean dispatchPrepare​(Player player)
            +
            Dispatches a Player.prepare() operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSetPlayWhenReady

            +
            boolean dispatchSetPlayWhenReady​(Player player,
            +                                 boolean playWhenReady)
            +
            Dispatches a Player.setPlayWhenReady(boolean) operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            playWhenReady - Whether playback should proceed when ready.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSeekTo

            +
            boolean dispatchSeekTo​(Player player,
            +                       int windowIndex,
            +                       long positionMs)
            +
            Dispatches a Player.seekTo(int, long) operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            windowIndex - The index of the window.
            +
            positionMs - The seek position in the specified window, or C.TIME_UNSET to seek to + the window's default position.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchPrevious

            +
            boolean dispatchPrevious​(Player player)
            +
            Dispatches a Player.previous() operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchNext

            +
            boolean dispatchNext​(Player player)
            +
            Dispatches a Player.next() operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchRewind

            +
            boolean dispatchRewind​(Player player)
            +
            Dispatches a rewind operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchFastForward

            +
            boolean dispatchFastForward​(Player player)
            +
            Dispatches a fast forward operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSetRepeatMode

            +
            boolean dispatchSetRepeatMode​(Player player,
            +                              @RepeatMode
            +                              int repeatMode)
            +
            Dispatches a Player.setRepeatMode(int) operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            repeatMode - The repeat mode.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSetShuffleModeEnabled

            +
            boolean dispatchSetShuffleModeEnabled​(Player player,
            +                                      boolean shuffleModeEnabled)
            + +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchStop

            +
            boolean dispatchStop​(Player player,
            +                     boolean reset)
            +
            Dispatches a Player.stop() operation.
            +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            reset - Whether the player should be reset.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSetPlaybackParameters

            +
            boolean dispatchSetPlaybackParameters​(Player player,
            +                                      PlaybackParameters playbackParameters)
            + +
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            playbackParameters - The playback parameters.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            isRewindEnabled

            +
            boolean isRewindEnabled()
            +
            Returns true if rewind is enabled, false otherwise.
            +
          • +
          + + + +
            +
          • +

            isFastForwardEnabled

            +
            boolean isFastForwardEnabled()
            +
            Returns true if fast forward is enabled, false otherwise.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultControlDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultControlDispatcher.html new file mode 100644 index 0000000000..ed22c176e4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultControlDispatcher.html @@ -0,0 +1,817 @@ + + + + +DefaultControlDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultControlDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.DefaultControlDispatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_FAST_FORWARD_MS

            +
            public static final int DEFAULT_FAST_FORWARD_MS
            +
            The default fast forward increment, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_REWIND_MS

            +
            public static final int DEFAULT_REWIND_MS
            +
            The default rewind increment, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultControlDispatcher

            +
            public DefaultControlDispatcher()
            +
            Creates an instance.
            +
          • +
          + + + +
            +
          • +

            DefaultControlDispatcher

            +
            public DefaultControlDispatcher​(long fastForwardIncrementMs,
            +                                long rewindIncrementMs)
            +
            Creates an instance with the given increments.
            +
            +
            Parameters:
            +
            fastForwardIncrementMs - The fast forward increment in milliseconds. A non-positive value + disables the fast forward operation.
            +
            rewindIncrementMs - The rewind increment in milliseconds. A non-positive value disables + the rewind operation.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            dispatchPrepare

            +
            public boolean dispatchPrepare​(Player player)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.prepare() operation.
            +
            +
            Specified by:
            +
            dispatchPrepare in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSetPlayWhenReady

            +
            public boolean dispatchSetPlayWhenReady​(Player player,
            +                                        boolean playWhenReady)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.setPlayWhenReady(boolean) operation.
            +
            +
            Specified by:
            +
            dispatchSetPlayWhenReady in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            playWhenReady - Whether playback should proceed when ready.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchSeekTo

            +
            public boolean dispatchSeekTo​(Player player,
            +                              int windowIndex,
            +                              long positionMs)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.seekTo(int, long) operation.
            +
            +
            Specified by:
            +
            dispatchSeekTo in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            windowIndex - The index of the window.
            +
            positionMs - The seek position in the specified window, or C.TIME_UNSET to seek to + the window's default position.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchPrevious

            +
            public boolean dispatchPrevious​(Player player)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.previous() operation.
            +
            +
            Specified by:
            +
            dispatchPrevious in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchNext

            +
            public boolean dispatchNext​(Player player)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.next() operation.
            +
            +
            Specified by:
            +
            dispatchNext in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchRewind

            +
            public boolean dispatchRewind​(Player player)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a rewind operation.
            +
            +
            Specified by:
            +
            dispatchRewind in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + +
            +
          • +

            dispatchFastForward

            +
            public boolean dispatchFastForward​(Player player)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a fast forward operation.
            +
            +
            Specified by:
            +
            dispatchFastForward in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            dispatchStop

            +
            public boolean dispatchStop​(Player player,
            +                            boolean reset)
            +
            Description copied from interface: ControlDispatcher
            +
            Dispatches a Player.stop() operation.
            +
            +
            Specified by:
            +
            dispatchStop in interface ControlDispatcher
            +
            Parameters:
            +
            player - The Player to which the operation should be dispatched.
            +
            reset - Whether the player should be reset.
            +
            Returns:
            +
            True if the operation was dispatched. False if suppressed.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            getRewindIncrementMs

            +
            public long getRewindIncrementMs()
            +
            Returns the rewind increment in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getFastForwardIncrementMs

            +
            public long getFastForwardIncrementMs()
            +
            Returns the fast forward increment in milliseconds.
            +
          • +
          + + + +
            +
          • +

            setRewindIncrementMs

            +
            @Deprecated
            +public void setRewindIncrementMs​(long rewindMs)
            +
            Deprecated. +
            Create a new instance instead and pass the new instance to the UI component. This + makes sure the UI gets updated and is in sync with the new values.
            +
            +
          • +
          + + + +
            +
          • +

            setFastForwardIncrementMs

            +
            @Deprecated
            +public void setFastForwardIncrementMs​(long fastForwardMs)
            +
            Deprecated. +
            Create a new instance instead and pass the new instance to the UI component. This + makes sure the UI gets updated and is in sync with the new values.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.Builder.html new file mode 100644 index 0000000000..43a833b743 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.Builder.html @@ -0,0 +1,504 @@ + + + + +DefaultLivePlaybackSpeedControl.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultLivePlaybackSpeedControl.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder()
            +
            Creates a builder.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            setProportionalControlFactor

            +
            public DefaultLivePlaybackSpeedControl.Builder setProportionalControlFactor​(float proportionalControlFactor)
            +
            Sets the proportional control factor used to adjust the playback speed. + +

            The factor by which playback will be sped up is calculated as 1.0 + + proportionalControlFactor x (currentLiveOffsetSec - targetLiveOffsetSec). + +

            The default is DefaultLivePlaybackSpeedControl.DEFAULT_PROPORTIONAL_CONTROL_FACTOR.

            +
            +
            Parameters:
            +
            proportionalControlFactor - The proportional control factor used to adjust the playback + speed.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setMaxLiveOffsetErrorMsForUnitSpeed

            +
            public DefaultLivePlaybackSpeedControl.Builder setMaxLiveOffsetErrorMsForUnitSpeed​(long maxLiveOffsetErrorMsForUnitSpeed)
            +
            Sets the maximum difference between the current live offset and the target live offset, in + milliseconds, for which unit speed (1.0f) is used. + +

            The default is DefaultLivePlaybackSpeedControl.DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED.

            +
            +
            Parameters:
            +
            maxLiveOffsetErrorMsForUnitSpeed - The maximum live offset error for which unit speed is + used, in milliseconds.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setTargetLiveOffsetIncrementOnRebufferMs

            +
            public DefaultLivePlaybackSpeedControl.Builder setTargetLiveOffsetIncrementOnRebufferMs​(long targetLiveOffsetIncrementOnRebufferMs)
            +
            Sets the increment applied to the target live offset each time the player is rebuffering, in + milliseconds.
            +
            +
            Parameters:
            +
            targetLiveOffsetIncrementOnRebufferMs - The increment applied to the target live offset + when the player is rebuffering, in milliseconds
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setMinPossibleLiveOffsetSmoothingFactor

            +
            public DefaultLivePlaybackSpeedControl.Builder setMinPossibleLiveOffsetSmoothingFactor​(float minPossibleLiveOffsetSmoothingFactor)
            +
            Sets the smoothing factor when smoothing the minimum possible live offset that can be + achieved during playback. + +

            The live playback speed control keeps track of the minimum possible live offset achievable + during playback to know whether it can reduce the current target live offset. The minimum + possible live offset is defined as currentLiveOffset - bufferedDuration. As the + minimum possible live offset is constantly changing, it is smoothed over recent samples by + applying exponential smoothing: smoothedMinPossibleOffset = smoothingFactor x + smoothedMinPossibleOffset + (1-smoothingFactor) x currentMinPossibleOffset.

            +
            +
            Parameters:
            +
            minPossibleLiveOffsetSmoothingFactor - The smoothing factor. Must be ≥ 0 and < 1.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html new file mode 100644 index 0000000000..66d0cb162f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLivePlaybackSpeedControl.html @@ -0,0 +1,604 @@ + + + + +DefaultLivePlaybackSpeedControl (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultLivePlaybackSpeedControl

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED

            +
            public static final float DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED
            +
            The default minimum factor by which playback can be sped up that should be used if no minimum + playback speed is defined by the media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED

            +
            public static final float DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED
            +
            The default maximum factor by which playback can be sped up that should be used if no maximum + playback speed is defined by the media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MIN_UPDATE_INTERVAL_MS

            +
            public static final long DEFAULT_MIN_UPDATE_INTERVAL_MS
            +
            The default minimum interval between playback + speed changes, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            DEFAULT_TARGET_LIVE_OFFSET_INCREMENT_ON_REBUFFER_MS

            +
            public static final long DEFAULT_TARGET_LIVE_OFFSET_INCREMENT_ON_REBUFFER_MS
            +
            The default increment applied to the target live offset each time the player is rebuffering, in + milliseconds
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MIN_POSSIBLE_LIVE_OFFSET_SMOOTHING_FACTOR

            +
            public static final float DEFAULT_MIN_POSSIBLE_LIVE_OFFSET_SMOOTHING_FACTOR
            +
            The default smoothing factor when smoothing the minimum possible live offset that can be + achieved during playback.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED

            +
            public static final long DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED
            +
            The default maximum difference between the current live offset and the target live offset, in + milliseconds, for which unit speed (1.0f) is used.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.Builder.html new file mode 100644 index 0000000000..799dbe1b5d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.Builder.html @@ -0,0 +1,480 @@ + + + + +DefaultLoadControl.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultLoadControl.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.DefaultLoadControl.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder()
            +
            Constructs a new instance.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            setBufferDurationsMs

            +
            public DefaultLoadControl.Builder setBufferDurationsMs​(int minBufferMs,
            +                                                       int maxBufferMs,
            +                                                       int bufferForPlaybackMs,
            +                                                       int bufferForPlaybackAfterRebufferMs)
            +
            Sets the buffer duration parameters.
            +
            +
            Parameters:
            +
            minBufferMs - The minimum duration of media that the player will attempt to ensure is + buffered at all times, in milliseconds.
            +
            maxBufferMs - The maximum duration of media that the player will attempt to buffer, in + milliseconds.
            +
            bufferForPlaybackMs - The duration of media that must be buffered for playback to start + or resume following a user action such as a seek, in milliseconds.
            +
            bufferForPlaybackAfterRebufferMs - The default duration of media that must be buffered + for playback to resume after a rebuffer, in milliseconds. A rebuffer is defined to be + caused by buffer depletion rather than a user action.
            +
            Returns:
            +
            This builder, for convenience.
            +
            Throws:
            +
            IllegalStateException - If build() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            setTargetBufferBytes

            +
            public DefaultLoadControl.Builder setTargetBufferBytes​(int targetBufferBytes)
            +
            Sets the target buffer size in bytes. If set to C.LENGTH_UNSET, the target buffer + size will be calculated based on the selected tracks.
            +
            +
            Parameters:
            +
            targetBufferBytes - The target buffer size in bytes.
            +
            Returns:
            +
            This builder, for convenience.
            +
            Throws:
            +
            IllegalStateException - If build() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            setPrioritizeTimeOverSizeThresholds

            +
            public DefaultLoadControl.Builder setPrioritizeTimeOverSizeThresholds​(boolean prioritizeTimeOverSizeThresholds)
            +
            Sets whether the load control prioritizes buffer time constraints over buffer size + constraints.
            +
            +
            Parameters:
            +
            prioritizeTimeOverSizeThresholds - Whether the load control prioritizes buffer time + constraints over buffer size constraints.
            +
            Returns:
            +
            This builder, for convenience.
            +
            Throws:
            +
            IllegalStateException - If build() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            setBackBuffer

            +
            public DefaultLoadControl.Builder setBackBuffer​(int backBufferDurationMs,
            +                                                boolean retainBackBufferFromKeyframe)
            +
            Sets the back buffer duration, and whether the back buffer is retained from the previous + keyframe.
            +
            +
            Parameters:
            +
            backBufferDurationMs - The back buffer duration in milliseconds.
            +
            retainBackBufferFromKeyframe - Whether the back buffer is retained from the previous + keyframe.
            +
            Returns:
            +
            This builder, for convenience.
            +
            Throws:
            +
            IllegalStateException - If build() has already been called.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.html new file mode 100644 index 0000000000..58198ebb8c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultLoadControl.html @@ -0,0 +1,988 @@ + + + + +DefaultLoadControl (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultLoadControl

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_MIN_BUFFER_MS

            +
            public static final int DEFAULT_MIN_BUFFER_MS
            +
            The default minimum duration of media that the player will attempt to ensure is buffered at all + times, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MAX_BUFFER_MS

            +
            public static final int DEFAULT_MAX_BUFFER_MS
            +
            The default maximum duration of media that the player will attempt to buffer, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BUFFER_FOR_PLAYBACK_MS

            +
            public static final int DEFAULT_BUFFER_FOR_PLAYBACK_MS
            +
            The default duration of media that must be buffered for playback to start or resume following a + user action such as a seek, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS

            +
            public static final int DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS
            +
            The default duration of media that must be buffered for playback to resume after a rebuffer, in + milliseconds. A rebuffer is defined to be caused by buffer depletion rather than a user action.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_TARGET_BUFFER_BYTES

            +
            public static final int DEFAULT_TARGET_BUFFER_BYTES
            +
            The default target buffer size in bytes. The value (C.LENGTH_UNSET) means that the load + control will calculate the target buffer size based on the selected tracks.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_PRIORITIZE_TIME_OVER_SIZE_THRESHOLDS

            +
            public static final boolean DEFAULT_PRIORITIZE_TIME_OVER_SIZE_THRESHOLDS
            +
            The default prioritization of buffer time constraints over size constraints.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BACK_BUFFER_DURATION_MS

            +
            public static final int DEFAULT_BACK_BUFFER_DURATION_MS
            +
            The default back buffer duration in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_RETAIN_BACK_BUFFER_FROM_KEYFRAME

            +
            public static final boolean DEFAULT_RETAIN_BACK_BUFFER_FROM_KEYFRAME
            +
            The default for whether the back buffer is retained from the previous keyframe.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_VIDEO_BUFFER_SIZE

            +
            public static final int DEFAULT_VIDEO_BUFFER_SIZE
            +
            A default size in bytes for a video buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_AUDIO_BUFFER_SIZE

            +
            public static final int DEFAULT_AUDIO_BUFFER_SIZE
            +
            A default size in bytes for an audio buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_TEXT_BUFFER_SIZE

            +
            public static final int DEFAULT_TEXT_BUFFER_SIZE
            +
            A default size in bytes for a text buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_METADATA_BUFFER_SIZE

            +
            public static final int DEFAULT_METADATA_BUFFER_SIZE
            +
            A default size in bytes for a metadata buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_CAMERA_MOTION_BUFFER_SIZE

            +
            public static final int DEFAULT_CAMERA_MOTION_BUFFER_SIZE
            +
            A default size in bytes for a camera motion buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MUXED_BUFFER_SIZE

            +
            public static final int DEFAULT_MUXED_BUFFER_SIZE
            +
            A default size in bytes for a muxed buffer (e.g. containing video, audio and text).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MIN_BUFFER_SIZE

            +
            public static final int DEFAULT_MIN_BUFFER_SIZE
            +
            The buffer size in bytes that will be used as a minimum target buffer in all cases. This is + also the default target buffer before tracks are selected.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultLoadControl

            +
            public DefaultLoadControl()
            +
            Constructs a new instance, using the DEFAULT_* constants defined in this class.
            +
          • +
          + + + +
            +
          • +

            DefaultLoadControl

            +
            protected DefaultLoadControl​(DefaultAllocator allocator,
            +                             int minBufferMs,
            +                             int maxBufferMs,
            +                             int bufferForPlaybackMs,
            +                             int bufferForPlaybackAfterRebufferMs,
            +                             int targetBufferBytes,
            +                             boolean prioritizeTimeOverSizeThresholds,
            +                             int backBufferDurationMs,
            +                             boolean retainBackBufferFromKeyframe)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPrepared

            +
            public void onPrepared()
            +
            Description copied from interface: LoadControl
            +
            Called by the player when prepared with a new source.
            +
            +
            Specified by:
            +
            onPrepared in interface LoadControl
            +
            +
          • +
          + + + +
            +
          • +

            onTracksSelected

            +
            public void onTracksSelected​(Renderer[] renderers,
            +                             TrackGroupArray trackGroups,
            +                             ExoTrackSelection[] trackSelections)
            +
            Description copied from interface: LoadControl
            +
            Called by the player when a track selection occurs.
            +
            +
            Specified by:
            +
            onTracksSelected in interface LoadControl
            +
            Parameters:
            +
            renderers - The renderers.
            +
            trackGroups - The TrackGroups from which the selection was made.
            +
            trackSelections - The track selections that were made.
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            public void onStopped()
            +
            Description copied from interface: LoadControl
            +
            Called by the player when stopped.
            +
            +
            Specified by:
            +
            onStopped in interface LoadControl
            +
            +
          • +
          + + + +
            +
          • +

            onReleased

            +
            public void onReleased()
            +
            Description copied from interface: LoadControl
            +
            Called by the player when released.
            +
            +
            Specified by:
            +
            onReleased in interface LoadControl
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getBackBufferDurationUs

            +
            public long getBackBufferDurationUs()
            +
            Description copied from interface: LoadControl
            +
            Returns the duration of media to retain in the buffer prior to the current playback position, + for fast backward seeking. + +

            Note: If LoadControl.retainBackBufferFromKeyframe() is false then seeking in the back-buffer + will only be fast if the back-buffer contains a keyframe prior to the seek position. + +

            Note: Implementations should return a single value. Dynamic changes to the back-buffer are + not currently supported.

            +
            +
            Specified by:
            +
            getBackBufferDurationUs in interface LoadControl
            +
            Returns:
            +
            The duration of media to retain in the buffer prior to the current playback position, + in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            retainBackBufferFromKeyframe

            +
            public boolean retainBackBufferFromKeyframe()
            +
            Description copied from interface: LoadControl
            +
            Returns whether media should be retained from the keyframe before the current playback position + minus LoadControl.getBackBufferDurationUs(), rather than any sample before or at that position. + +

            Warning: Returning true will cause the back-buffer size to depend on the spacing of + keyframes in the media being played. Returning true is not recommended unless you control the + media and are comfortable with the back-buffer size exceeding LoadControl.getBackBufferDurationUs() by as much as the maximum duration between adjacent keyframes in + the media. + +

            Note: Implementations should return a single value. Dynamic changes to the back-buffer are + not currently supported.

            +
            +
            Specified by:
            +
            retainBackBufferFromKeyframe in interface LoadControl
            +
            Returns:
            +
            Whether media should be retained from the keyframe before the current playback position + minus LoadControl.getBackBufferDurationUs(), rather than any sample before or at that + position.
            +
            +
          • +
          + + + +
            +
          • +

            shouldContinueLoading

            +
            public boolean shouldContinueLoading​(long playbackPositionUs,
            +                                     long bufferedDurationUs,
            +                                     float playbackSpeed)
            +
            Description copied from interface: LoadControl
            +
            Called by the player to determine whether it should continue to load the source.
            +
            +
            Specified by:
            +
            shouldContinueLoading in interface LoadControl
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds, relative to the start + of the period that will continue to be loaded if this method + returns true. If playback of this period has not yet started, the value will be + negative and equal in magnitude to the duration of any media in previous periods still to + be played.
            +
            bufferedDurationUs - The duration of media that's currently buffered.
            +
            playbackSpeed - The current factor by which playback is sped up.
            +
            Returns:
            +
            Whether the loading should continue.
            +
            +
          • +
          + + + +
            +
          • +

            shouldStartPlayback

            +
            public boolean shouldStartPlayback​(long bufferedDurationUs,
            +                                   float playbackSpeed,
            +                                   boolean rebuffering,
            +                                   long targetLiveOffsetUs)
            +
            Description copied from interface: LoadControl
            +
            Called repeatedly by the player when it's loading the source, has yet to start playback, and + has the minimum amount of data necessary for playback to be started. The value returned + determines whether playback is actually started. The load control may opt to return + false until some condition has been met (e.g. a certain amount of media is buffered).
            +
            +
            Specified by:
            +
            shouldStartPlayback in interface LoadControl
            +
            Parameters:
            +
            bufferedDurationUs - The duration of media that's currently buffered.
            +
            playbackSpeed - The current factor by which playback is sped up.
            +
            rebuffering - Whether the player is rebuffering. A rebuffer is defined to be caused by + buffer depletion rather than a user action. Hence this parameter is false during initial + buffering and when buffering as a result of a seek operation.
            +
            targetLiveOffsetUs - The desired playback position offset to the live edge in + microseconds, or C.TIME_UNSET if the media is not a live stream or no offset is + configured.
            +
            Returns:
            +
            Whether playback should be allowed to start or resume.
            +
            +
          • +
          + + + +
            +
          • +

            calculateTargetBufferBytes

            +
            protected int calculateTargetBufferBytes​(Renderer[] renderers,
            +                                         ExoTrackSelection[] trackSelectionArray)
            +
            Calculate target buffer size in bytes based on the selected tracks. The player will try not to + exceed this target buffer. Only used when targetBufferBytes is C.LENGTH_UNSET.
            +
            +
            Parameters:
            +
            renderers - The renderers for which the track were selected.
            +
            trackSelectionArray - The selected tracks.
            +
            Returns:
            +
            The target buffer size in bytes.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html new file mode 100644 index 0000000000..1428ff7a58 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.ExtensionRendererMode.html @@ -0,0 +1,189 @@ + + + + +DefaultRenderersFactory.ExtensionRendererMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DefaultRenderersFactory.ExtensionRendererMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html new file mode 100644 index 0000000000..ba02849f37 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html @@ -0,0 +1,1077 @@ + + + + +DefaultRenderersFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultRenderersFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.DefaultRenderersFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS

            +
            public static final long DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS
            +
            The default maximum duration for which a video renderer can attempt to seamlessly join an + ongoing playback.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EXTENSION_RENDERER_MODE_OFF

            +
            public static final int EXTENSION_RENDERER_MODE_OFF
            +
            Do not allow use of extension renderers.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EXTENSION_RENDERER_MODE_ON

            +
            public static final int EXTENSION_RENDERER_MODE_ON
            +
            Allow use of extension renderers. Extension renderers are indexed after core renderers of the + same type. A TrackSelector that prefers the first suitable renderer will therefore + prefer to use a core renderer to an extension renderer in the case that both are able to play + a given track.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EXTENSION_RENDERER_MODE_PREFER

            +
            public static final int EXTENSION_RENDERER_MODE_PREFER
            +
            Allow use of extension renderers. Extension renderers are indexed before core renderers of the + same type. A TrackSelector that prefers the first suitable renderer will therefore + prefer to use an extension renderer to a core renderer in the case that both are able to play a + given track.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setExtensionRendererMode

            +
            public DefaultRenderersFactory setExtensionRendererMode​(@ExtensionRendererMode
            +                                                        int extensionRendererMode)
            +
            Sets the extension renderer mode, which determines if and how available extension renderers are + used. Note that extensions must be included in the application build for them to be considered + available. + +

            The default value is EXTENSION_RENDERER_MODE_OFF.

            +
            +
            Parameters:
            +
            extensionRendererMode - The extension renderer mode.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetAsynchronousBufferQueueingEnabled

            +
            public DefaultRenderersFactory experimentalSetAsynchronousBufferQueueingEnabled​(boolean enabled)
            +
            Enable asynchronous buffer queueing for both MediaCodecAudioRenderer and MediaCodecVideoRenderer instances. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            enabled - Whether asynchronous queueing is enabled.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetForceAsyncQueueingSynchronizationWorkaround

            +
            public DefaultRenderersFactory experimentalSetForceAsyncQueueingSynchronizationWorkaround​(boolean enabled)
            +
            Enable the asynchronous queueing synchronization workaround. + +

            When enabled, the queueing threads for MediaCodec instances will synchronize on a + shared lock when submitting buffers to the respective MediaCodec. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            enabled - Whether the asynchronous queueing synchronization workaround is enabled by + default.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled

            +
            public DefaultRenderersFactory experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled​(boolean enabled)
            +
            Enable synchronizing codec interactions with asynchronous buffer queueing. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            enabled - Whether codec interactions will be synchronized with asynchronous buffer + queueing.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setEnableDecoderFallback

            +
            public DefaultRenderersFactory setEnableDecoderFallback​(boolean enableDecoderFallback)
            +
            Sets whether to enable fallback to lower-priority decoders if decoder initialization fails. + This may result in using a decoder that is less efficient or slower than the primary decoder.
            +
            +
            Parameters:
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setEnableAudioFloatOutput

            +
            public DefaultRenderersFactory setEnableAudioFloatOutput​(boolean enableFloatOutput)
            +
            Sets whether floating point audio should be output when possible. + +

            Enabling floating point output disables audio processing, but may allow for higher quality + audio output. + +

            The default value is false.

            +
            +
            Parameters:
            +
            enableFloatOutput - Whether to enable use of floating point audio output, if available.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setEnableAudioOffload

            +
            public DefaultRenderersFactory setEnableAudioOffload​(boolean enableOffload)
            +
            Sets whether audio should be played using the offload path. + +

            Audio offload disables ExoPlayer audio processing, but significantly reduces the energy + consumption of the playback when offload scheduling is enabled. + +

            Most Android devices can only support one offload AudioTrack at a time + and can invalidate it at any time. Thus an app can never be guaranteed that it will be able to + play in offload. + +

            The default value is false.

            +
            +
            Parameters:
            +
            enableOffload - Whether to enable use of audio offload for supported formats, if + available.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setEnableAudioTrackPlaybackParams

            +
            public DefaultRenderersFactory setEnableAudioTrackPlaybackParams​(boolean enableAudioTrackPlaybackParams)
            +
            Sets whether to enable setting playback speed using AudioTrack.setPlaybackParams(PlaybackParams), which is supported from API level + 23, rather than using application-level audio speed adjustment. This setting has no effect on + builds before API level 23 (application-level speed adjustment will be used in all cases). + +

            If enabled and supported, new playback speed settings will take effect more quickly because + they are applied at the audio mixer, rather than at the point of writing data to the track. + +

            When using this mode, the maximum supported playback speed is limited by the size of the + audio track's buffer. If the requested speed is not supported the player's event listener will + be notified twice on setting playback speed, once with the requested speed, then again with the + old playback speed reflecting the fact that the requested speed was not supported.

            +
            +
            Parameters:
            +
            enableAudioTrackPlaybackParams - Whether to enable setting playback speed using AudioTrack.setPlaybackParams(PlaybackParams).
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowedVideoJoiningTimeMs

            +
            public DefaultRenderersFactory setAllowedVideoJoiningTimeMs​(long allowedVideoJoiningTimeMs)
            +
            Sets the maximum duration for which video renderers can attempt to seamlessly join an ongoing + playback. + +

            The default value is DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS.

            +
            +
            Parameters:
            +
            allowedVideoJoiningTimeMs - The maximum duration for which video renderers can attempt to + seamlessly join an ongoing playback, in milliseconds.
            +
            Returns:
            +
            This factory, for convenience.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            buildVideoRenderers

            +
            protected void buildVideoRenderers​(Context context,
            +                                   @ExtensionRendererMode
            +                                   int extensionRendererMode,
            +                                   MediaCodecSelector mediaCodecSelector,
            +                                   boolean enableDecoderFallback,
            +                                   Handler eventHandler,
            +                                   VideoRendererEventListener eventListener,
            +                                   long allowedVideoJoiningTimeMs,
            +                                   ArrayList<Renderer> out)
            +
            Builds video renderers for use by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            extensionRendererMode - The extension renderer mode.
            +
            mediaCodecSelector - A decoder selector.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            eventHandler - A handler associated with the main thread's looper.
            +
            eventListener - An event listener.
            +
            allowedVideoJoiningTimeMs - The maximum duration for which video renderers can attempt to + seamlessly join an ongoing playback, in milliseconds.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + +
            +
          • +

            buildAudioRenderers

            +
            protected void buildAudioRenderers​(Context context,
            +                                   @ExtensionRendererMode
            +                                   int extensionRendererMode,
            +                                   MediaCodecSelector mediaCodecSelector,
            +                                   boolean enableDecoderFallback,
            +                                   AudioSink audioSink,
            +                                   Handler eventHandler,
            +                                   AudioRendererEventListener eventListener,
            +                                   ArrayList<Renderer> out)
            +
            Builds audio renderers for use by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            extensionRendererMode - The extension renderer mode.
            +
            mediaCodecSelector - A decoder selector.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            audioSink - A sink to which the renderers will output.
            +
            eventHandler - A handler to use when invoking event listeners and outputs.
            +
            eventListener - An event listener.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + +
            +
          • +

            buildTextRenderers

            +
            protected void buildTextRenderers​(Context context,
            +                                  TextOutput output,
            +                                  Looper outputLooper,
            +                                  @ExtensionRendererMode
            +                                  int extensionRendererMode,
            +                                  ArrayList<Renderer> out)
            +
            Builds text renderers for use by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            output - An output for the renderers.
            +
            outputLooper - The looper associated with the thread on which the output should be called.
            +
            extensionRendererMode - The extension renderer mode.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + +
            +
          • +

            buildMetadataRenderers

            +
            protected void buildMetadataRenderers​(Context context,
            +                                      MetadataOutput output,
            +                                      Looper outputLooper,
            +                                      @ExtensionRendererMode
            +                                      int extensionRendererMode,
            +                                      ArrayList<Renderer> out)
            +
            Builds metadata renderers for use by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            output - An output for the renderers.
            +
            outputLooper - The looper associated with the thread on which the output should be called.
            +
            extensionRendererMode - The extension renderer mode.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + +
            +
          • +

            buildCameraMotionRenderers

            +
            protected void buildCameraMotionRenderers​(Context context,
            +                                          @ExtensionRendererMode
            +                                          int extensionRendererMode,
            +                                          ArrayList<Renderer> out)
            +
            Builds camera motion renderers for use by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            extensionRendererMode - The extension renderer mode.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + +
            +
          • +

            buildMiscellaneousRenderers

            +
            protected void buildMiscellaneousRenderers​(Context context,
            +                                           Handler eventHandler,
            +                                           @ExtensionRendererMode
            +                                           int extensionRendererMode,
            +                                           ArrayList<Renderer> out)
            +
            Builds any miscellaneous renderers used by the player.
            +
            +
            Parameters:
            +
            context - The Context associated with the player.
            +
            eventHandler - A handler to use when invoking event listeners and outputs.
            +
            extensionRendererMode - The extension renderer mode.
            +
            out - An array to which the built renderers should be appended.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.Type.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.Type.html new file mode 100644 index 0000000000..1f29aba432 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.Type.html @@ -0,0 +1,191 @@ + + + + +ExoPlaybackException.Type (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type ExoPlaybackException.Type

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.html new file mode 100644 index 0000000000..857d87d390 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlaybackException.html @@ -0,0 +1,777 @@ + + + + +ExoPlaybackException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlaybackException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class ExoPlaybackException
        +extends Exception
        +
        Thrown when a non locally recoverable playback failure occurs.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.Builder.html new file mode 100644 index 0000000000..7a4d67054b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.Builder.html @@ -0,0 +1,713 @@ + + + + +ExoPlayer.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlayer.Builder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.html new file mode 100644 index 0000000000..c9a75eb75e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayer.html @@ -0,0 +1,1014 @@ + + + + +ExoPlayer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoPlayer

      +
      +
      +
      +
        +
      • +
        +
        All Superinterfaces:
        +
        Player
        +
        +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer, StubExoPlayer
        +
        +
        +
        public interface ExoPlayer
        +extends Player
        +
        An extensible media player that plays MediaSources. Instances can be obtained from SimpleExoPlayer.Builder or ExoPlayer.Builder. + +

        Player components

        + +

        ExoPlayer is designed to make few assumptions about (and hence impose few restrictions on) the + type of the media being played, how and where it is stored, and how it is rendered. Rather than + implementing the loading and rendering of media directly, ExoPlayer implementations delegate this + work to components that are injected when a player is created or when it's prepared for playback. + Components common to all ExoPlayer implementations are: + +

          +
        • A MediaSource that defines the media to be played, loads the media, and from + which the loaded media can be read. A MediaSource is injected via setMediaSource(MediaSource) at the start of playback. The library modules provide default + implementations for progressive media files (ProgressiveMediaSource), DASH + (DashMediaSource), SmoothStreaming (SsMediaSource) and HLS (HlsMediaSource), an + implementation for loading single media samples (SingleSampleMediaSource) that's + most often used for side-loaded subtitle files, and implementations for building more + complex MediaSources from simpler ones (MergingMediaSource, ConcatenatingMediaSource, LoopingMediaSource and ClippingMediaSource). +
        • Renderers that render individual components of the media. The library + provides default implementations for common media types (MediaCodecVideoRenderer, + MediaCodecAudioRenderer, TextRenderer and MetadataRenderer). A + Renderer consumes media from the MediaSource being played. Renderers are injected when the + player is created. +
        • A TrackSelector that selects tracks provided by the MediaSource to be + consumed by each of the available Renderers. The library provides a default implementation + (DefaultTrackSelector) suitable for most use cases. A TrackSelector is injected + when the player is created. +
        • A LoadControl that controls when the MediaSource buffers more media, and how + much media is buffered. The library provides a default implementation (DefaultLoadControl) suitable for most use cases. A LoadControl is injected when the player + is created. +
        + +

        An ExoPlayer can be built using the default components provided by the library, but may also + be built using custom implementations if non-standard behaviors are required. For example a + custom LoadControl could be injected to change the player's buffering strategy, or a custom + Renderer could be injected to add support for a video codec not supported natively by Android. + +

        The concept of injecting components that implement pieces of player functionality is present + throughout the library. The default component implementations listed above delegate work to + further injected components. This allows many sub-components to be individually replaced with + custom implementations. For example the default MediaSource implementations require one or more + DataSource factories to be injected via their constructors. By providing a custom factory + it's possible to load data from a non-standard source, or through a different network stack. + +

        Threading model

        + +

        The figure below shows ExoPlayer's threading model. + +

        ExoPlayer's
+ threading model + +

          +
        • ExoPlayer instances must be accessed from a single application thread. For the vast + majority of cases this should be the application's main thread. Using the application's + main thread is also a requirement when using ExoPlayer's UI components or the IMA + extension. The thread on which an ExoPlayer instance must be accessed can be explicitly + specified by passing a `Looper` when creating the player. If no `Looper` is specified, then + the `Looper` of the thread that the player is created on is used, or if that thread does + not have a `Looper`, the `Looper` of the application's main thread is used. In all cases + the `Looper` of the thread from which the player must be accessed can be queried using + Player.getApplicationLooper(). +
        • Registered listeners are called on the thread associated with Player.getApplicationLooper(). Note that this means registered listeners are called on the same + thread which must be used to access the player. +
        • An internal playback thread is responsible for playback. Injected player components such as + Renderers, MediaSources, TrackSelectors and LoadControls are called by the player on this + thread. +
        • When the application performs an operation on the player, for example a seek, a message is + delivered to the internal playback thread via a message queue. The internal playback thread + consumes messages from the queue and performs the corresponding operations. Similarly, when + a playback event occurs on the internal playback thread, a message is delivered to the + application thread via a second message queue. The application thread consumes messages + from the queue, updating the application visible state and calling corresponding listener + methods. +
        • Injected player components may use additional background threads. For example a MediaSource + may use background threads to load data. These are implementation specific. +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getTrackSelector

            +
            @Nullable
            +TrackSelector getTrackSelector()
            +
            Returns the track selector that this player uses, or null if track selection is not supported.
            +
          • +
          + + + +
            +
          • +

            getPlaybackLooper

            +
            Looper getPlaybackLooper()
            +
            Returns the Looper associated with the playback thread.
            +
          • +
          + + + +
            +
          • +

            getClock

            +
            Clock getClock()
            +
            Returns the Clock used for playback.
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setMediaSources

            +
            void setMediaSources​(List<MediaSource> mediaSources)
            +
            Clears the playlist, adds the specified MediaSources and resets the + position to the default position.
            +
            +
            Parameters:
            +
            mediaSources - The new MediaSources.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setMediaSources

            +
            void setMediaSources​(List<MediaSource> mediaSources,
            +                     int startWindowIndex,
            +                     long startPositionMs)
            +
            Clears the playlist and adds the specified MediaSources.
            +
            +
            Parameters:
            +
            mediaSources - The new MediaSources.
            +
            startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is + passed, the current position is not reset.
            +
            startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if + startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the + position is not reset at all.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSource

            +
            void setMediaSource​(MediaSource mediaSource)
            +
            Clears the playlist, adds the specified MediaSource and resets the position to the + default position.
            +
            +
            Parameters:
            +
            mediaSource - The new MediaSource.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSource

            +
            void setMediaSource​(MediaSource mediaSource,
            +                    long startPositionMs)
            +
            Clears the playlist and adds the specified MediaSource.
            +
            +
            Parameters:
            +
            mediaSource - The new MediaSource.
            +
            startPositionMs - The position in milliseconds to start playback from.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            addMediaSource

            +
            void addMediaSource​(MediaSource mediaSource)
            +
            Adds a media source to the end of the playlist.
            +
            +
            Parameters:
            +
            mediaSource - The MediaSource to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            void addMediaSource​(int index,
            +                    MediaSource mediaSource)
            +
            Adds a media source at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to add the source.
            +
            mediaSource - The MediaSource to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            void addMediaSources​(List<MediaSource> mediaSources)
            +
            Adds a list of media sources to the end of the playlist.
            +
            +
            Parameters:
            +
            mediaSources - The MediaSources to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            void addMediaSources​(int index,
            +                     List<MediaSource> mediaSources)
            +
            Adds a list of media sources at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to add the media sources.
            +
            mediaSources - The MediaSources to add.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleOrder

            +
            void setShuffleOrder​(ShuffleOrder shuffleOrder)
            +
            Sets the shuffle order.
            +
            +
            Parameters:
            +
            shuffleOrder - The shuffle order.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSeekParameters

            +
            void setSeekParameters​(@Nullable
            +                       SeekParameters seekParameters)
            +
            Sets the parameters that control how seek operations are performed.
            +
            +
            Parameters:
            +
            seekParameters - The seek parameters, or null to use the defaults.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setForegroundMode

            +
            void setForegroundMode​(boolean foregroundMode)
            +
            Sets whether the player is allowed to keep holding limited resources such as video decoders, + even when in the idle state. By doing so, the player may be able to reduce latency when + starting to play another piece of content for which the same resources are required. + +

            This mode should be used with caution, since holding limited resources may prevent other + players of media components from acquiring them. It should only be enabled when both + of the following conditions are true: + +

              +
            • The application that owns the player is in the foreground. +
            • The player is used in a way that may benefit from foreground mode. For this to be true, + the same player instance must be used to play multiple pieces of content, and there must + be gaps between the playbacks (i.e. Player.stop() is called to halt one playback, and + prepare(com.google.android.exoplayer2.source.MediaSource) is called some time later to start a new one). +
            + +

            Note that foreground mode is not useful for switching between content without gaps + between the playbacks. For this use case Player.stop() does not need to be called, and simply + calling prepare(com.google.android.exoplayer2.source.MediaSource) for the new media will cause limited resources to be retained even if + foreground mode is not enabled. + +

            If foreground mode is enabled, it's the application's responsibility to disable it when the + conditions described above no longer hold.

            +
            +
            Parameters:
            +
            foregroundMode - Whether the player is allowed to keep limited resources even when in the + idle state.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getPauseAtEndOfMediaItems

            +
            boolean getPauseAtEndOfMediaItems()
            +
            Returns whether the player pauses playback at the end of each media item.
            +
            +
            See Also:
            +
            setPauseAtEndOfMediaItems(boolean)
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetOffloadSchedulingEnabled

            +
            void experimentalSetOffloadSchedulingEnabled​(boolean offloadSchedulingEnabled)
            +
            Sets whether audio offload scheduling is enabled. If enabled, ExoPlayer's main loop will run as + rarely as possible when playing an audio stream using audio offload. + +

            Only use this scheduling mode if the player is not displaying anything to the user. For + example when the application is in the background, or the screen is off. The player state + (including position) is rarely updated (roughly between every 10 seconds and 1 minute). + +

            While offload scheduling is enabled, player events may be delivered severely delayed and + apps should not interact with the player. When returning to the foreground, disable offload + scheduling and wait for Player.EventListener.onExperimentalOffloadSchedulingEnabledChanged(boolean) to be called with + offloadSchedulingEnabled = false before interacting with the player. + +

            This mode should save significant power when the phone is playing offload audio with the + screen off. + +

            This mode only has an effect when playing an audio track in offload mode, which requires all + the following: + +

            + +

            The state where ExoPlayer main loop has been paused to save power during offload playback + can be queried with experimentalIsSleepingForOffload(). + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            offloadSchedulingEnabled - Whether to enable offload scheduling.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerFactory.html new file mode 100644 index 0000000000..5f229b69e9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerFactory.html @@ -0,0 +1,710 @@ + + + + +ExoPlayerFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlayerFactory

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerLibraryInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerLibraryInfo.html new file mode 100644 index 0000000000..ebe5ba5147 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoPlayerLibraryInfo.html @@ -0,0 +1,489 @@ + + + + +ExoPlayerLibraryInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlayerLibraryInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ExoPlayerLibraryInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ExoPlayerLibraryInfo
        +extends Object
        +
        Information about the ExoPlayer library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            VERSION

            +
            public static final String VERSION
            +
            The version of the library expressed as a string, for example "1.2.3".
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            VERSION_SLASHY

            +
            public static final String VERSION_SLASHY
            +
            The version of the library expressed as "ExoPlayerLib/" + VERSION.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            VERSION_INT

            +
            public static final int VERSION_INT
            +
            The version of the library expressed as an integer, for example 1002003. + +

            Three digits are used for each component of VERSION. For example "1.2.3" has the + corresponding integer version 1002003 (001-002-003), and "123.45.6" has the corresponding + integer version 123045006 (123-045-006).

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_USER_AGENT

            +
            @Deprecated
            +public static final String DEFAULT_USER_AGENT
            +
            Deprecated. +
            ExoPlayer now uses the user agent of the underlying network stack by default.
            +
            +
            The default user agent for requests made by the library.
            +
          • +
          + + + +
            +
          • +

            ASSERTIONS_ENABLED

            +
            public static final boolean ASSERTIONS_ENABLED
            +
            Whether the library was compiled with Assertions + checks enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            GL_ASSERTIONS_ENABLED

            +
            public static final boolean GL_ASSERTIONS_ENABLED
            +
            Whether an exception should be thrown in case of an OpenGl error.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TRACE_ENABLED

            +
            public static final boolean TRACE_ENABLED
            +
            Whether the library was compiled with TraceUtil + trace enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            registeredModules

            +
            public static String registeredModules()
            +
            Returns a string consisting of registered module names separated by ", ".
            +
          • +
          + + + +
            +
          • +

            registerModule

            +
            public static void registerModule​(String name)
            +
            Registers a module to be returned in the registeredModules() string.
            +
            +
            Parameters:
            +
            name - The name of the module being registered.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.TimeoutOperation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.TimeoutOperation.html new file mode 100644 index 0000000000..487578b9bb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.TimeoutOperation.html @@ -0,0 +1,192 @@ + + + + +ExoTimeoutException.TimeoutOperation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type ExoTimeoutException.TimeoutOperation

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.html new file mode 100644 index 0000000000..333f05bedd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ExoTimeoutException.html @@ -0,0 +1,445 @@ + + + + +ExoTimeoutException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoTimeoutException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class ExoTimeoutException
        +extends Exception
        +
        A timeout of an operation on the ExoPlayer playback thread.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            TIMEOUT_OPERATION_UNDEFINED

            +
            public static final int TIMEOUT_OPERATION_UNDEFINED
            +
            The operation where this error occurred is not defined.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            TIMEOUT_OPERATION_DETACH_SURFACE

            +
            public static final int TIMEOUT_OPERATION_DETACH_SURFACE
            +
            The error occurred while detaching a surface from the player.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            timeoutOperation

            +
            @TimeoutOperation
            +public final int timeoutOperation
            +
            The operation on the ExoPlayer playback thread that timed out.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ExoTimeoutException

            +
            public ExoTimeoutException​(@TimeoutOperation
            +                           int timeoutOperation)
            +
            Creates the timeout exception.
            +
            +
            Parameters:
            +
            timeoutOperation - The operation that produced the timeout.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.Builder.html new file mode 100644 index 0000000000..3ee50c19c9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.Builder.html @@ -0,0 +1,1042 @@ + + + + +Format.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Format.Builder

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Format
        +
        +
        +
        public static final class Format.Builder
        +extends Object
        +
        Builds Format instances. + +

        Use Format#buildUpon() to obtain a builder representing an existing Format. + +

        When building formats, populate all fields whose values are known and relevant to the type + of format being constructed. See the Format Javadoc for information about which fields + should be set for different types of format.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.html new file mode 100644 index 0000000000..c74f4ae22a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Format.html @@ -0,0 +1,2158 @@ + + + + +Format (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Format

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            NO_VALUE

            +
            public static final int NO_VALUE
            +
            A value for various fields to indicate that the field's value is unknown or not applicable.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            OFFSET_SAMPLE_RELATIVE

            +
            public static final long OFFSET_SAMPLE_RELATIVE
            +
            A value for subsampleOffsetUs to indicate that subsample timestamps are relative to + the timestamps of their parent samples.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            id

            +
            @Nullable
            +public final String id
            +
            An identifier for the format, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            label

            +
            @Nullable
            +public final String label
            +
            The human readable label, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            language

            +
            @Nullable
            +public final String language
            +
            The language as an IETF BCP 47 conformant tag, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            selectionFlags

            +
            @SelectionFlags
            +public final int selectionFlags
            +
            Track selection flags.
            +
          • +
          + + + +
            +
          • +

            roleFlags

            +
            @RoleFlags
            +public final int roleFlags
            +
            Track role flags.
            +
          • +
          + + + +
            +
          • +

            averageBitrate

            +
            public final int averageBitrate
            +
            The average bitrate in bits per second, or NO_VALUE if unknown or not applicable. The + way in which this field is populated depends on the type of media to which the format + corresponds: + +
              +
            • DASH representations: Always NO_VALUE. +
            • HLS variants: The AVERAGE-BANDWIDTH attribute defined on the corresponding + EXT-X-STREAM-INF tag in the master playlist, or NO_VALUE if not present. +
            • SmoothStreaming track elements: The Bitrate attribute defined on the + corresponding TrackElement in the manifest, or NO_VALUE if not + present. +
            • Progressive container formats: Often NO_VALUE, but may be populated with + the average bitrate of the container if known. +
            • Sample formats: Often NO_VALUE, but may be populated with the average + bitrate of the stream of samples with type sampleMimeType if known. Note that if + sampleMimeType is a compressed format (e.g., MimeTypes.AUDIO_AAC), then + this bitrate is for the stream of still compressed samples. +
            +
          • +
          + + + +
            +
          • +

            peakBitrate

            +
            public final int peakBitrate
            +
            The peak bitrate in bits per second, or NO_VALUE if unknown or not applicable. The way + in which this field is populated depends on the type of media to which the format corresponds: + +
              +
            • DASH representations: The @bandwidth attribute of the corresponding + Representation element in the manifest. +
            • HLS variants: The BANDWIDTH attribute defined on the corresponding + EXT-X-STREAM-INF tag. +
            • SmoothStreaming track elements: Always NO_VALUE. +
            • Progressive container formats: Often NO_VALUE, but may be populated with + the peak bitrate of the container if known. +
            • Sample formats: Often NO_VALUE, but may be populated with the peak bitrate + of the stream of samples with type sampleMimeType if known. Note that if sampleMimeType is a compressed format (e.g., MimeTypes.AUDIO_AAC), then this + bitrate is for the stream of still compressed samples. +
            +
          • +
          + + + +
            +
          • +

            bitrate

            +
            public final int bitrate
            +
            The bitrate in bits per second. This is the peak bitrate if known, or else the average bitrate + if known, or else NO_VALUE. Equivalent to: peakBitrate != NO_VALUE ? + peakBitrate : averageBitrate.
            +
          • +
          + + + +
            +
          • +

            codecs

            +
            @Nullable
            +public final String codecs
            +
            Codecs of the format as described in RFC 6381, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            metadata

            +
            @Nullable
            +public final Metadata metadata
            +
            Metadata, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            containerMimeType

            +
            @Nullable
            +public final String containerMimeType
            +
            The mime type of the container, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            sampleMimeType

            +
            @Nullable
            +public final String sampleMimeType
            +
            The sample mime type, or null if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            maxInputSize

            +
            public final int maxInputSize
            +
            The maximum size of a buffer of data (typically one sample), or NO_VALUE if unknown or + not applicable.
            +
          • +
          + + + +
            +
          • +

            initializationData

            +
            public final List<byte[]> initializationData
            +
            Initialization data that must be provided to the decoder. Will not be null, but may be empty + if initialization data is not required.
            +
          • +
          + + + +
            +
          • +

            drmInitData

            +
            @Nullable
            +public final DrmInitData drmInitData
            +
            DRM initialization data if the stream is protected, or null otherwise.
            +
          • +
          + + + +
            +
          • +

            subsampleOffsetUs

            +
            public final long subsampleOffsetUs
            +
            For samples that contain subsamples, this is an offset that should be added to subsample + timestamps. A value of OFFSET_SAMPLE_RELATIVE indicates that subsample timestamps are + relative to the timestamps of their parent samples.
            +
          • +
          + + + +
            +
          • +

            width

            +
            public final int width
            +
            The width of the video in pixels, or NO_VALUE if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            height

            +
            public final int height
            +
            The height of the video in pixels, or NO_VALUE if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            frameRate

            +
            public final float frameRate
            +
            The frame rate in frames per second, or NO_VALUE if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            rotationDegrees

            +
            public final int rotationDegrees
            +
            The clockwise rotation that should be applied to the video for it to be rendered in the correct + orientation, or 0 if unknown or not applicable. Only 0, 90, 180 and 270 are supported.
            +
          • +
          + + + +
            +
          • +

            pixelWidthHeightRatio

            +
            public final float pixelWidthHeightRatio
            +
            The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            projectionData

            +
            @Nullable
            +public final byte[] projectionData
            +
            The projection data for 360/VR video, or null if not applicable.
            +
          • +
          + + + + + + + +
            +
          • +

            colorInfo

            +
            @Nullable
            +public final ColorInfo colorInfo
            +
            The color metadata associated with the video, or null if not applicable.
            +
          • +
          + + + +
            +
          • +

            channelCount

            +
            public final int channelCount
            +
            The number of audio channels, or NO_VALUE if unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            The audio sampling rate in Hz, or NO_VALUE if unknown or not applicable.
            +
          • +
          + + + + + + + +
            +
          • +

            encoderDelay

            +
            public final int encoderDelay
            +
            The number of frames to trim from the start of the decoded audio stream, or 0 if not + applicable.
            +
          • +
          + + + +
            +
          • +

            encoderPadding

            +
            public final int encoderPadding
            +
            The number of frames to trim from the end of the decoded audio stream, or 0 if not applicable.
            +
          • +
          + + + +
            +
          • +

            accessibilityChannel

            +
            public final int accessibilityChannel
            +
            The Accessibility channel, or NO_VALUE if not known or applicable.
            +
          • +
          + + + +
            +
          • +

            exoMediaCryptoType

            +
            @Nullable
            +public final Class<? extends ExoMediaCrypto> exoMediaCryptoType
            +
            The type of ExoMediaCrypto that will be associated with the content this format + describes, or null if the content is not encrypted. Cannot be null if drmInitData is non-null.
            +
          • +
          + + + + +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/FormatHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/FormatHolder.html new file mode 100644 index 0000000000..8eb7960ef5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/FormatHolder.html @@ -0,0 +1,362 @@ + + + + +FormatHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FormatHolder

      +
      +
      + +
      +
        +
      • +
        +
        public final class FormatHolder
        +extends Object
        +
        Holds a Format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            drmSession

            +
            @Nullable
            +public DrmSession drmSession
            +
            An accompanying context for decrypting samples in the format.
            +
          • +
          + + + +
            +
          • +

            format

            +
            @Nullable
            +public Format format
            +
            The held Format.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FormatHolder

            +
            public FormatHolder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears the holder.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/IllegalSeekPositionException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/IllegalSeekPositionException.html new file mode 100644 index 0000000000..0d406cccb6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/IllegalSeekPositionException.html @@ -0,0 +1,384 @@ + + + + +IllegalSeekPositionException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IllegalSeekPositionException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            timeline

            +
            public final Timeline timeline
            +
            The Timeline in which the seek was attempted.
            +
          • +
          + + + +
            +
          • +

            windowIndex

            +
            public final int windowIndex
            +
            The index of the window being seeked to.
            +
          • +
          + + + +
            +
          • +

            positionMs

            +
            public final long positionMs
            +
            The seek position in the specified window.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IllegalSeekPositionException

            +
            public IllegalSeekPositionException​(Timeline timeline,
            +                                    int windowIndex,
            +                                    long positionMs)
            +
            +
            Parameters:
            +
            timeline - The Timeline in which the seek was attempted.
            +
            windowIndex - The index of the window being seeked to.
            +
            positionMs - The seek position in the specified window.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LivePlaybackSpeedControl.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LivePlaybackSpeedControl.html new file mode 100644 index 0000000000..0528d22963 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LivePlaybackSpeedControl.html @@ -0,0 +1,346 @@ + + + + +LivePlaybackSpeedControl (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface LivePlaybackSpeedControl

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultLivePlaybackSpeedControl
        +
        +
        +
        public interface LivePlaybackSpeedControl
        +
        Controls the playback speed while playing live content in order to maintain a steady target live + offset.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            notifyRebuffer

            +
            void notifyRebuffer()
            +
            Notifies the live playback speed control that a rebuffer occurred. + +

            A rebuffer is defined to be caused by buffer depletion rather than a user action. Hence this + method is not called during initial buffering or when buffering as a result of a seek + operation.

            +
          • +
          + + + +
            +
          • +

            getAdjustedPlaybackSpeed

            +
            float getAdjustedPlaybackSpeed​(long liveOffsetUs,
            +                               long bufferedDurationUs)
            +
            Returns the adjusted playback speed in order get closer towards the target live offset.
            +
            +
            Parameters:
            +
            liveOffsetUs - The current live offset, in microseconds.
            +
            bufferedDurationUs - The duration of media that's currently buffered, in microseconds.
            +
            Returns:
            +
            The adjusted factor by which playback should be sped up.
            +
            +
          • +
          + + + +
            +
          • +

            getTargetLiveOffsetUs

            +
            long getTargetLiveOffsetUs()
            +
            Returns the current target live offset, in microseconds, or C.TIME_UNSET if no target + live offset is defined for the current media.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LoadControl.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LoadControl.html new file mode 100644 index 0000000000..6874e0e8ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/LoadControl.html @@ -0,0 +1,468 @@ + + + + +LoadControl (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface LoadControl

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultLoadControl
        +
        +
        +
        public interface LoadControl
        +
        Controls buffering of media.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          AllocatorgetAllocator() +
          Returns the Allocator that should be used to obtain media buffer allocations.
          +
          longgetBackBufferDurationUs() +
          Returns the duration of media to retain in the buffer prior to the current playback position, + for fast backward seeking.
          +
          voidonPrepared() +
          Called by the player when prepared with a new source.
          +
          voidonReleased() +
          Called by the player when released.
          +
          voidonStopped() +
          Called by the player when stopped.
          +
          voidonTracksSelected​(Renderer[] renderers, + TrackGroupArray trackGroups, + ExoTrackSelection[] trackSelections) +
          Called by the player when a track selection occurs.
          +
          booleanretainBackBufferFromKeyframe() +
          Returns whether media should be retained from the keyframe before the current playback position + minus getBackBufferDurationUs(), rather than any sample before or at that position.
          +
          booleanshouldContinueLoading​(long playbackPositionUs, + long bufferedDurationUs, + float playbackSpeed) +
          Called by the player to determine whether it should continue to load the source.
          +
          booleanshouldStartPlayback​(long bufferedDurationUs, + float playbackSpeed, + boolean rebuffering, + long targetLiveOffsetUs) +
          Called repeatedly by the player when it's loading the source, has yet to start playback, and + has the minimum amount of data necessary for playback to be started.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPrepared

            +
            void onPrepared()
            +
            Called by the player when prepared with a new source.
            +
          • +
          + + + +
            +
          • +

            onTracksSelected

            +
            void onTracksSelected​(Renderer[] renderers,
            +                      TrackGroupArray trackGroups,
            +                      ExoTrackSelection[] trackSelections)
            +
            Called by the player when a track selection occurs.
            +
            +
            Parameters:
            +
            renderers - The renderers.
            +
            trackGroups - The TrackGroups from which the selection was made.
            +
            trackSelections - The track selections that were made.
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            void onStopped()
            +
            Called by the player when stopped.
            +
          • +
          + + + +
            +
          • +

            onReleased

            +
            void onReleased()
            +
            Called by the player when released.
            +
          • +
          + + + +
            +
          • +

            getAllocator

            +
            Allocator getAllocator()
            +
            Returns the Allocator that should be used to obtain media buffer allocations.
            +
          • +
          + + + +
            +
          • +

            getBackBufferDurationUs

            +
            long getBackBufferDurationUs()
            +
            Returns the duration of media to retain in the buffer prior to the current playback position, + for fast backward seeking. + +

            Note: If retainBackBufferFromKeyframe() is false then seeking in the back-buffer + will only be fast if the back-buffer contains a keyframe prior to the seek position. + +

            Note: Implementations should return a single value. Dynamic changes to the back-buffer are + not currently supported.

            +
            +
            Returns:
            +
            The duration of media to retain in the buffer prior to the current playback position, + in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            retainBackBufferFromKeyframe

            +
            boolean retainBackBufferFromKeyframe()
            +
            Returns whether media should be retained from the keyframe before the current playback position + minus getBackBufferDurationUs(), rather than any sample before or at that position. + +

            Warning: Returning true will cause the back-buffer size to depend on the spacing of + keyframes in the media being played. Returning true is not recommended unless you control the + media and are comfortable with the back-buffer size exceeding getBackBufferDurationUs() by as much as the maximum duration between adjacent keyframes in + the media. + +

            Note: Implementations should return a single value. Dynamic changes to the back-buffer are + not currently supported.

            +
            +
            Returns:
            +
            Whether media should be retained from the keyframe before the current playback position + minus getBackBufferDurationUs(), rather than any sample before or at that + position.
            +
            +
          • +
          + + + +
            +
          • +

            shouldContinueLoading

            +
            boolean shouldContinueLoading​(long playbackPositionUs,
            +                              long bufferedDurationUs,
            +                              float playbackSpeed)
            +
            Called by the player to determine whether it should continue to load the source.
            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds, relative to the start + of the period that will continue to be loaded if this method + returns true. If playback of this period has not yet started, the value will be + negative and equal in magnitude to the duration of any media in previous periods still to + be played.
            +
            bufferedDurationUs - The duration of media that's currently buffered.
            +
            playbackSpeed - The current factor by which playback is sped up.
            +
            Returns:
            +
            Whether the loading should continue.
            +
            +
          • +
          + + + +
            +
          • +

            shouldStartPlayback

            +
            boolean shouldStartPlayback​(long bufferedDurationUs,
            +                            float playbackSpeed,
            +                            boolean rebuffering,
            +                            long targetLiveOffsetUs)
            +
            Called repeatedly by the player when it's loading the source, has yet to start playback, and + has the minimum amount of data necessary for playback to be started. The value returned + determines whether playback is actually started. The load control may opt to return + false until some condition has been met (e.g. a certain amount of media is buffered).
            +
            +
            Parameters:
            +
            bufferedDurationUs - The duration of media that's currently buffered.
            +
            playbackSpeed - The current factor by which playback is sped up.
            +
            rebuffering - Whether the player is rebuffering. A rebuffer is defined to be caused by + buffer depletion rather than a user action. Hence this parameter is false during initial + buffering and when buffering as a result of a seek operation.
            +
            targetLiveOffsetUs - The desired playback position offset to the live edge in + microseconds, or C.TIME_UNSET if the media is not a live stream or no offset is + configured.
            +
            Returns:
            +
            Whether playback should be allowed to start or resume.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.AdsConfiguration.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.AdsConfiguration.html new file mode 100644 index 0000000000..74bee13911 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.AdsConfiguration.html @@ -0,0 +1,351 @@ + + + + +MediaItem.AdsConfiguration (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.AdsConfiguration

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaItem.AdsConfiguration
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.AdsConfiguration
        +extends Object
        +
        Configuration for playing back linear ads with a media item.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            adTagUri

            +
            public final Uri adTagUri
            +
            The ad tag URI to load.
            +
          • +
          + + + +
            +
          • +

            adsId

            +
            @Nullable
            +public final Object adsId
            +
            An opaque identifier for ad playback state associated with this item, or null if the + combination of the media ID and ad tag URI should be used as the ads identifier.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Builder.html new file mode 100644 index 0000000000..3fd9fac1ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Builder.html @@ -0,0 +1,1033 @@ + + + + +MediaItem.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.Builder

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.Builder
        +extends Object
        +
        A builder for MediaItem instances.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder()
            +
            Creates a builder.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            setMimeType

            +
            public MediaItem.Builder setMimeType​(@Nullable
            +                                     String mimeType)
            +
            Sets the optional MIME type. + +

            The MIME type may be used as a hint for inferring the type of the media item. + +

            If setUri(java.lang.String) is passed a non-null uri, the MIME type is used to create a + MediaItem.PlaybackProperties object. Otherwise it will be ignored.

            +
            +
            Parameters:
            +
            mimeType - The MIME type.
            +
            +
          • +
          + + + +
            +
          • +

            setClipStartPositionMs

            +
            public MediaItem.Builder setClipStartPositionMs​(long startPositionMs)
            +
            Sets the optional start position in milliseconds which must be a value larger than or equal + to zero (Default: 0).
            +
          • +
          + + + +
            +
          • +

            setClipEndPositionMs

            +
            public MediaItem.Builder setClipEndPositionMs​(long endPositionMs)
            +
            Sets the optional end position in milliseconds which must be a value larger than or equal to + zero, or C.TIME_END_OF_SOURCE to end when playback reaches the end of media (Default: + C.TIME_END_OF_SOURCE).
            +
          • +
          + + + +
            +
          • +

            setClipRelativeToLiveWindow

            +
            public MediaItem.Builder setClipRelativeToLiveWindow​(boolean relativeToLiveWindow)
            +
            Sets whether the start/end positions should move with the live window for live streams. If + false, live streams end when playback reaches the end position in live window seen + when the media is first loaded (Default: false).
            +
          • +
          + + + +
            +
          • +

            setClipRelativeToDefaultPosition

            +
            public MediaItem.Builder setClipRelativeToDefaultPosition​(boolean relativeToDefaultPosition)
            +
            Sets whether the start position and the end position are relative to the default position in + the window (Default: false).
            +
          • +
          + + + +
            +
          • +

            setClipStartsAtKeyFrame

            +
            public MediaItem.Builder setClipStartsAtKeyFrame​(boolean startsAtKeyFrame)
            +
            Sets whether the start point is guaranteed to be a key frame. If false, the playback + transition into the clip may not be seamless (Default: false).
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setDrmLicenseRequestHeaders

            +
            public MediaItem.Builder setDrmLicenseRequestHeaders​(@Nullable
            +                                                     Map<String,String> licenseRequestHeaders)
            +
            Sets the optional request headers attached to the DRM license request. + +

            null or an empty Map can be used for a reset. + +

            If no valid DRM configuration is specified, the DRM license request headers are ignored.

            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setDrmForceDefaultLicenseUri

            +
            public MediaItem.Builder setDrmForceDefaultLicenseUri​(boolean forceDefaultLicenseUri)
            +
            Sets whether to force use the default DRM license server URI even if the media specifies its + own DRM license server URI. + +

            If setUri(java.lang.String) is passed a non-null uri, the DRM force default license flag is + used to create a MediaItem.PlaybackProperties object. Otherwise it will be ignored.

            +
          • +
          + + + +
            +
          • +

            setDrmPlayClearContentWithoutKey

            +
            public MediaItem.Builder setDrmPlayClearContentWithoutKey​(boolean playClearContentWithoutKey)
            +
            Sets whether clear samples within protected content should be played when keys for the + encrypted part of the content have yet to be loaded.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setDrmKeySetId

            +
            public MediaItem.Builder setDrmKeySetId​(@Nullable
            +                                        byte[] keySetId)
            +
            Sets the key set ID of the offline license. + +

            The key set ID identifies an offline license. The ID is required to query, renew or + release an existing offline license (see DefaultDrmSessionManager#setMode(int + mode,byte[] offlineLicenseKeySetId)). + +

            If no valid DRM configuration is specified, the key set ID is ignored.

            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setAdTagUri

            +
            public MediaItem.Builder setAdTagUri​(@Nullable
            +                                     String adTagUri)
            +
            Sets the optional ad tag Uri. + +

            If setUri(java.lang.String) is passed a non-null uri, the ad tag URI is used to create a + MediaItem.PlaybackProperties object. Otherwise it will be ignored. + +

            Media items in the playlist with the same ad tag URI, media ID and ads loader will share + the same ad playback state. To resume ad playback when recreating the playlist on returning + from the background, pass media items with the same ad tag URIs and media IDs to the player.

            +
            +
            Parameters:
            +
            adTagUri - The ad tag URI to load.
            +
            +
          • +
          + + + +
            +
          • +

            setAdTagUri

            +
            public MediaItem.Builder setAdTagUri​(@Nullable
            +                                     Uri adTagUri)
            +
            Sets the optional ad tag Uri. + +

            If setUri(java.lang.String) is passed a non-null uri, the ad tag URI is used to create a + MediaItem.PlaybackProperties object. Otherwise it will be ignored. + +

            Media items in the playlist with the same ad tag URI, media ID and ads loader will share + the same ad playback state. To resume ad playback when recreating the playlist on returning + from the background, pass media items with the same ad tag URIs and media IDs to the player.

            +
            +
            Parameters:
            +
            adTagUri - The ad tag URI to load.
            +
            +
          • +
          + + + +
            +
          • +

            setAdTagUri

            +
            public MediaItem.Builder setAdTagUri​(@Nullable
            +                                     Uri adTagUri,
            +                                     @Nullable
            +                                     Object adsId)
            +
            Sets the optional ad tag Uri and ads identifier. + +

            If setUri(java.lang.String) is passed a non-null uri, the ad tag URI is used to create a + MediaItem.PlaybackProperties object. Otherwise it will be ignored. + +

            Media items in the playlist that have the same ads identifier and ads loader share the + same ad playback state. To resume ad playback when recreating the playlist on returning from + the background, pass the same ads IDs to the player.

            +
            +
            Parameters:
            +
            adTagUri - The ad tag URI to load.
            +
            adsId - An opaque identifier for ad playback state associated with this item. Ad loading + and playback state is shared among all media items that have the same ads ID (by equality) and ads loader, so it is important to pass the same + identifiers when constructing playlist items each time the player returns to the + foreground.
            +
            +
          • +
          + + + +
            +
          • +

            setLiveTargetOffsetMs

            +
            public MediaItem.Builder setLiveTargetOffsetMs​(long liveTargetOffsetMs)
            +
            Sets the optional target offset from the live edge for live streams, in milliseconds. + +

            See Player#getCurrentLiveOffset().

            +
            +
            Parameters:
            +
            liveTargetOffsetMs - The target offset, in milliseconds, or C.TIME_UNSET to use + the media-defined default.
            +
            +
          • +
          + + + +
            +
          • +

            setLiveMinOffsetMs

            +
            public MediaItem.Builder setLiveMinOffsetMs​(long liveMinOffsetMs)
            +
            Sets the optional minimum offset from the live edge for live streams, in milliseconds. + +

            See Player#getCurrentLiveOffset().

            +
            +
            Parameters:
            +
            liveMinOffsetMs - The minimum allowed offset, in milliseconds, or C.TIME_UNSET + to use the media-defined default.
            +
            +
          • +
          + + + +
            +
          • +

            setLiveMaxOffsetMs

            +
            public MediaItem.Builder setLiveMaxOffsetMs​(long liveMaxOffsetMs)
            +
            Sets the optional maximum offset from the live edge for live streams, in milliseconds. + +

            See Player#getCurrentLiveOffset().

            +
            +
            Parameters:
            +
            liveMaxOffsetMs - The maximum allowed offset, in milliseconds, or C.TIME_UNSET + to use the media-defined default.
            +
            +
          • +
          + + + +
            +
          • +

            setLiveMinPlaybackSpeed

            +
            public MediaItem.Builder setLiveMinPlaybackSpeed​(float minPlaybackSpeed)
            +
            Sets the optional minimum playback speed for live stream speed adjustment. + +

            This value is ignored for other stream types.

            +
            +
            Parameters:
            +
            minPlaybackSpeed - The minimum factor by which playback can be sped up for live streams, + or C.RATE_UNSET to use the media-defined default.
            +
            +
          • +
          + + + +
            +
          • +

            setLiveMaxPlaybackSpeed

            +
            public MediaItem.Builder setLiveMaxPlaybackSpeed​(float maxPlaybackSpeed)
            +
            Sets the optional maximum playback speed for live stream speed adjustment. + +

            This value is ignored for other stream types.

            +
            +
            Parameters:
            +
            maxPlaybackSpeed - The maximum factor by which playback can be sped up for live streams, + or C.RATE_UNSET to use the media-defined default.
            +
            +
          • +
          + + + +
            +
          • +

            setTag

            +
            public MediaItem.Builder setTag​(@Nullable
            +                                Object tag)
            +
            Sets the optional tag for custom attributes. The tag for the media source which will be + published in the com.google.android.exoplayer2.Timeline of the source as + com.google.android.exoplayer2.Timeline.Window#tag. + +

            If setUri(java.lang.String) is passed a non-null uri, the tag is used to create a MediaItem.PlaybackProperties object. Otherwise it will be ignored.

            +
          • +
          + + + + + + + +
            +
          • +

            build

            +
            public MediaItem build()
            +
            Returns a new MediaItem instance with the current builder values.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.ClippingProperties.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.ClippingProperties.html new file mode 100644 index 0000000000..64ff2b1ff1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.ClippingProperties.html @@ -0,0 +1,402 @@ + + + + +MediaItem.ClippingProperties (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.ClippingProperties

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaItem.ClippingProperties
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.ClippingProperties
        +extends Object
        +
        Optionally clips the media item to a custom start and end position.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            startPositionMs

            +
            public final long startPositionMs
            +
            The start position in milliseconds. This is a value larger than or equal to zero.
            +
          • +
          + + + +
            +
          • +

            endPositionMs

            +
            public final long endPositionMs
            +
            The end position in milliseconds. This is a value larger than or equal to zero or C.TIME_END_OF_SOURCE to play to the end of the stream.
            +
          • +
          + + + +
            +
          • +

            relativeToLiveWindow

            +
            public final boolean relativeToLiveWindow
            +
            Whether the clipping of active media periods moves with a live window. If false, + playback ends when it reaches endPositionMs.
            +
          • +
          + + + +
            +
          • +

            relativeToDefaultPosition

            +
            public final boolean relativeToDefaultPosition
            +
            Whether startPositionMs and endPositionMs are relative to the default + position.
            +
          • +
          + + + +
            +
          • +

            startsAtKeyFrame

            +
            public final boolean startsAtKeyFrame
            +
            Sets whether the start point is guaranteed to be a key frame.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.DrmConfiguration.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.DrmConfiguration.html new file mode 100644 index 0000000000..0d184bdd53 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.DrmConfiguration.html @@ -0,0 +1,457 @@ + + + + +MediaItem.DrmConfiguration (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.DrmConfiguration

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaItem.DrmConfiguration
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.DrmConfiguration
        +extends Object
        +
        DRM configuration for a media item.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uuid

            +
            public final UUID uuid
            +
            The UUID of the protection scheme.
            +
          • +
          + + + +
            +
          • +

            licenseUri

            +
            @Nullable
            +public final Uri licenseUri
            +
            Optional default DRM license server Uri. If null then the DRM license server + must be specified by the media.
            +
          • +
          + + + +
            +
          • +

            requestHeaders

            +
            public final Map<String,String> requestHeaders
            +
            The headers to attach to the request to the DRM license server.
            +
          • +
          + + + +
            +
          • +

            multiSession

            +
            public final boolean multiSession
            +
            Whether the DRM configuration is multi session enabled.
            +
          • +
          + + + +
            +
          • +

            playClearContentWithoutKey

            +
            public final boolean playClearContentWithoutKey
            +
            Whether clear samples within protected content should be played when keys for the encrypted + part of the content have yet to be loaded.
            +
          • +
          + + + +
            +
          • +

            forceDefaultLicenseUri

            +
            public final boolean forceDefaultLicenseUri
            +
            Whether to force use of licenseUri even if the media specifies its own DRM license + server URI.
            +
          • +
          + + + +
            +
          • +

            sessionForClearTypes

            +
            public final List<Integer> sessionForClearTypes
            +
            The types of clear tracks for which to use a DRM session.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getKeySetId

            +
            @Nullable
            +public byte[] getKeySetId()
            +
            Returns the key set ID of the offline license.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.LiveConfiguration.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.LiveConfiguration.html new file mode 100644 index 0000000000..a269eedf8c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.LiveConfiguration.html @@ -0,0 +1,486 @@ + + + + +MediaItem.LiveConfiguration (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.LiveConfiguration

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaItem.LiveConfiguration
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.LiveConfiguration
        +extends Object
        +
        Live playback configuration.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            targetOffsetMs

            +
            public final long targetOffsetMs
            +
            Target offset from the live edge, in milliseconds, or C.TIME_UNSET to use the + media-defined default.
            +
          • +
          + + + +
            +
          • +

            minOffsetMs

            +
            public final long minOffsetMs
            +
            The minimum allowed offset from the live edge, in milliseconds, or C.TIME_UNSET to + use the media-defined default.
            +
          • +
          + + + +
            +
          • +

            maxOffsetMs

            +
            public final long maxOffsetMs
            +
            The maximum allowed offset from the live edge, in milliseconds, or C.TIME_UNSET to + use the media-defined default.
            +
          • +
          + + + +
            +
          • +

            minPlaybackSpeed

            +
            public final float minPlaybackSpeed
            +
            Minimum factor by which playback can be sped up, or C.RATE_UNSET to use the + media-defined default.
            +
          • +
          + + + +
            +
          • +

            maxPlaybackSpeed

            +
            public final float maxPlaybackSpeed
            +
            Maximum factor by which playback can be sped up, or C.RATE_UNSET to use the + media-defined default.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LiveConfiguration

            +
            public LiveConfiguration​(long targetOffsetMs,
            +                         long minOffsetMs,
            +                         long maxOffsetMs,
            +                         float minPlaybackSpeed,
            +                         float maxPlaybackSpeed)
            +
            Creates a live playback configuration.
            +
            +
            Parameters:
            +
            targetOffsetMs - Target live offset, in milliseconds, or C.TIME_UNSET to use the + media-defined default.
            +
            minOffsetMs - The minimum allowed live offset, in milliseconds, or C.TIME_UNSET + to use the media-defined default.
            +
            maxOffsetMs - The maximum allowed live offset, in milliseconds, or C.TIME_UNSET + to use the media-defined default.
            +
            minPlaybackSpeed - Minimum playback speed, or C.RATE_UNSET to use the + media-defined default.
            +
            maxPlaybackSpeed - Maximum playback speed, or C.RATE_UNSET to use the + media-defined default.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.PlaybackProperties.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.PlaybackProperties.html new file mode 100644 index 0000000000..025cb85e57 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.PlaybackProperties.html @@ -0,0 +1,460 @@ + + + + +MediaItem.PlaybackProperties (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.PlaybackProperties

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaItem.PlaybackProperties
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.PlaybackProperties
        +extends Object
        +
        Properties for local playback.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The Uri.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            @Nullable
            +public final String mimeType
            +
            The optional MIME type of the item, or null if unspecified. + +

            The MIME type can be used to disambiguate media items that have a URI which does not allow + to infer the actual media type.

            +
          • +
          + + + + + + + + + + + +
            +
          • +

            streamKeys

            +
            public final List<StreamKey> streamKeys
            +
            Optional stream keys by which the manifest is filtered.
            +
          • +
          + + + +
            +
          • +

            customCacheKey

            +
            @Nullable
            +public final String customCacheKey
            +
            Optional custom cache key (only used for progressive streams).
            +
          • +
          + + + + + + + +
            +
          • +

            tag

            +
            @Nullable
            +public final Object tag
            +
            Optional tag for custom attributes. The tag for the media source which will be published in + the com.google.android.exoplayer2.Timeline of the source as + com.google.android.exoplayer2.Timeline.Window#tag.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Subtitle.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Subtitle.html new file mode 100644 index 0000000000..1b0dce47ef --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.Subtitle.html @@ -0,0 +1,540 @@ + + + + +MediaItem.Subtitle (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem.Subtitle

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaItem
        +
        +
        +
        public static final class MediaItem.Subtitle
        +extends Object
        +
        Properties for a text track.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The Uri to the subtitle file.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            public final String mimeType
            +
            The MIME type.
            +
          • +
          + + + +
            +
          • +

            language

            +
            @Nullable
            +public final String language
            +
            The language.
            +
          • +
          + + + +
            +
          • +

            selectionFlags

            +
            @SelectionFlags
            +public final int selectionFlags
            +
            The selection flags.
            +
          • +
          + + + +
            +
          • +

            roleFlags

            +
            @RoleFlags
            +public final int roleFlags
            +
            The role flags.
            +
          • +
          + + + +
            +
          • +

            label

            +
            @Nullable
            +public final String label
            +
            The label.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Subtitle

            +
            public Subtitle​(Uri uri,
            +                String mimeType,
            +                @Nullable
            +                String language)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            uri - The URI to the subtitle file.
            +
            mimeType - The MIME type.
            +
            language - The optional language.
            +
            +
          • +
          + + + +
            +
          • +

            Subtitle

            +
            public Subtitle​(Uri uri,
            +                String mimeType,
            +                @Nullable
            +                String language,
            +                @SelectionFlags
            +                int selectionFlags)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            uri - The URI to the subtitle file.
            +
            mimeType - The MIME type.
            +
            language - The optional language.
            +
            selectionFlags - The selection flags.
            +
            +
          • +
          + + + +
            +
          • +

            Subtitle

            +
            public Subtitle​(Uri uri,
            +                String mimeType,
            +                @Nullable
            +                String language,
            +                @SelectionFlags
            +                int selectionFlags,
            +                @RoleFlags
            +                int roleFlags,
            +                @Nullable
            +                String label)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            uri - The URI to the subtitle file.
            +
            mimeType - The MIME type.
            +
            language - The optional language.
            +
            selectionFlags - The selection flags.
            +
            roleFlags - The role flags.
            +
            label - The optional label.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.html new file mode 100644 index 0000000000..0130062774 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaItem.html @@ -0,0 +1,524 @@ + + + + +MediaItem (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaItem

      +
      +
      + +
      +
        +
      • +
        +
        public final class MediaItem
        +extends Object
        +
        Representation of a media item.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.Builder.html new file mode 100644 index 0000000000..fd4e252003 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.Builder.html @@ -0,0 +1,324 @@ + + + + +MediaMetadata.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaMetadata.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.MediaMetadata.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.html new file mode 100644 index 0000000000..2f82071386 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MediaMetadata.html @@ -0,0 +1,351 @@ + + + + +MediaMetadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaMetadata

      +
      +
      + +
      +
        +
      • +
        +
        public final class MediaMetadata
        +extends Object
        +
        Metadata of the MediaItem.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            title

            +
            @Nullable
            +public final String title
            +
            Optional title.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MetadataRetriever.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MetadataRetriever.html new file mode 100644 index 0000000000..db3e82e9a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/MetadataRetriever.html @@ -0,0 +1,307 @@ + + + + +MetadataRetriever (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MetadataRetriever

      +
      +
      + +
      +
        +
      • +
        +
        public final class MetadataRetriever
        +extends Object
        +
        Retrieves the static metadata of MediaItems.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/NoSampleRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/NoSampleRenderer.html new file mode 100644 index 0000000000..8d00267519 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/NoSampleRenderer.html @@ -0,0 +1,1216 @@ + + + + +NoSampleRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NoSampleRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            NoSampleRenderer

            +
            public NoSampleRenderer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getCapabilities

            +
            public final RendererCapabilities getCapabilities()
            +
            Description copied from interface: Renderer
            +
            Returns the capabilities of the renderer.
            +
            +
            Specified by:
            +
            getCapabilities in interface Renderer
            +
            Returns:
            +
            The capabilities of the renderer.
            +
            +
          • +
          + + + +
            +
          • +

            setIndex

            +
            public final void setIndex​(int index)
            +
            Description copied from interface: Renderer
            +
            Sets the index of this renderer within the player.
            +
            +
            Specified by:
            +
            setIndex in interface Renderer
            +
            Parameters:
            +
            index - The renderer index.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaClock

            +
            @Nullable
            +public MediaClock getMediaClock()
            +
            Description copied from interface: Renderer
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Specified by:
            +
            getMediaClock in interface Renderer
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            enable

            +
            public final void enable​(RendererConfiguration configuration,
            +                         Format[] formats,
            +                         SampleStream stream,
            +                         long positionUs,
            +                         boolean joining,
            +                         boolean mayRenderStartOfStream,
            +                         long startPositionUs,
            +                         long offsetUs)
            +                  throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Enables the renderer to consume from the specified SampleStream. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_DISABLED.

            +
            +
            Specified by:
            +
            enable in interface Renderer
            +
            Parameters:
            +
            configuration - The renderer configuration.
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            positionUs - The player's current position.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            startPositionUs - The start position of the stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            replaceStream

            +
            public final void replaceStream​(Format[] formats,
            +                                SampleStream stream,
            +                                long startPositionUs,
            +                                long offsetUs)
            +                         throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Replaces the SampleStream from which samples will be consumed. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            replaceStream in interface Renderer
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            getStream

            +
            @Nullable
            +public final SampleStream getStream()
            +
            Description copied from interface: Renderer
            +
            Returns the SampleStream being consumed, or null if the renderer is disabled.
            +
            +
            Specified by:
            +
            getStream in interface Renderer
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            isCurrentStreamFinal

            +
            public final boolean isCurrentStreamFinal()
            +
            Description copied from interface: Renderer
            +
            Returns whether the current SampleStream will be the final one supplied before the + renderer is next disabled or reset.
            +
            +
            Specified by:
            +
            isCurrentStreamFinal in interface Renderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            resetPosition

            +
            public final void resetPosition​(long positionUs)
            +                         throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Signals to the renderer that a position discontinuity has occurred. +

            + After a position discontinuity, the renderer's SampleStream is guaranteed to provide + samples starting from a key frame. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            resetPosition in interface Renderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the reset.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            reset

            +
            public final void reset()
            +
            Description copied from interface: Renderer
            +
            Forces the renderer to give up any resources (e.g. media decoders) that it may be holding. If + the renderer is not holding any resources, the call is a no-op. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_DISABLED.

            +
            +
            Specified by:
            +
            reset in interface Renderer
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isEnded in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            handleMessage

            +
            public void handleMessage​(int what,
            +                          @Nullable
            +                          Object object)
            +                   throws ExoPlaybackException
            +
            Description copied from interface: PlayerMessage.Target
            +
            Handles a message delivered to the target.
            +
            +
            Specified by:
            +
            handleMessage in interface PlayerMessage.Target
            +
            Parameters:
            +
            what - The message type.
            +
            object - The message payload.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurred whilst handling the message. Should only be + thrown by targets that handle messages on the playback thread.
            +
            +
          • +
          + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining)
            +                  throws ExoPlaybackException
            +
            Called when the renderer is enabled. +

            + The default implementation is a no-op.

            +
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onRendererOffsetChanged

            +
            protected void onRendererOffsetChanged​(long offsetUs)
            +                                throws ExoPlaybackException
            +
            Called when the renderer's offset has been changed. +

            + The default implementation is a no-op.

            +
            +
            Parameters:
            +
            offsetUs - The offset that should be subtracted from positionUs in + Renderer.render(long, long) to get the playback position with respect to the media.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Called when the position is reset. This occurs when the renderer is enabled after + onRendererOffsetChanged(long) has been called, and also when a position + discontinuity is encountered. +

            + The default implementation is a no-op.

            +
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +                  throws ExoPlaybackException
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Called when the renderer is reset. + +

            The default implementation is a no-op.

            +
          • +
          + + + +
            +
          • +

            getConfiguration

            +
            @Nullable
            +protected final RendererConfiguration getConfiguration()
            +
            Returns the configuration set when the renderer was most recently enabled, or null if + the renderer has never been enabled.
            +
          • +
          + + + +
            +
          • +

            getIndex

            +
            protected final int getIndex()
            +
            Returns the index of the renderer within the player.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ParserException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ParserException.html new file mode 100644 index 0000000000..ee17f2e83d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ParserException.html @@ -0,0 +1,351 @@ + + + + +ParserException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ParserException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ParserException

            +
            public ParserException()
            +
          • +
          + + + +
            +
          • +

            ParserException

            +
            public ParserException​(String message)
            +
            +
            Parameters:
            +
            message - The detail message for the exception.
            +
            +
          • +
          + + + +
            +
          • +

            ParserException

            +
            public ParserException​(Throwable cause)
            +
            +
            Parameters:
            +
            cause - The cause for the exception.
            +
            +
          • +
          + + + +
            +
          • +

            ParserException

            +
            public ParserException​(String message,
            +                       Throwable cause)
            +
            +
            Parameters:
            +
            message - The detail message for the exception.
            +
            cause - The cause for the exception.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackParameters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackParameters.html new file mode 100644 index 0000000000..e2bea5a473 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackParameters.html @@ -0,0 +1,497 @@ + + + + +PlaybackParameters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackParameters

      +
      +
      + +
      +
        +
      • +
        +
        public final class PlaybackParameters
        +extends Object
        +
        Parameters that apply to playback, including speed setting.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT

            +
            public static final PlaybackParameters DEFAULT
            +
            The default playback parameters: real-time playback with no silence skipping.
            +
          • +
          + + + +
            +
          • +

            speed

            +
            public final float speed
            +
            The factor by which playback will be sped up.
            +
          • +
          + + + +
            +
          • +

            pitch

            +
            public final float pitch
            +
            The factor by which pitch will be shifted.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlaybackParameters

            +
            public PlaybackParameters​(float speed)
            +
            Creates new playback parameters that set the playback speed. The pitch of audio will not be + adjusted, so the effect is to time-stretch the audio.
            +
            +
            Parameters:
            +
            speed - The factor by which playback will be sped up. Must be greater than zero.
            +
            +
          • +
          + + + +
            +
          • +

            PlaybackParameters

            +
            public PlaybackParameters​(float speed,
            +                          float pitch)
            +
            Creates new playback parameters that set the playback speed/pitch.
            +
            +
            Parameters:
            +
            speed - The factor by which playback will be sped up. Must be greater than zero.
            +
            pitch - The factor by which the pitch of audio will be adjusted. Must be greater than + zero. Useful values are 1 (to time-stretch audio) and the same value as passed in + as the speed (to resample audio, which is useful for slow-motion videos).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getMediaTimeUsForPlayoutTimeMs

            +
            public long getMediaTimeUsForPlayoutTimeMs​(long timeMs)
            +
            Returns the media time in microseconds that will elapse in timeMs milliseconds of + wallclock time.
            +
            +
            Parameters:
            +
            timeMs - The time to scale, in milliseconds.
            +
            Returns:
            +
            The scaled time, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            withSpeed

            +
            @CheckResult
            +public PlaybackParameters withSpeed​(float speed)
            +
            Returns a copy with the given speed.
            +
            +
            Parameters:
            +
            speed - The new speed.
            +
            Returns:
            +
            The copied playback parameters.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackPreparer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackPreparer.html new file mode 100644 index 0000000000..8c80af70f5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlaybackPreparer.html @@ -0,0 +1,258 @@ + + + + +PlaybackPreparer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlaybackPreparer

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.AudioComponent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.AudioComponent.html new file mode 100644 index 0000000000..ad0e0d234e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.AudioComponent.html @@ -0,0 +1,489 @@ + + + + +Player.AudioComponent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.AudioComponent

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer
        +
        +
        +
        Enclosing interface:
        +
        Player
        +
        +
        +
        public static interface Player.AudioComponent
        +
        The audio component of a Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addAudioListener

            +
            void addAudioListener​(AudioListener listener)
            +
            Adds a listener to receive audio events.
            +
            +
            Parameters:
            +
            listener - The listener to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeAudioListener

            +
            void removeAudioListener​(AudioListener listener)
            +
            Removes a listener of audio events.
            +
            +
            Parameters:
            +
            listener - The listener to unregister.
            +
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            void setAudioAttributes​(AudioAttributes audioAttributes,
            +                        boolean handleAudioFocus)
            +
            Sets the attributes for audio playback, used by the underlying audio track. If not set, the + default audio attributes will be used. They are suitable for general media playback. + +

            Setting the audio attributes during playback may introduce a short gap in audio output as + the audio track is recreated. A new audio session id will also be generated. + +

            If tunneling is enabled by the track selector, the specified audio attributes will be + ignored, but they will take effect if audio is later played without tunneling. + +

            If the device is running a build before platform API version 21, audio attributes cannot + be set directly on the underlying audio track. In this case, the usage will be mapped onto an + equivalent stream type using Util.getStreamTypeForAudioUsage(int). + +

            If audio focus should be handled, the AudioAttributes.usage must be C.USAGE_MEDIA or C.USAGE_GAME. Other usages will throw an IllegalArgumentException.

            +
            +
            Parameters:
            +
            audioAttributes - The attributes to use for audio playback.
            +
            handleAudioFocus - True if the player should handle audio focus, false otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            getAudioAttributes

            +
            AudioAttributes getAudioAttributes()
            +
            Returns the attributes for audio playback.
            +
          • +
          + + + +
            +
          • +

            setAudioSessionId

            +
            void setAudioSessionId​(int audioSessionId)
            +
            Sets the ID of the audio session to attach to the underlying AudioTrack. + +

            The audio session ID can be generated using C.generateAudioSessionIdV21(Context) + for API 21+.

            +
            +
            Parameters:
            +
            audioSessionId - The audio session ID, or C.AUDIO_SESSION_ID_UNSET if it should + be generated by the framework.
            +
            +
          • +
          + + + +
            +
          • +

            getAudioSessionId

            +
            int getAudioSessionId()
            +
            Returns the audio session identifier, or C.AUDIO_SESSION_ID_UNSET if not set.
            +
          • +
          + + + +
            +
          • +

            setAuxEffectInfo

            +
            void setAuxEffectInfo​(AuxEffectInfo auxEffectInfo)
            +
            Sets information on an auxiliary audio effect to attach to the underlying audio track.
            +
          • +
          + + + +
            +
          • +

            clearAuxEffectInfo

            +
            void clearAuxEffectInfo()
            +
            Detaches any previously attached auxiliary audio effect from the underlying audio track.
            +
          • +
          + + + +
            +
          • +

            setVolume

            +
            void setVolume​(float audioVolume)
            +
            Sets the audio volume, with 0 being silence and 1 being unity gain.
            +
            +
            Parameters:
            +
            audioVolume - The audio volume.
            +
            +
          • +
          + + + +
            +
          • +

            getVolume

            +
            float getVolume()
            +
            Returns the audio volume, with 0 being silence and 1 being unity gain.
            +
          • +
          + + + +
            +
          • +

            setSkipSilenceEnabled

            +
            void setSkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Sets whether skipping silences in the audio stream is enabled.
            +
            +
            Parameters:
            +
            skipSilenceEnabled - Whether skipping silences in the audio stream is enabled.
            +
            +
          • +
          + + + +
            +
          • +

            getSkipSilenceEnabled

            +
            boolean getSkipSilenceEnabled()
            +
            Returns whether skipping silences in the audio stream is enabled.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DefaultEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DefaultEventListener.html new file mode 100644 index 0000000000..0002c5608f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DefaultEventListener.html @@ -0,0 +1,386 @@ + + + + +Player.DefaultEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Player.DefaultEventListener

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.Player.DefaultEventListener
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultEventListener

            +
            public DefaultEventListener()
            +
            Deprecated.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            onTimelineChanged

            +
            public void onTimelineChanged​(Timeline timeline,
            +                              @Nullable
            +                              Object manifest,
            +                              @TimelineChangeReason
            +                              int reason)
            +
            Deprecated.
            +
            Description copied from interface: Player.EventListener
            +
            Called when the timeline and/or manifest has been refreshed. + +

            Note that if the timeline has changed then a position discontinuity may also have + occurred. For example, the current period index may have changed as a result of periods being + added or removed from the timeline. This will not be reported via a separate call to + Player.EventListener.onPositionDiscontinuity(int).

            +
            +
            Specified by:
            +
            onTimelineChanged in interface Player.EventListener
            +
            Parameters:
            +
            timeline - The latest timeline. Never null, but may be empty.
            +
            manifest - The latest manifest in case the timeline has a single window only. Always + null if the timeline has more than a single window.
            +
            reason - The Player.TimelineChangeReason responsible for this timeline change.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DeviceComponent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DeviceComponent.html new file mode 100644 index 0000000000..4db7dcb195 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DeviceComponent.html @@ -0,0 +1,407 @@ + + + + +Player.DeviceComponent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.DeviceComponent

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer
        +
        +
        +
        Enclosing interface:
        +
        Player
        +
        +
        +
        public static interface Player.DeviceComponent
        +
        The device component of a Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addDeviceListener

            +
            void addDeviceListener​(DeviceListener listener)
            +
            Adds a listener to receive device events.
            +
          • +
          + + + +
            +
          • +

            removeDeviceListener

            +
            void removeDeviceListener​(DeviceListener listener)
            +
            Removes a listener of device events.
            +
          • +
          + + + +
            +
          • +

            getDeviceInfo

            +
            DeviceInfo getDeviceInfo()
            +
            Gets the device information.
            +
          • +
          + + + + + + + +
            +
          • +

            isDeviceMuted

            +
            boolean isDeviceMuted()
            +
            Gets whether the device is muted or not.
            +
          • +
          + + + +
            +
          • +

            setDeviceVolume

            +
            void setDeviceVolume​(int volume)
            +
            Sets the volume of the device.
            +
            +
            Parameters:
            +
            volume - The volume to set.
            +
            +
          • +
          + + + +
            +
          • +

            increaseDeviceVolume

            +
            void increaseDeviceVolume()
            +
            Increases the volume of the device.
            +
          • +
          + + + +
            +
          • +

            decreaseDeviceVolume

            +
            void decreaseDeviceVolume()
            +
            Decreases the volume of the device.
            +
          • +
          + + + +
            +
          • +

            setDeviceMuted

            +
            void setDeviceMuted​(boolean muted)
            +
            Sets the mute state of the device.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DiscontinuityReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DiscontinuityReason.html new file mode 100644 index 0000000000..657cbd851f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.DiscontinuityReason.html @@ -0,0 +1,190 @@ + + + + +Player.DiscontinuityReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.DiscontinuityReason

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventFlags.html new file mode 100644 index 0000000000..059db914aa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventFlags.html @@ -0,0 +1,191 @@ + + + + +Player.EventFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.EventFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventListener.html new file mode 100644 index 0000000000..34409c4d4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.EventListener.html @@ -0,0 +1,830 @@ + + + + +Player.EventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.EventListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTimelineChanged

            +
            default void onTimelineChanged​(Timeline timeline,
            +                               @TimelineChangeReason
            +                               int reason)
            +
            Called when the timeline has been refreshed. + +

            Note that if the timeline has changed then a position discontinuity may also have + occurred. For example, the current period index may have changed as a result of periods being + added or removed from the timeline. This will not be reported via a separate call to + onPositionDiscontinuity(int). + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            timeline - The latest timeline. Never null, but may be empty.
            +
            reason - The Player.TimelineChangeReason responsible for this timeline change.
            +
            +
          • +
          + + + +
            +
          • +

            onTimelineChanged

            +
            @Deprecated
            +default void onTimelineChanged​(Timeline timeline,
            +                               @Nullable
            +                               Object manifest,
            +                               @TimelineChangeReason
            +                               int reason)
            +
            Deprecated. +
            Use onTimelineChanged(Timeline, int) instead. The manifest can be + accessed by using Player.getCurrentManifest() or timeline.getWindow(windowIndex, + window).manifest for a given window index.
            +
            +
            Called when the timeline and/or manifest has been refreshed. + +

            Note that if the timeline has changed then a position discontinuity may also have + occurred. For example, the current period index may have changed as a result of periods being + added or removed from the timeline. This will not be reported via a separate call to + onPositionDiscontinuity(int).

            +
            +
            Parameters:
            +
            timeline - The latest timeline. Never null, but may be empty.
            +
            manifest - The latest manifest in case the timeline has a single window only. Always + null if the timeline has more than a single window.
            +
            reason - The Player.TimelineChangeReason responsible for this timeline change.
            +
            +
          • +
          + + + +
            +
          • +

            onMediaItemTransition

            +
            default void onMediaItemTransition​(@Nullable
            +                                   MediaItem mediaItem,
            +                                   @MediaItemTransitionReason
            +                                   int reason)
            +
            Called when playback transitions to a media item or starts repeating a media item according + to the current repeat mode. + +

            Note that this callback is also called when the playlist becomes non-empty or empty as a + consequence of a playlist change. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            mediaItem - The MediaItem. May be null if the playlist becomes empty.
            +
            reason - The reason for the transition.
            +
            +
          • +
          + + + +
            +
          • +

            onTracksChanged

            +
            default void onTracksChanged​(TrackGroupArray trackGroups,
            +                             TrackSelectionArray trackSelections)
            +
            Called when the available or selected tracks change. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            trackGroups - The available tracks. Never null, but may be of length zero.
            +
            trackSelections - The track selections for each renderer. Never null and always of + length Player.getRendererCount(), but may contain null elements.
            +
            +
          • +
          + + + +
            +
          • +

            onStaticMetadataChanged

            +
            default void onStaticMetadataChanged​(List<Metadata> metadataList)
            +
            Called when the static metadata changes. + +

            The provided metadataList is an immutable list of Metadata instances, + where the elements correspond to the current track + selections, or an empty list if there are no track selections or the selected tracks contain + no static metadata. + +

            The metadata is considered static in the sense that it comes from the tracks' declared + Formats, rather than being timed (or dynamic) metadata, which is represented within a + metadata track. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            metadataList - The static metadata.
            +
            +
          • +
          + + + +
            +
          • +

            onIsLoadingChanged

            +
            default void onIsLoadingChanged​(boolean isLoading)
            +
            Called when the player starts or stops loading the source. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            isLoading - Whether the source is currently being loaded.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onPlaybackStateChanged

            +
            default void onPlaybackStateChanged​(@State
            +                                    int state)
            +
            Called when the value returned from Player.getPlaybackState() changes. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            state - The new playback state.
            +
            +
          • +
          + + + +
            +
          • +

            onPlayWhenReadyChanged

            +
            default void onPlayWhenReadyChanged​(boolean playWhenReady,
            +                                    @PlayWhenReadyChangeReason
            +                                    int reason)
            +
            Called when the value returned from Player.getPlayWhenReady() changes. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            playWhenReady - Whether playback will proceed when ready.
            +
            reason - The reason for the change.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onIsPlayingChanged

            +
            default void onIsPlayingChanged​(boolean isPlaying)
            +
            Called when the value of Player.isPlaying() changes. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            isPlaying - Whether the player is playing.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onShuffleModeEnabledChanged

            +
            default void onShuffleModeEnabledChanged​(boolean shuffleModeEnabled)
            +
            Called when the value of Player.getShuffleModeEnabled() changes. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling of windows is enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onPlayerError

            +
            default void onPlayerError​(ExoPlaybackException error)
            +
            Called when an error occurs. The playback state will transition to Player.STATE_IDLE + immediately after this method is called. The player instance can still be used, and Player.release() must still be called on the player should it no longer be required. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            error - The error.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionDiscontinuity

            +
            default void onPositionDiscontinuity​(@DiscontinuityReason
            +                                     int reason)
            +
            Called when a position discontinuity occurs without a change to the timeline. A position + discontinuity occurs when the current window or period index changes (as a result of playback + transitioning from one period in the timeline to the next), or when the playback position + jumps within the period currently being played (as a result of a seek being performed, or + when the source introduces a discontinuity internally). + +

            When a position discontinuity occurs as a result of a change to the timeline this method + is not called. onTimelineChanged(Timeline, int) is called in this case. + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            reason - The Player.DiscontinuityReason responsible for the discontinuity.
            +
            +
          • +
          + + + +
            +
          • +

            onPlaybackParametersChanged

            +
            default void onPlaybackParametersChanged​(PlaybackParameters playbackParameters)
            +
            Called when the current playback parameters change. The playback parameters may change due to + a call to Player.setPlaybackParameters(PlaybackParameters), or the player itself may change + them (for example, if audio playback switches to passthrough or offload mode, where speed + adjustment is no longer possible). + +

            onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Parameters:
            +
            playbackParameters - The playback parameters.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onExperimentalOffloadSchedulingEnabledChanged

            +
            default void onExperimentalOffloadSchedulingEnabledChanged​(boolean offloadSchedulingEnabled)
            +
            Called when the player has started or stopped offload scheduling. + +

            If using ExoPlayer, this is done by calling + ExoPlayer#experimentalSetOffloadSchedulingEnabled(boolean). + +

            This method is experimental, and will be renamed or removed in a future release.

            +
          • +
          + + + +
            +
          • +

            onExperimentalSleepingForOffloadChanged

            +
            default void onExperimentalSleepingForOffloadChanged​(boolean sleepingForOffload)
            +
            Called when the player has started or finished sleeping for offload. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.Events.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.Events.html new file mode 100644 index 0000000000..b309cc36b8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.Events.html @@ -0,0 +1,382 @@ + + + + +Player.Events (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Player.Events

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Events

            +
            public Events()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            contains

            +
            public boolean contains​(@EventFlags
            +                        int event)
            +
            Returns whether the given event occurred.
            +
            +
            Overrides:
            +
            contains in class MutableFlags
            +
            Parameters:
            +
            event - The event.
            +
            Returns:
            +
            Whether the event occurred.
            +
            +
          • +
          + + + +
            +
          • +

            containsAny

            +
            public boolean containsAny​(@EventFlags
            +                           int... events)
            +
            Returns whether any of the given events occurred.
            +
            +
            Overrides:
            +
            containsAny in class MutableFlags
            +
            Parameters:
            +
            events - The events.
            +
            Returns:
            +
            Whether any of the events occurred.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            @EventFlags
            +public int get​(int index)
            +
            Returns the event at the given index. + +

            Although index-based access is possible, it doesn't imply a particular order of these + events.

            +
            +
            Overrides:
            +
            get in class MutableFlags
            +
            Parameters:
            +
            index - The index. Must be between 0 (inclusive) and MutableFlags.size() (exclusive).
            +
            Returns:
            +
            The event at the given index.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MediaItemTransitionReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MediaItemTransitionReason.html new file mode 100644 index 0000000000..01e4eef0b4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MediaItemTransitionReason.html @@ -0,0 +1,189 @@ + + + + +Player.MediaItemTransitionReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.MediaItemTransitionReason

      +
      +
      + +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MetadataComponent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MetadataComponent.html new file mode 100644 index 0000000000..0bad388511 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.MetadataComponent.html @@ -0,0 +1,283 @@ + + + + +Player.MetadataComponent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.MetadataComponent

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer
        +
        +
        +
        Enclosing interface:
        +
        Player
        +
        +
        +
        public static interface Player.MetadataComponent
        +
        The metadata component of a Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addMetadataOutput

            +
            void addMetadataOutput​(MetadataOutput output)
            +
            Adds a MetadataOutput to receive metadata.
            +
            +
            Parameters:
            +
            output - The output to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeMetadataOutput

            +
            void removeMetadataOutput​(MetadataOutput output)
            +
            Removes a MetadataOutput.
            +
            +
            Parameters:
            +
            output - The output to remove.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlayWhenReadyChangeReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlayWhenReadyChangeReason.html new file mode 100644 index 0000000000..0e8347618d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlayWhenReadyChangeReason.html @@ -0,0 +1,189 @@ + + + + +Player.PlayWhenReadyChangeReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.PlayWhenReadyChangeReason

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlaybackSuppressionReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlaybackSuppressionReason.html new file mode 100644 index 0000000000..37be022c24 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.PlaybackSuppressionReason.html @@ -0,0 +1,190 @@ + + + + +Player.PlaybackSuppressionReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.PlaybackSuppressionReason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.RepeatMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.RepeatMode.html new file mode 100644 index 0000000000..d3d4b464af --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.RepeatMode.html @@ -0,0 +1,189 @@ + + + + +Player.RepeatMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.RepeatMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.State.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.State.html new file mode 100644 index 0000000000..0b72893ecf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.State.html @@ -0,0 +1,190 @@ + + + + +Player.State (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.State

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TextComponent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TextComponent.html new file mode 100644 index 0000000000..7c20c2233a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TextComponent.html @@ -0,0 +1,300 @@ + + + + +Player.TextComponent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.TextComponent

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer
        +
        +
        +
        Enclosing interface:
        +
        Player
        +
        +
        +
        public static interface Player.TextComponent
        +
        The text component of a Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addTextOutput

            +
            void addTextOutput​(TextOutput listener)
            +
            Registers an output to receive text events.
            +
            +
            Parameters:
            +
            listener - The output to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeTextOutput

            +
            void removeTextOutput​(TextOutput listener)
            +
            Removes a text output.
            +
            +
            Parameters:
            +
            listener - The output to remove.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentCues

            +
            List<Cue> getCurrentCues()
            +
            Returns the current Cues. This list may be empty.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TimelineChangeReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TimelineChangeReason.html new file mode 100644 index 0000000000..f8d7ec3d81 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.TimelineChangeReason.html @@ -0,0 +1,189 @@ + + + + +Player.TimelineChangeReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Player.TimelineChangeReason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.VideoComponent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.VideoComponent.html new file mode 100644 index 0000000000..566f2255e4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.VideoComponent.html @@ -0,0 +1,625 @@ + + + + +Player.VideoComponent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player.VideoComponent

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleExoPlayer
        +
        +
        +
        Enclosing interface:
        +
        Player
        +
        +
        +
        public static interface Player.VideoComponent
        +
        The video component of a Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            addVideoListener

            +
            void addVideoListener​(VideoListener listener)
            +
            Adds a listener to receive video events.
            +
            +
            Parameters:
            +
            listener - The listener to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeVideoListener

            +
            void removeVideoListener​(VideoListener listener)
            +
            Removes a listener of video events.
            +
            +
            Parameters:
            +
            listener - The listener to unregister.
            +
            +
          • +
          + + + +
            +
          • +

            setVideoFrameMetadataListener

            +
            void setVideoFrameMetadataListener​(VideoFrameMetadataListener listener)
            +
            Sets a listener to receive video frame metadata events. + +

            This method is intended to be called by the same component that sets the Surface + onto which video will be rendered. If using ExoPlayer's standard UI components, this method + should not be called directly from application code.

            +
            +
            Parameters:
            +
            listener - The listener.
            +
            +
          • +
          + + + +
            +
          • +

            clearVideoFrameMetadataListener

            +
            void clearVideoFrameMetadataListener​(VideoFrameMetadataListener listener)
            +
            Clears the listener which receives video frame metadata events if it matches the one passed. + Else does nothing.
            +
            +
            Parameters:
            +
            listener - The listener to clear.
            +
            +
          • +
          + + + +
            +
          • +

            setCameraMotionListener

            +
            void setCameraMotionListener​(CameraMotionListener listener)
            +
            Sets a listener of camera motion events.
            +
            +
            Parameters:
            +
            listener - The listener.
            +
            +
          • +
          + + + +
            +
          • +

            clearCameraMotionListener

            +
            void clearCameraMotionListener​(CameraMotionListener listener)
            +
            Clears the listener which receives camera motion events if it matches the one passed. Else + does nothing.
            +
            +
            Parameters:
            +
            listener - The listener to clear.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            clearVideoSurface

            +
            void clearVideoSurface​(@Nullable
            +                       Surface surface)
            +
            Clears the Surface onto which video is being rendered if it matches the one passed. + Else does nothing.
            +
            +
            Parameters:
            +
            surface - The surface to clear.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setVideoSurfaceHolder

            +
            void setVideoSurfaceHolder​(@Nullable
            +                           SurfaceHolder surfaceHolder)
            +
            Sets the SurfaceHolder that holds the Surface onto which video will be + rendered. The player will track the lifecycle of the surface automatically.
            +
            +
            Parameters:
            +
            surfaceHolder - The surface holder.
            +
            +
          • +
          + + + +
            +
          • +

            clearVideoSurfaceHolder

            +
            void clearVideoSurfaceHolder​(@Nullable
            +                             SurfaceHolder surfaceHolder)
            +
            Clears the SurfaceHolder that holds the Surface onto which video is being + rendered if it matches the one passed. Else does nothing.
            +
            +
            Parameters:
            +
            surfaceHolder - The surface holder to clear.
            +
            +
          • +
          + + + +
            +
          • +

            setVideoSurfaceView

            +
            void setVideoSurfaceView​(@Nullable
            +                         SurfaceView surfaceView)
            +
            Sets the SurfaceView onto which video will be rendered. The player will track the + lifecycle of the surface automatically.
            +
            +
            Parameters:
            +
            surfaceView - The surface view.
            +
            +
          • +
          + + + +
            +
          • +

            clearVideoSurfaceView

            +
            void clearVideoSurfaceView​(@Nullable
            +                           SurfaceView surfaceView)
            +
            Clears the SurfaceView onto which video is being rendered if it matches the one + passed. Else does nothing.
            +
            +
            Parameters:
            +
            surfaceView - The texture view to clear.
            +
            +
          • +
          + + + +
            +
          • +

            setVideoTextureView

            +
            void setVideoTextureView​(@Nullable
            +                         TextureView textureView)
            +
            Sets the TextureView onto which video will be rendered. The player will track the + lifecycle of the surface automatically.
            +
            +
            Parameters:
            +
            textureView - The texture view.
            +
            +
          • +
          + + + +
            +
          • +

            clearVideoTextureView

            +
            void clearVideoTextureView​(@Nullable
            +                           TextureView textureView)
            +
            Clears the TextureView onto which video is being rendered if it matches the one + passed. Else does nothing.
            +
            +
            Parameters:
            +
            textureView - The texture view to clear.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.html new file mode 100644 index 0000000000..99c1ffeaaa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Player.html @@ -0,0 +1,3020 @@ + + + + +Player (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Player

      +
      +
      +
      +
        +
      • +
        +
        All Known Subinterfaces:
        +
        ExoPlayer
        +
        +
        +
        All Known Implementing Classes:
        +
        BasePlayer, CastPlayer, SimpleExoPlayer, StubExoPlayer
        +
        +
        +
        public interface Player
        +
        A media player interface defining traditional high-level functionality, such as the ability to + play, pause, seek and query properties of the currently playing media. + +

        Some important properties of media players that implement this interface are: + +

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            STATE_IDLE

            +
            static final int STATE_IDLE
            +
            The player does not have any media to play.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_BUFFERING

            +
            static final int STATE_BUFFERING
            +
            The player is not able to immediately play from its current position. This state typically + occurs when more data needs to be loaded.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_READY

            +
            static final int STATE_READY
            +
            The player is able to immediately play from its current position. The player will be playing if + getPlayWhenReady() is true, and paused otherwise.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_ENDED

            +
            static final int STATE_ENDED
            +
            The player has finished playing the media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS

            +
            static final int PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS
            +
            Playback has been paused because of a loss of audio focus.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY

            +
            static final int PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY
            +
            Playback has been paused to avoid becoming noisy.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAY_WHEN_READY_CHANGE_REASON_REMOTE

            +
            static final int PLAY_WHEN_READY_CHANGE_REASON_REMOTE
            +
            Playback has been started or paused because of a remote change.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM

            +
            static final int PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM
            +
            Playback has been paused at the end of a media item.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_SUPPRESSION_REASON_NONE

            +
            static final int PLAYBACK_SUPPRESSION_REASON_NONE
            +
            Playback is not suppressed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS

            +
            static final int PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS
            +
            Playback is suppressed due to transient audio focus loss.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REPEAT_MODE_OFF

            +
            static final int REPEAT_MODE_OFF
            +
            Normal playback without repetition. "Previous" and "Next" actions move to the previous and next + windows respectively, and do nothing when there is no previous or next window to move to.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REPEAT_MODE_ONE

            +
            static final int REPEAT_MODE_ONE
            +
            Repeats the currently playing window infinitely during ongoing playback. "Previous" and "Next" + actions behave as they do in REPEAT_MODE_OFF, moving to the previous and next windows + respectively, and doing nothing when there is no previous or next window to move to.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REPEAT_MODE_ALL

            +
            static final int REPEAT_MODE_ALL
            +
            Repeats the entire timeline infinitely. "Previous" and "Next" actions behave as they do in + REPEAT_MODE_OFF, but with looping at the ends so that "Previous" when playing the + first window will move to the last window, and "Next" when playing the last window will move to + the first window.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCONTINUITY_REASON_PERIOD_TRANSITION

            +
            static final int DISCONTINUITY_REASON_PERIOD_TRANSITION
            +
            Automatic playback transition from one period in the timeline to the next. The period index may + be the same as it was before the discontinuity in case the current period is repeated.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCONTINUITY_REASON_SEEK

            +
            static final int DISCONTINUITY_REASON_SEEK
            +
            Seek within the current period or to another period.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCONTINUITY_REASON_SEEK_ADJUSTMENT

            +
            static final int DISCONTINUITY_REASON_SEEK_ADJUSTMENT
            +
            Seek adjustment due to being unable to seek to the requested position or because the seek was + permitted to be inexact.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCONTINUITY_REASON_AD_INSERTION

            +
            static final int DISCONTINUITY_REASON_AD_INSERTION
            +
            Discontinuity to or from an ad within one period in the timeline.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCONTINUITY_REASON_INTERNAL

            +
            static final int DISCONTINUITY_REASON_INTERNAL
            +
            Discontinuity introduced internally by the source.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED

            +
            static final int TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED
            +
            Timeline changed as a result of a change of the playlist items or the order of the items.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TIMELINE_CHANGE_REASON_SOURCE_UPDATE

            +
            static final int TIMELINE_CHANGE_REASON_SOURCE_UPDATE
            +
            Timeline changed as a result of a dynamic update introduced by the played media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MEDIA_ITEM_TRANSITION_REASON_REPEAT

            +
            static final int MEDIA_ITEM_TRANSITION_REASON_REPEAT
            +
            The media item has been repeated.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MEDIA_ITEM_TRANSITION_REASON_AUTO

            +
            static final int MEDIA_ITEM_TRANSITION_REASON_AUTO
            +
            Playback has automatically transitioned to the next media item.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MEDIA_ITEM_TRANSITION_REASON_SEEK

            +
            static final int MEDIA_ITEM_TRANSITION_REASON_SEEK
            +
            A seek to another media item has occurred.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED

            +
            static final int MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED
            +
            The current media item has changed because of a change in the playlist. This can either be if + the media item previously being played has been removed, or when the playlist becomes non-empty + after being empty.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAudioComponent

            +
            @Nullable
            +Player.AudioComponent getAudioComponent()
            +
            Returns the component of this player for audio output, or null if audio is not supported.
            +
          • +
          + + + +
            +
          • +

            getVideoComponent

            +
            @Nullable
            +Player.VideoComponent getVideoComponent()
            +
            Returns the component of this player for video output, or null if video is not supported.
            +
          • +
          + + + +
            +
          • +

            getTextComponent

            +
            @Nullable
            +Player.TextComponent getTextComponent()
            +
            Returns the component of this player for text output, or null if text is not supported.
            +
          • +
          + + + +
            +
          • +

            getMetadataComponent

            +
            @Nullable
            +Player.MetadataComponent getMetadataComponent()
            +
            Returns the component of this player for metadata output, or null if metadata is not supported.
            +
          • +
          + + + +
            +
          • +

            getDeviceComponent

            +
            @Nullable
            +Player.DeviceComponent getDeviceComponent()
            +
            Returns the component of this player for playback device, or null if it's not supported.
            +
          • +
          + + + +
            +
          • +

            getApplicationLooper

            +
            Looper getApplicationLooper()
            +
            Returns the Looper associated with the application thread that's used to access the + player and on which player events are received.
            +
          • +
          + + + +
            +
          • +

            addListener

            +
            void addListener​(Player.EventListener listener)
            +
            Register a listener to receive events from the player. The listener's methods will be called on + the thread that was used to construct the player. However, if the thread used to construct the + player does not have a Looper, then the listener will be called on the main thread.
            +
            +
            Parameters:
            +
            listener - The listener to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            void removeListener​(Player.EventListener listener)
            +
            Unregister a listener. The listener will no longer receive events from the player.
            +
            +
            Parameters:
            +
            listener - The listener to unregister.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItems

            +
            void setMediaItems​(List<MediaItem> mediaItems)
            +
            Clears the playlist, adds the specified MediaItems and resets the position to + the default position.
            +
            +
            Parameters:
            +
            mediaItems - The new MediaItems.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setMediaItems

            +
            void setMediaItems​(List<MediaItem> mediaItems,
            +                   int startWindowIndex,
            +                   long startPositionMs)
            +
            Clears the playlist and adds the specified MediaItems.
            +
            +
            Parameters:
            +
            mediaItems - The new MediaItems.
            +
            startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is + passed, the current position is not reset.
            +
            startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if + startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the + position is not reset at all.
            +
            Throws:
            +
            IllegalSeekPositionException - If the provided windowIndex is not within the + bounds of the list of media items.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            void setMediaItem​(MediaItem mediaItem)
            +
            Clears the playlist, adds the specified MediaItem and resets the position to the + default position.
            +
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            void setMediaItem​(MediaItem mediaItem,
            +                  long startPositionMs)
            +
            Clears the playlist and adds the specified MediaItem.
            +
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            startPositionMs - The position in milliseconds to start playback from.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            void setMediaItem​(MediaItem mediaItem,
            +                  boolean resetPosition)
            +
            Clears the playlist and adds the specified MediaItem.
            +
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            resetPosition - Whether the playback position should be reset to the default position. If + false, playback will start from the position defined by getCurrentWindowIndex() + and getCurrentPosition().
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItem

            +
            void addMediaItem​(MediaItem mediaItem)
            +
            Adds a media item to the end of the playlist.
            +
            +
            Parameters:
            +
            mediaItem - The MediaItem to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItem

            +
            void addMediaItem​(int index,
            +                  MediaItem mediaItem)
            +
            Adds a media item at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to add the item.
            +
            mediaItem - The MediaItem to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            void addMediaItems​(List<MediaItem> mediaItems)
            +
            Adds a list of media items to the end of the playlist.
            +
            +
            Parameters:
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            void addMediaItems​(int index,
            +                   List<MediaItem> mediaItems)
            +
            Adds a list of media items at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to add the media items.
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItem

            +
            void moveMediaItem​(int currentIndex,
            +                   int newIndex)
            +
            Moves the media item at the current index to the new index.
            +
            +
            Parameters:
            +
            currentIndex - The current index of the media item to move.
            +
            newIndex - The new index of the media item. If the new index is larger than the size of + the playlist the item is moved to the end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItems

            +
            void moveMediaItems​(int fromIndex,
            +                    int toIndex,
            +                    int newIndex)
            +
            Moves the media item range to the new index.
            +
            +
            Parameters:
            +
            fromIndex - The start of the range to move.
            +
            toIndex - The first item not to be included in the range (exclusive).
            +
            newIndex - The new index of the first media item of the range. If the new index is larger + than the size of the remaining playlist after removing the range, the range is moved to the + end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItem

            +
            void removeMediaItem​(int index)
            +
            Removes the media item at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to remove the media item.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItems

            +
            void removeMediaItems​(int fromIndex,
            +                      int toIndex)
            +
            Removes a range of media items from the playlist.
            +
            +
            Parameters:
            +
            fromIndex - The index at which to start removing media items.
            +
            toIndex - The index of the first item to be kept (exclusive).
            +
            +
          • +
          + + + +
            +
          • +

            clearMediaItems

            +
            void clearMediaItems()
            +
            Clears the playlist.
            +
          • +
          + + + +
            +
          • +

            prepare

            +
            void prepare()
            +
            Prepares the player.
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            pause

            +
            void pause()
            +
            Pauses playback. Equivalent to setPlayWhenReady(false).
            +
          • +
          + + + +
            +
          • +

            setPlayWhenReady

            +
            void setPlayWhenReady​(boolean playWhenReady)
            +
            Sets whether playback should proceed when getPlaybackState() == STATE_READY. + +

            If the player is already in the ready state then this method pauses and resumes playback.

            +
            +
            Parameters:
            +
            playWhenReady - Whether playback should proceed when ready.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setRepeatMode

            +
            void setRepeatMode​(@RepeatMode
            +                   int repeatMode)
            +
            Sets the Player.RepeatMode to be used for playback.
            +
            +
            Parameters:
            +
            repeatMode - The repeat mode.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setShuffleModeEnabled

            +
            void setShuffleModeEnabled​(boolean shuffleModeEnabled)
            +
            Sets whether shuffling of windows is enabled.
            +
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            seekToDefaultPosition

            +
            void seekToDefaultPosition()
            +
            Seeks to the default position associated with the current window. The position can depend on + the type of media being played. For live streams it will typically be the live edge of the + window. For other streams it will typically be the start of the window.
            +
          • +
          + + + +
            +
          • +

            seekToDefaultPosition

            +
            void seekToDefaultPosition​(int windowIndex)
            +
            Seeks to the default position associated with the specified window. The position can depend on + the type of media being played. For live streams it will typically be the live edge of the + window. For other streams it will typically be the start of the window.
            +
            +
            Parameters:
            +
            windowIndex - The index of the window whose associated default position should be seeked + to.
            +
            Throws:
            +
            IllegalSeekPositionException - If the player has a non-empty timeline and the provided + windowIndex is not within the bounds of the current timeline.
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            void seekTo​(long positionMs)
            +
            Seeks to a position specified in milliseconds in the current window.
            +
            +
            Parameters:
            +
            positionMs - The seek position in the current window, or C.TIME_UNSET to seek to + the window's default position.
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            void seekTo​(int windowIndex,
            +            long positionMs)
            +
            Seeks to a position specified in milliseconds in the specified window.
            +
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            positionMs - The seek position in the specified window, or C.TIME_UNSET to seek to + the window's default position.
            +
            Throws:
            +
            IllegalSeekPositionException - If the player has a non-empty timeline and the provided + windowIndex is not within the bounds of the current timeline.
            +
            +
          • +
          + + + +
            +
          • +

            hasPrevious

            +
            boolean hasPrevious()
            +
            Returns whether a previous window exists, which may depend on the current repeat mode and + whether shuffle mode is enabled. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + +
            +
          • +

            previous

            +
            void previous()
            +
            Seeks to the default position of the previous window, which may depend on the current repeat + mode and whether shuffle mode is enabled. Does nothing if hasPrevious() is + false. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + +
            +
          • +

            hasNext

            +
            boolean hasNext()
            +
            Returns whether a next window exists, which may depend on the current repeat mode and whether + shuffle mode is enabled. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + +
            +
          • +

            next

            +
            void next()
            +
            Seeks to the default position of the next window, which may depend on the current repeat mode + and whether shuffle mode is enabled. Does nothing if hasNext() is false. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            void setPlaybackParameters​(@Nullable
            +                           PlaybackParameters playbackParameters)
            +
            Attempts to set the playback parameters. Passing null sets the parameters to the + default, PlaybackParameters.DEFAULT, which means there is no speed or pitch adjustment. + +

            Playback parameters changes may cause the player to buffer. Player.EventListener.onPlaybackParametersChanged(PlaybackParameters) will be called whenever the + currently active playback parameters change.

            +
            +
            Parameters:
            +
            playbackParameters - The playback parameters, or null to use the defaults.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            stop

            +
            void stop()
            +
            Stops playback without resetting the player. Use pause() rather than this method if + the intention is to pause playback. + +

            Calling this method will cause the playback state to transition to STATE_IDLE. The + player instance can still be used, and release() must still be called on the player if + it's no longer required. + +

            Calling this method does not clear the playlist, reset the playback position or the playback + error.

            +
          • +
          + + + + + + + +
            +
          • +

            release

            +
            void release()
            +
            Releases the player. This method must be called when the player is no longer required. The + player must not be used after calling this method.
            +
          • +
          + + + +
            +
          • +

            getRendererCount

            +
            int getRendererCount()
            +
            Returns the number of renderers.
            +
          • +
          + + + +
            +
          • +

            getRendererType

            +
            int getRendererType​(int index)
            +
            Returns the track type that the renderer at a given index handles. + +

            For example, a video renderer will return C.TRACK_TYPE_VIDEO, an audio renderer will + return C.TRACK_TYPE_AUDIO and a text renderer will return C.TRACK_TYPE_TEXT.

            +
            +
            Parameters:
            +
            index - The index of the renderer.
            +
            Returns:
            +
            One of the TRACK_TYPE_* constants defined in C.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentTrackSelections

            +
            TrackSelectionArray getCurrentTrackSelections()
            +
            Returns the current track selections for each renderer. + +

            A concrete implementation may include null elements if it has a fixed number of renderer + components, wishes to report a TrackSelection for each of them, and has one or more renderer + components that is not assigned any selected tracks.

            +
          • +
          + + + +
            +
          • +

            getCurrentStaticMetadata

            +
            List<Metadata> getCurrentStaticMetadata()
            +
            Returns the current static metadata for the track selections. + +

            The returned metadataList is an immutable list of Metadata instances, where + the elements correspond to the current track selections, + or an empty list if there are no track selections or the selected tracks contain no static + metadata. + +

            This metadata is considered static in that it comes from the tracks' declared Formats, + rather than being timed (or dynamic) metadata, which is represented within a metadata track.

            +
            +
            See Also:
            +
            Player.EventListener.onStaticMetadataChanged(List)
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentManifest

            +
            @Nullable
            +Object getCurrentManifest()
            +
            Returns the current manifest. The type depends on the type of media being played. May be null.
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentPeriodIndex

            +
            int getCurrentPeriodIndex()
            +
            Returns the index of the period currently being played.
            +
          • +
          + + + +
            +
          • +

            getCurrentWindowIndex

            +
            int getCurrentWindowIndex()
            +
            Returns the index of the current window in the timeline, or the prospective window index if the current timeline is empty.
            +
          • +
          + + + +
            +
          • +

            getNextWindowIndex

            +
            int getNextWindowIndex()
            +
            Returns the index of the window that will be played if next() is called, which may + depend on the current repeat mode and whether shuffle mode is enabled. Returns C.INDEX_UNSET if hasNext() is false. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + +
            +
          • +

            getPreviousWindowIndex

            +
            int getPreviousWindowIndex()
            +
            Returns the index of the window that will be played if previous() is called, which may + depend on the current repeat mode and whether shuffle mode is enabled. Returns C.INDEX_UNSET if hasPrevious() is false. + +

            Note: When the repeat mode is REPEAT_MODE_ONE, this method behaves the same as when + the current repeat mode is REPEAT_MODE_OFF. See REPEAT_MODE_ONE for more + details.

            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getMediaItemCount

            +
            int getMediaItemCount()
            +
            Returns the number of media items in the playlist.
            +
          • +
          + + + +
            +
          • +

            getMediaItemAt

            +
            MediaItem getMediaItemAt​(int index)
            +
            Returns the MediaItem at the given index.
            +
          • +
          + + + +
            +
          • +

            getDuration

            +
            long getDuration()
            +
            Returns the duration of the current content window or ad in milliseconds, or C.TIME_UNSET if the duration is not known.
            +
          • +
          + + + +
            +
          • +

            getCurrentPosition

            +
            long getCurrentPosition()
            +
            Returns the playback position in the current content window or ad, in milliseconds, or the + prospective position in milliseconds if the current timeline is + empty.
            +
          • +
          + + + +
            +
          • +

            getBufferedPosition

            +
            long getBufferedPosition()
            +
            Returns an estimate of the position in the current content window or ad up to which data is + buffered, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getBufferedPercentage

            +
            int getBufferedPercentage()
            +
            Returns an estimate of the percentage in the current content window or ad up to which data is + buffered, or 0 if no estimate is available.
            +
          • +
          + + + +
            +
          • +

            getTotalBufferedDuration

            +
            long getTotalBufferedDuration()
            +
            Returns an estimate of the total buffered duration from the current position, in milliseconds. + This includes pre-buffered data for subsequent ads and windows.
            +
          • +
          + + + +
            +
          • +

            isCurrentWindowDynamic

            +
            boolean isCurrentWindowDynamic()
            +
            Returns whether the current window is dynamic, or false if the Timeline is + empty.
            +
            +
            See Also:
            +
            Timeline.Window.isDynamic
            +
            +
          • +
          + + + +
            +
          • +

            isCurrentWindowLive

            +
            boolean isCurrentWindowLive()
            +
            Returns whether the current window is live, or false if the Timeline is empty.
            +
            +
            See Also:
            +
            Timeline.Window.isLive()
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentLiveOffset

            +
            long getCurrentLiveOffset()
            +
            Returns the offset of the current playback position from the live edge in milliseconds, or + C.TIME_UNSET if the current window isn't live or the + offset is unknown. + +

            The offset is calculated as currentTime - playbackPosition, so should usually be + positive. + +

            Note that this offset may rely on an accurate local time, so this method may return an + incorrect value if the difference between system clock and server clock is unknown.

            +
          • +
          + + + +
            +
          • +

            isCurrentWindowSeekable

            +
            boolean isCurrentWindowSeekable()
            +
            Returns whether the current window is seekable, or false if the Timeline is + empty.
            +
            +
            See Also:
            +
            Timeline.Window.isSeekable
            +
            +
          • +
          + + + +
            +
          • +

            isPlayingAd

            +
            boolean isPlayingAd()
            +
            Returns whether the player is currently playing an ad.
            +
          • +
          + + + +
            +
          • +

            getCurrentAdGroupIndex

            +
            int getCurrentAdGroupIndex()
            +
            If isPlayingAd() returns true, returns the index of the ad group in the period + currently being played. Returns C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            getCurrentAdIndexInAdGroup

            +
            int getCurrentAdIndexInAdGroup()
            +
            If isPlayingAd() returns true, returns the index of the ad in its ad group. Returns + C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            getContentDuration

            +
            long getContentDuration()
            +
            If isPlayingAd() returns true, returns the duration of the current content + window in milliseconds, or C.TIME_UNSET if the duration is not known. If there is no ad + playing, the returned duration is the same as that returned by getDuration().
            +
          • +
          + + + +
            +
          • +

            getContentPosition

            +
            long getContentPosition()
            +
            If isPlayingAd() returns true, returns the content position that will be + played once all ads in the ad group have finished playing, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by getCurrentPosition().
            +
          • +
          + + + +
            +
          • +

            getContentBufferedPosition

            +
            long getContentBufferedPosition()
            +
            If isPlayingAd() returns true, returns an estimate of the content position in + the current content window up to which data is buffered, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by getBufferedPosition().
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Sender.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Sender.html new file mode 100644 index 0000000000..4996d04140 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Sender.html @@ -0,0 +1,258 @@ + + + + +PlayerMessage.Sender (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerMessage.Sender

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerMessage
        +
        +
        +
        public static interface PlayerMessage.Sender
        +
        A sender for messages.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sendMessage

            +
            void sendMessage​(PlayerMessage message)
            +
            Sends a message.
            +
            +
            Parameters:
            +
            message - The message to be sent.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Target.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Target.html new file mode 100644 index 0000000000..1a71a1c9cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.Target.html @@ -0,0 +1,274 @@ + + + + +PlayerMessage.Target (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerMessage.Target

      +
      +
      + +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            handleMessage

            +
            void handleMessage​(int messageType,
            +                   @Nullable
            +                   Object payload)
            +            throws ExoPlaybackException
            +
            Handles a message delivered to the target.
            +
            +
            Parameters:
            +
            messageType - The message type.
            +
            payload - The message payload.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurred whilst handling the message. Should only be + thrown by targets that handle messages on the playback thread.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.html new file mode 100644 index 0000000000..ecb06ae714 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/PlayerMessage.html @@ -0,0 +1,822 @@ + + + + +PlayerMessage (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerMessage

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerMessage

            +
            public PlayerMessage​(PlayerMessage.Sender sender,
            +                     PlayerMessage.Target target,
            +                     Timeline timeline,
            +                     int defaultWindowIndex,
            +                     Clock clock,
            +                     Looper defaultLooper)
            +
            Creates a new message.
            +
            +
            Parameters:
            +
            sender - The PlayerMessage.Sender used to send the message.
            +
            target - The PlayerMessage.Target the message is sent to.
            +
            timeline - The timeline used when setting the position with setPosition(long). If + set to Timeline.EMPTY, any position can be specified.
            +
            defaultWindowIndex - The default window index in the timeline when no other window + index is specified.
            +
            clock - The Clock.
            +
            defaultLooper - The default Looper to send the message on when no other looper is + specified.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getTimeline

            +
            public Timeline getTimeline()
            +
            Returns the timeline used for setting the position with setPosition(long).
            +
          • +
          + + + +
            +
          • +

            getTarget

            +
            public PlayerMessage.Target getTarget()
            +
            Returns the target the message is sent to.
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            getLooper

            +
            public Looper getLooper()
            +
            Returns the Looper the message is delivered on.
            +
          • +
          + + + +
            +
          • +

            getPositionMs

            +
            public long getPositionMs()
            +
            Returns position in window at getWindowIndex() at which the message will be delivered, + in milliseconds. If C.TIME_UNSET, the message will be delivered immediately. If C.TIME_END_OF_SOURCE, the message will be delivered at the end of the window at getWindowIndex().
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public PlayerMessage setPosition​(long positionMs)
            +
            Sets a position in the current window at which the message will be delivered.
            +
            +
            Parameters:
            +
            positionMs - The position in the current window at which the message will be sent, in + milliseconds, or C.TIME_END_OF_SOURCE to deliver the message at the end of the + current window.
            +
            Returns:
            +
            This message.
            +
            Throws:
            +
            IllegalStateException - If send() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public PlayerMessage setPosition​(int windowIndex,
            +                                 long positionMs)
            +
            Sets a position in a window at which the message will be delivered.
            +
            +
            Parameters:
            +
            windowIndex - The index of the window at which the message will be sent.
            +
            positionMs - The position in the window with index windowIndex at which the + message will be sent, in milliseconds, or C.TIME_END_OF_SOURCE to deliver the + message at the end of the window with index windowIndex.
            +
            Returns:
            +
            This message.
            +
            Throws:
            +
            IllegalSeekPositionException - If the timeline returned by getTimeline() is not + empty and the provided window index is not within the bounds of the timeline.
            +
            IllegalStateException - If send() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            getWindowIndex

            +
            public int getWindowIndex()
            +
            Returns window index at which the message will be delivered.
            +
          • +
          + + + +
            +
          • +

            setDeleteAfterDelivery

            +
            public PlayerMessage setDeleteAfterDelivery​(boolean deleteAfterDelivery)
            +
            Sets whether the message will be deleted after delivery. If false, the message will be resent + if playback reaches the specified position again. Only allowed to be false if a position is set + with setPosition(long).
            +
            +
            Parameters:
            +
            deleteAfterDelivery - Whether the message is deleted after delivery.
            +
            Returns:
            +
            This message.
            +
            Throws:
            +
            IllegalStateException - If send() has already been called.
            +
            +
          • +
          + + + +
            +
          • +

            getDeleteAfterDelivery

            +
            public boolean getDeleteAfterDelivery()
            +
            Returns whether the message will be deleted after delivery.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            isCanceled

            +
            public boolean isCanceled()
            +
            Returns whether the message delivery has been canceled.
            +
          • +
          + + + +
            +
          • +

            markAsProcessed

            +
            public void markAsProcessed​(boolean isDelivered)
            +
            Marks the message as processed. Should only be called by a PlayerMessage.Sender and may be called + multiple times.
            +
            +
            Parameters:
            +
            isDelivered - Whether the message has been delivered to its target. The message is + considered as being delivered when this method has been called with isDelivered set + to true at least once.
            +
            +
          • +
          + + + +
            +
          • +

            blockUntilDelivered

            +
            public boolean blockUntilDelivered()
            +                            throws InterruptedException
            +
            Blocks until after the message has been delivered or the player is no longer able to deliver + the message. + +

            Note that this method must not be called if the current thread is the same thread used by + the message looper as it would cause a deadlock.

            +
            +
            Returns:
            +
            Whether the message was delivered successfully.
            +
            Throws:
            +
            IllegalStateException - If this method is called before send().
            +
            IllegalStateException - If this method is called on the same thread used by the message + looper.
            +
            InterruptedException - If the current thread is interrupted while waiting for the message + to be delivered.
            +
            +
          • +
          + + + +
            +
          • +

            blockUntilDelivered

            +
            public boolean blockUntilDelivered​(long timeoutMs)
            +                            throws InterruptedException,
            +                                   TimeoutException
            +
            Blocks until after the message has been delivered or the player is no longer able to deliver + the message or the specified timeout elapsed. + +

            Note that this method must not be called if the current thread is the same thread used by + the message looper as it would cause a deadlock.

            +
            +
            Parameters:
            +
            timeoutMs - The timeout in milliseconds.
            +
            Returns:
            +
            Whether the message was delivered successfully.
            +
            Throws:
            +
            IllegalStateException - If this method is called before send().
            +
            IllegalStateException - If this method is called on the same thread used by the message + looper.
            +
            TimeoutException - If the timeoutMs elapsed and this message has not been + delivered and the player is still able to deliver the message.
            +
            InterruptedException - If the current thread is interrupted while waiting for the message + to be delivered.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.State.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.State.html new file mode 100644 index 0000000000..f14f91249d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.State.html @@ -0,0 +1,189 @@ + + + + +Renderer.State (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Renderer.State

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.VideoScalingMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.VideoScalingMode.html new file mode 100644 index 0000000000..56a003f514 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.VideoScalingMode.html @@ -0,0 +1,192 @@ + + + + +Renderer.VideoScalingMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Renderer.VideoScalingMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.WakeupListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.WakeupListener.html new file mode 100644 index 0000000000..220b22165f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.WakeupListener.html @@ -0,0 +1,284 @@ + + + + +Renderer.WakeupListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Renderer.WakeupListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        Renderer
        +
        +
        +
        public static interface Renderer.WakeupListener
        +
        Some renderers can signal when Renderer.render(long, long) should be called. + +

        That allows the player to sleep until the next wakeup, instead of calling Renderer.render(long, long) in a tight loop. The aim of this interrupt based scheduling is to save + power.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonSleep​(long wakeupDeadlineMs) +
          The renderer no longer needs to render until the next wakeup.
          +
          voidonWakeup() +
          The renderer needs to render some frames.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSleep

            +
            void onSleep​(long wakeupDeadlineMs)
            +
            The renderer no longer needs to render until the next wakeup. + +

            Must be called from the thread ExoPlayer invokes the renderer from.

            +
            +
            Parameters:
            +
            wakeupDeadlineMs - Maximum time in milliseconds until onWakeup() will be + called.
            +
            +
          • +
          + + + +
            +
          • +

            onWakeup

            +
            void onWakeup()
            +
            The renderer needs to render some frames. The client should call Renderer.render(long, long) + at its earliest convenience. + +

            Can be called from any thread.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.html new file mode 100644 index 0000000000..950a4048b5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Renderer.html @@ -0,0 +1,1349 @@ + + + + +Renderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Renderer

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + + + + + +
            +
          • +

            MSG_SET_AUDIO_ATTRIBUTES

            +
            static final int MSG_SET_AUDIO_ATTRIBUTES
            +
            A type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target). The message payload should be an AudioAttributes instance that will configure the + underlying audio track. If not set, the default audio attributes will be used. They are + suitable for general media playback. + +

            Setting the audio attributes during playback may introduce a short gap in audio output as + the audio track is recreated. A new audio session id will also be generated. + +

            If tunneling is enabled by the track selector, the specified audio attributes will be + ignored, but they will take effect if audio is later played without tunneling. + +

            If the device is running a build before platform API version 21, audio attributes cannot be + set directly on the underlying audio track. In this case, the usage will be mapped onto an + equivalent stream type using Util.getStreamTypeForAudioUsage(int). + +

            To get audio attributes that are equivalent to a legacy stream type, pass the stream type to + Util.getAudioUsageForStreamType(int) and use the returned C.AudioUsage to build + an audio attributes instance.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            MSG_SET_AUX_EFFECT_INFO

            +
            static final int MSG_SET_AUX_EFFECT_INFO
            +
            A type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target). The message payload should be an AuxEffectInfo + instance representing an auxiliary audio effect for the underlying audio track.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            MSG_SET_SKIP_SILENCE_ENABLED

            +
            static final int MSG_SET_SKIP_SILENCE_ENABLED
            +
            The type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target). The message payload should be a Boolean instance + telling whether to enable or disable skipping silences in the audio stream.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MSG_SET_AUDIO_SESSION_ID

            +
            static final int MSG_SET_AUDIO_SESSION_ID
            +
            The type of a message that can be passed to audio and video renderers via ExoPlayer.createMessage(Target). The message payload should be an Integer instance + representing the audio session ID that will be attached to the underlying audio track. Video + renderers that support tunneling will use the audio session ID when tunneling is enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            MSG_CUSTOM_BASE

            +
            static final int MSG_CUSTOM_BASE
            +
            Applications or extensions may define custom MSG_* constants that can be passed to + renderers. These custom constants must be greater than or equal to this value.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            VIDEO_SCALING_MODE_DEFAULT

            +
            @Deprecated
            +static final int VIDEO_SCALING_MODE_DEFAULT
            +
            Deprecated. +
            Use C.VIDEO_SCALING_MODE_DEFAULT.
            +
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_DISABLED

            +
            static final int STATE_DISABLED
            +
            The renderer is disabled. A renderer in this state will not proactively acquire resources that + it requires for rendering (e.g., media decoders), but may continue to hold any that it already + has. reset() can be called to force the renderer to release such resources.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_ENABLED

            +
            static final int STATE_ENABLED
            +
            The renderer is enabled but not started. A renderer in this state may render media at the + current position (e.g. an initial video frame), but the position will not advance. A renderer + in this state will typically hold resources that it requires for rendering (e.g. media + decoders).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            String getName()
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackType

            +
            int getTrackType()
            +
            Returns the track type that the renderer handles.
            +
            +
            Returns:
            +
            One of the TRACK_TYPE_* constants defined in C.
            +
            See Also:
            +
            Player.getRendererType(int)
            +
            +
          • +
          + + + +
            +
          • +

            getCapabilities

            +
            RendererCapabilities getCapabilities()
            +
            Returns the capabilities of the renderer.
            +
            +
            Returns:
            +
            The capabilities of the renderer.
            +
            +
          • +
          + + + +
            +
          • +

            setIndex

            +
            void setIndex​(int index)
            +
            Sets the index of this renderer within the player.
            +
            +
            Parameters:
            +
            index - The renderer index.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaClock

            +
            @Nullable
            +MediaClock getMediaClock()
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            enable

            +
            void enable​(RendererConfiguration configuration,
            +            Format[] formats,
            +            SampleStream stream,
            +            long positionUs,
            +            boolean joining,
            +            boolean mayRenderStartOfStream,
            +            long startPositionUs,
            +            long offsetUs)
            +     throws ExoPlaybackException
            +
            Enables the renderer to consume from the specified SampleStream. + +

            This method may be called when the renderer is in the following states: STATE_DISABLED.

            +
            +
            Parameters:
            +
            configuration - The renderer configuration.
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            positionUs - The player's current position.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not STATE_STARTED yet.
            +
            startPositionUs - The start position of the stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            replaceStream

            +
            void replaceStream​(Format[] formats,
            +                   SampleStream stream,
            +                   long startPositionUs,
            +                   long offsetUs)
            +            throws ExoPlaybackException
            +
            Replaces the SampleStream from which samples will be consumed. + +

            This method may be called when the renderer is in the following states: STATE_ENABLED, STATE_STARTED.

            +
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            stream - The SampleStream from which the renderer should consume.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset to be added to timestamps of buffers read from stream before + they are rendered.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            getStream

            +
            @Nullable
            +SampleStream getStream()
            +
            Returns the SampleStream being consumed, or null if the renderer is disabled.
            +
          • +
          + + + +
            +
          • +

            hasReadStreamToEnd

            +
            boolean hasReadStreamToEnd()
            +
            Returns whether the renderer has read the current SampleStream to the end. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED, STATE_STARTED.

            +
          • +
          + + + +
            +
          • +

            getReadingPositionUs

            +
            long getReadingPositionUs()
            +
            Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the + current SampleStream to the end. + +

            This method may be called when the renderer is in the following states: STATE_ENABLED, STATE_STARTED.

            +
          • +
          + + + +
            +
          • +

            setCurrentStreamFinal

            +
            void setCurrentStreamFinal()
            +
            Signals to the renderer that the current SampleStream will be the final one supplied + before it is next disabled or reset. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED, STATE_STARTED.

            +
          • +
          + + + +
            +
          • +

            isCurrentStreamFinal

            +
            boolean isCurrentStreamFinal()
            +
            Returns whether the current SampleStream will be the final one supplied before the + renderer is next disabled or reset.
            +
          • +
          + + + +
            +
          • +

            maybeThrowStreamError

            +
            void maybeThrowStreamError()
            +                    throws IOException
            +
            Throws an error that's preventing the renderer from reading from its SampleStream. Does + nothing if no such error exists. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED, STATE_STARTED.

            +
            +
            Throws:
            +
            IOException - An error that's preventing the renderer from making progress or buffering + more data.
            +
            +
          • +
          + + + +
            +
          • +

            resetPosition

            +
            void resetPosition​(long positionUs)
            +            throws ExoPlaybackException
            +
            Signals to the renderer that a position discontinuity has occurred. +

            + After a position discontinuity, the renderer's SampleStream is guaranteed to provide + samples starting from a key frame. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED, STATE_STARTED.

            +
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the reset.
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackSpeed

            +
            default void setPlaybackSpeed​(float currentPlaybackSpeed,
            +                              float targetPlaybackSpeed)
            +                       throws ExoPlaybackException
            +
            Indicates the playback speed to this renderer. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            currentPlaybackSpeed - The factor by which playback is currently sped up.
            +
            targetPlaybackSpeed - The target factor by which playback should be sped up. This may be + different from currentPlaybackSpeed, for example, if the speed is temporarily + adjusted for live playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the playback speed.
            +
            +
          • +
          + + + +
            +
          • +

            render

            +
            void render​(long positionUs,
            +            long elapsedRealtimeUs)
            +     throws ExoPlaybackException
            +
            Incrementally renders the SampleStream. + +

            If the renderer is in the STATE_ENABLED state then each call to this method will do + work toward being ready to render the SampleStream when the renderer is started. If the + renderer is in the STATE_STARTED state then calls to this method will render the + SampleStream in sync with the specified media positions. + +

            The renderer may also render the very start of the media at the current position (e.g. the + first frame of a video stream) while still in the STATE_ENABLED state, unless it's the + initial start of the media after calling enable(RendererConfiguration, Format[], + SampleStream, long, boolean, boolean, long, long) with mayRenderStartOfStream set to + false. + +

            This method should return quickly, and should not block if the renderer is unable to make + useful progress. + +

            This method may be called when the renderer is in the following states: STATE_ENABLED, STATE_STARTED.

            +
            +
            Parameters:
            +
            positionUs - The current media time in microseconds, measured at the start of the current + iteration of the rendering loop.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, + measured at the start of the current iteration of the rendering loop.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            boolean isReady()
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED, STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            boolean isEnded()
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: STATE_ENABLED, STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            void stop()
            +
            Stops the renderer, transitioning it to the STATE_ENABLED state. + +

            This method may be called when the renderer is in the following states: STATE_STARTED.

            +
          • +
          + + + +
            +
          • +

            disable

            +
            void disable()
            +
            Disable the renderer, transitioning it to the STATE_DISABLED state. +

            + This method may be called when the renderer is in the following states: + STATE_ENABLED.

            +
          • +
          + + + +
            +
          • +

            reset

            +
            void reset()
            +
            Forces the renderer to give up any resources (e.g. media decoders) that it may be holding. If + the renderer is not holding any resources, the call is a no-op. + +

            This method may be called when the renderer is in the following states: STATE_DISABLED.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html new file mode 100644 index 0000000000..90156a1f09 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.AdaptiveSupport.html @@ -0,0 +1,190 @@ + + + + +RendererCapabilities.AdaptiveSupport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type RendererCapabilities.AdaptiveSupport

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.Capabilities.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.Capabilities.html new file mode 100644 index 0000000000..acb249c4f4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.Capabilities.html @@ -0,0 +1,204 @@ + + + + +RendererCapabilities.Capabilities (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type RendererCapabilities.Capabilities

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html new file mode 100644 index 0000000000..d34cb9c9ed --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.FormatSupport.html @@ -0,0 +1,192 @@ + + + + +RendererCapabilities.FormatSupport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type RendererCapabilities.FormatSupport

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html new file mode 100644 index 0000000000..e45ab77676 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.TunnelingSupport.html @@ -0,0 +1,189 @@ + + + + +RendererCapabilities.TunnelingSupport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type RendererCapabilities.TunnelingSupport

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.html new file mode 100644 index 0000000000..0264962252 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererCapabilities.html @@ -0,0 +1,839 @@ + + + + +RendererCapabilities (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface RendererCapabilities

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererConfiguration.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererConfiguration.html new file mode 100644 index 0000000000..fbb1d1f7ac --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RendererConfiguration.html @@ -0,0 +1,384 @@ + + + + +RendererConfiguration (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RendererConfiguration

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.RendererConfiguration
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class RendererConfiguration
        +extends Object
        +
        The configuration of a Renderer.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            tunneling

            +
            public final boolean tunneling
            +
            Whether to enable tunneling.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RendererConfiguration

            +
            public RendererConfiguration​(boolean tunneling)
            +
            +
            Parameters:
            +
            tunneling - Whether to enable tunneling.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RenderersFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RenderersFactory.html new file mode 100644 index 0000000000..52a8d7b4c9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/RenderersFactory.html @@ -0,0 +1,272 @@ + + + + +RenderersFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface RenderersFactory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createRenderers

            +
            Renderer[] createRenderers​(Handler eventHandler,
            +                           VideoRendererEventListener videoRendererEventListener,
            +                           AudioRendererEventListener audioRendererEventListener,
            +                           TextOutput textRendererOutput,
            +                           MetadataOutput metadataRendererOutput)
            +
            Builds the Renderer instances for a SimpleExoPlayer.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when invoking event listeners and outputs.
            +
            videoRendererEventListener - An event listener for video renderers.
            +
            audioRendererEventListener - An event listener for audio renderers.
            +
            textRendererOutput - An output for text renderers.
            +
            metadataRendererOutput - An output for metadata renderers.
            +
            Returns:
            +
            The instances.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SeekParameters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SeekParameters.html new file mode 100644 index 0000000000..79ed960e7d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SeekParameters.html @@ -0,0 +1,520 @@ + + + + +SeekParameters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SeekParameters

      +
      +
      + +
      +
        +
      • +
        +
        public final class SeekParameters
        +extends Object
        +
        Parameters that apply to seeking. + +

        The predefined EXACT, CLOSEST_SYNC, PREVIOUS_SYNC and NEXT_SYNC parameters are suitable for most use cases. Seeking to sync points is typically + faster but less accurate than exact seeking. + +

        In the general case, an instance specifies a maximum tolerance before (toleranceBeforeUs) and after (toleranceAfterUs) a requested seek position (x). + If one or more sync points falls within the window [x - toleranceBeforeUs, x + + toleranceAfterUs] then the seek will be performed to the sync point within the window that's + closest to x. If no sync point falls within the window then the seek will be performed to + x - toleranceBeforeUs. Internally the player may need to seek to an earlier sync point + and discard media until this position is reached.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static SeekParametersCLOSEST_SYNC +
          Parameters for seeking to the closest sync point.
          +
          static SeekParametersDEFAULT +
          Default parameters.
          +
          static SeekParametersEXACT +
          Parameters for exact seeking.
          +
          static SeekParametersNEXT_SYNC +
          Parameters for seeking to the sync point immediately after a requested seek position.
          +
          static SeekParametersPREVIOUS_SYNC +
          Parameters for seeking to the sync point immediately before a requested seek position.
          +
          longtoleranceAfterUs +
          The maximum time that the actual position seeked to may exceed the requested seek position, in + microseconds.
          +
          longtoleranceBeforeUs +
          The maximum time that the actual position seeked to may precede the requested seek position, in + microseconds.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          SeekParameters​(long toleranceBeforeUs, + long toleranceAfterUs) 
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EXACT

            +
            public static final SeekParameters EXACT
            +
            Parameters for exact seeking.
            +
          • +
          + + + +
            +
          • +

            CLOSEST_SYNC

            +
            public static final SeekParameters CLOSEST_SYNC
            +
            Parameters for seeking to the closest sync point.
            +
          • +
          + + + +
            +
          • +

            PREVIOUS_SYNC

            +
            public static final SeekParameters PREVIOUS_SYNC
            +
            Parameters for seeking to the sync point immediately before a requested seek position.
            +
          • +
          + + + +
            +
          • +

            NEXT_SYNC

            +
            public static final SeekParameters NEXT_SYNC
            +
            Parameters for seeking to the sync point immediately after a requested seek position.
            +
          • +
          + + + +
            +
          • +

            DEFAULT

            +
            public static final SeekParameters DEFAULT
            +
            Default parameters.
            +
          • +
          + + + +
            +
          • +

            toleranceBeforeUs

            +
            public final long toleranceBeforeUs
            +
            The maximum time that the actual position seeked to may precede the requested seek position, in + microseconds.
            +
          • +
          + + + +
            +
          • +

            toleranceAfterUs

            +
            public final long toleranceAfterUs
            +
            The maximum time that the actual position seeked to may exceed the requested seek position, in + microseconds.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeekParameters

            +
            public SeekParameters​(long toleranceBeforeUs,
            +                      long toleranceAfterUs)
            +
            +
            Parameters:
            +
            toleranceBeforeUs - The maximum time that the actual position seeked to may precede the + requested seek position, in microseconds. Must be non-negative.
            +
            toleranceAfterUs - The maximum time that the actual position seeked to may exceed the + requested seek position, in microseconds. Must be non-negative.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            resolveSeekPositionUs

            +
            public long resolveSeekPositionUs​(long positionUs,
            +                                  long firstSyncUs,
            +                                  long secondSyncUs)
            +
            Resolves a seek based on the parameters, given the requested seek position and two candidate + sync points.
            +
            +
            Parameters:
            +
            positionUs - The requested seek position, in microseocnds.
            +
            firstSyncUs - The first candidate seek point, in micrseconds.
            +
            secondSyncUs - The second candidate seek point, in microseconds. May equal + firstSyncUs if there's only one candidate.
            +
            Returns:
            +
            The resolved seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.Builder.html new file mode 100644 index 0000000000..a8f04db9d1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.Builder.html @@ -0,0 +1,990 @@ + + + + +SimpleExoPlayer.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleExoPlayer.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.SimpleExoPlayer.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.html new file mode 100644 index 0000000000..87156a19d1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/SimpleExoPlayer.html @@ -0,0 +1,3958 @@ + + + + +SimpleExoPlayer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleExoPlayer

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Period.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Period.html new file mode 100644 index 0000000000..d60e56b6f5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Period.html @@ -0,0 +1,858 @@ + + + + +Timeline.Period (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Timeline.Period

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Timeline
        +
        +
        +
        public static final class Timeline.Period
        +extends Object
        +
        Holds information about a period in a Timeline. A period defines a single logical piece + of media, for example a media file. It may also define groups of ads inserted into the media, + along with information about whether those ads have been loaded and played. + +

        The figure below shows some of the information defined by a period, as well as how this + information relates to a corresponding Timeline.Window in the timeline. + +

        Information defined by a
+ period

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          longdurationUs +
          The duration of this period in microseconds, or C.TIME_UNSET if unknown.
          +
          Objectid +
          An identifier for the period.
          +
          Objectuid +
          A unique identifier for the period.
          +
          intwindowIndex +
          The index of the window to which this period belongs.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          Period() +
          Creates a new instance with no ad playback state.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          booleanequals​(Object obj) 
          intgetAdCountInAdGroup​(int adGroupIndex) +
          Returns the number of ads in the ad group at index adGroupIndex, or + C.LENGTH_UNSET if not yet known.
          +
          longgetAdDurationUs​(int adGroupIndex, + int adIndexInAdGroup) +
          Returns the duration of the ad at index adIndexInAdGroup in the ad group at + adGroupIndex, in microseconds, or C.TIME_UNSET if not yet known.
          +
          intgetAdGroupCount() +
          Returns the number of ad groups in the period.
          +
          intgetAdGroupIndexAfterPositionUs​(long positionUs) +
          Returns the index of the next ad group after positionUs in the period that has ads + remaining to be played.
          +
          intgetAdGroupIndexForPositionUs​(long positionUs) +
          Returns the index of the ad group at or before positionUs in the period, if that ad + group is unplayed.
          +
          longgetAdGroupTimeUs​(int adGroupIndex) +
          Returns the time of the ad group at index adGroupIndex in the period, in + microseconds.
          +
          longgetAdResumePositionUs() +
          Returns the position offset in the first unplayed ad at which to begin playback, in + microseconds.
          +
          ObjectgetAdsId() +
          Returns the opaque identifier for ads played with this period, or null if unset.
          +
          longgetDurationMs() +
          Returns the duration of the period in milliseconds, or C.TIME_UNSET if unknown.
          +
          longgetDurationUs() +
          Returns the duration of this period in microseconds, or C.TIME_UNSET if unknown.
          +
          intgetFirstAdIndexToPlay​(int adGroupIndex) +
          Returns the index of the first ad in the specified ad group that should be played, or the + number of ads in the ad group if no ads should be played.
          +
          intgetNextAdIndexToPlay​(int adGroupIndex, + int lastPlayedAdIndex) +
          Returns the index of the next ad in the specified ad group that should be played after + playing adIndexInAdGroup, or the number of ads in the ad group if no later ads should + be played.
          +
          longgetPositionInWindowMs() +
          Returns the position of the start of this period relative to the start of the window to which + it belongs, in milliseconds.
          +
          longgetPositionInWindowUs() +
          Returns the position of the start of this period relative to the start of the window to which + it belongs, in microseconds.
          +
          inthashCode() 
          booleanhasPlayedAdGroup​(int adGroupIndex) +
          Returns whether the ad group at index adGroupIndex has been played.
          +
          Timeline.Periodset​(Object id, + Object uid, + int windowIndex, + long durationUs, + long positionInWindowUs) +
          Sets the data held by this period.
          +
          Timeline.Periodset​(Object id, + Object uid, + int windowIndex, + long durationUs, + long positionInWindowUs, + AdPlaybackState adPlaybackState) +
          Sets the data held by this period.
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            id

            +
            @Nullable
            +public Object id
            +
            An identifier for the period. Not necessarily unique. May be null if the ids of the period + are not required.
            +
          • +
          + + + +
            +
          • +

            uid

            +
            @Nullable
            +public Object uid
            +
            A unique identifier for the period. May be null if the ids of the period are not required.
            +
          • +
          + + + +
            +
          • +

            windowIndex

            +
            public int windowIndex
            +
            The index of the window to which this period belongs.
            +
          • +
          + + + +
            +
          • +

            durationUs

            +
            public long durationUs
            +
            The duration of this period in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Period

            +
            public Period()
            +
            Creates a new instance with no ad playback state.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            set

            +
            public Timeline.Period set​(@Nullable
            +                           Object id,
            +                           @Nullable
            +                           Object uid,
            +                           int windowIndex,
            +                           long durationUs,
            +                           long positionInWindowUs)
            +
            Sets the data held by this period.
            +
            +
            Parameters:
            +
            id - An identifier for the period. Not necessarily unique. May be null if the ids of the + period are not required.
            +
            uid - A unique identifier for the period. May be null if the ids of the period are not + required.
            +
            windowIndex - The index of the window to which this period belongs.
            +
            durationUs - The duration of this period in microseconds, or C.TIME_UNSET if + unknown.
            +
            positionInWindowUs - The position of the start of this period relative to the start of + the window to which it belongs, in milliseconds. May be negative if the start of the + period is not within the window.
            +
            Returns:
            +
            This period, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            set

            +
            public Timeline.Period set​(@Nullable
            +                           Object id,
            +                           @Nullable
            +                           Object uid,
            +                           int windowIndex,
            +                           long durationUs,
            +                           long positionInWindowUs,
            +                           AdPlaybackState adPlaybackState)
            +
            Sets the data held by this period.
            +
            +
            Parameters:
            +
            id - An identifier for the period. Not necessarily unique. May be null if the ids of the + period are not required.
            +
            uid - A unique identifier for the period. May be null if the ids of the period are not + required.
            +
            windowIndex - The index of the window to which this period belongs.
            +
            durationUs - The duration of this period in microseconds, or C.TIME_UNSET if + unknown.
            +
            positionInWindowUs - The position of the start of this period relative to the start of + the window to which it belongs, in milliseconds. May be negative if the start of the + period is not within the window.
            +
            adPlaybackState - The state of the period's ads, or AdPlaybackState.NONE if + there are no ads.
            +
            Returns:
            +
            This period, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationMs

            +
            public long getDurationMs()
            +
            Returns the duration of the period in milliseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Returns the duration of this period in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            getPositionInWindowMs

            +
            public long getPositionInWindowMs()
            +
            Returns the position of the start of this period relative to the start of the window to which + it belongs, in milliseconds. May be negative if the start of the period is not within the + window.
            +
          • +
          + + + +
            +
          • +

            getPositionInWindowUs

            +
            public long getPositionInWindowUs()
            +
            Returns the position of the start of this period relative to the start of the window to which + it belongs, in microseconds. May be negative if the start of the period is not within the + window.
            +
          • +
          + + + +
            +
          • +

            getAdsId

            +
            @Nullable
            +public Object getAdsId()
            +
            Returns the opaque identifier for ads played with this period, or null if unset.
            +
          • +
          + + + +
            +
          • +

            getAdGroupCount

            +
            public int getAdGroupCount()
            +
            Returns the number of ad groups in the period.
            +
          • +
          + + + +
            +
          • +

            getAdGroupTimeUs

            +
            public long getAdGroupTimeUs​(int adGroupIndex)
            +
            Returns the time of the ad group at index adGroupIndex in the period, in + microseconds.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            Returns:
            +
            The time of the ad group at the index relative to the start of the enclosing Timeline.Period, in microseconds, or C.TIME_END_OF_SOURCE for a post-roll ad group.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstAdIndexToPlay

            +
            public int getFirstAdIndexToPlay​(int adGroupIndex)
            +
            Returns the index of the first ad in the specified ad group that should be played, or the + number of ads in the ad group if no ads should be played.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            Returns:
            +
            The index of the first ad that should be played, or the number of ads in the ad group + if no ads should be played.
            +
            +
          • +
          + + + +
            +
          • +

            getNextAdIndexToPlay

            +
            public int getNextAdIndexToPlay​(int adGroupIndex,
            +                                int lastPlayedAdIndex)
            +
            Returns the index of the next ad in the specified ad group that should be played after + playing adIndexInAdGroup, or the number of ads in the ad group if no later ads should + be played.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            lastPlayedAdIndex - The last played ad index in the ad group.
            +
            Returns:
            +
            The index of the next ad that should be played, or the number of ads in the ad group + if the ad group does not have any ads remaining to play.
            +
            +
          • +
          + + + +
            +
          • +

            hasPlayedAdGroup

            +
            public boolean hasPlayedAdGroup​(int adGroupIndex)
            +
            Returns whether the ad group at index adGroupIndex has been played.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            Returns:
            +
            Whether the ad group at index adGroupIndex has been played.
            +
            +
          • +
          + + + +
            +
          • +

            getAdGroupIndexForPositionUs

            +
            public int getAdGroupIndexForPositionUs​(long positionUs)
            +
            Returns the index of the ad group at or before positionUs in the period, if that ad + group is unplayed. Returns C.INDEX_UNSET if the ad group at or before + positionUs has no ads remaining to be played, or if there is no such ad group.
            +
            +
            Parameters:
            +
            positionUs - The period position at or before which to find an ad group, in + microseconds.
            +
            Returns:
            +
            The index of the ad group, or C.INDEX_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getAdGroupIndexAfterPositionUs

            +
            public int getAdGroupIndexAfterPositionUs​(long positionUs)
            +
            Returns the index of the next ad group after positionUs in the period that has ads + remaining to be played. Returns C.INDEX_UNSET if there is no such ad group.
            +
            +
            Parameters:
            +
            positionUs - The period position after which to find an ad group, in microseconds.
            +
            Returns:
            +
            The index of the ad group, or C.INDEX_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getAdCountInAdGroup

            +
            public int getAdCountInAdGroup​(int adGroupIndex)
            +
            Returns the number of ads in the ad group at index adGroupIndex, or + C.LENGTH_UNSET if not yet known.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            Returns:
            +
            The number of ads in the ad group, or C.LENGTH_UNSET if not yet known.
            +
            +
          • +
          + + + +
            +
          • +

            getAdDurationUs

            +
            public long getAdDurationUs​(int adGroupIndex,
            +                            int adIndexInAdGroup)
            +
            Returns the duration of the ad at index adIndexInAdGroup in the ad group at + adGroupIndex, in microseconds, or C.TIME_UNSET if not yet known.
            +
            +
            Parameters:
            +
            adGroupIndex - The ad group index.
            +
            adIndexInAdGroup - The ad index in the ad group.
            +
            Returns:
            +
            The duration of the ad, or C.TIME_UNSET if not yet known.
            +
            +
          • +
          + + + +
            +
          • +

            getAdResumePositionUs

            +
            public long getAdResumePositionUs()
            +
            Returns the position offset in the first unplayed ad at which to begin playback, in + microseconds.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Window.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Window.html new file mode 100644 index 0000000000..9b18b64c57 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.Window.html @@ -0,0 +1,898 @@ + + + + +Timeline.Window (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Timeline.Window

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Timeline
        +
        +
        +
        public static final class Timeline.Window
        +extends Object
        +
        Holds information about a window in a Timeline. A window usually corresponds to one + playlist item and defines a region of media currently available for playback along with + additional information such as whether seeking is supported within the window. The figure below + shows some of the information defined by a window, as well as how this information relates to + corresponding Periods in the timeline. + +

        Information defined by a
+ timeline window

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SINGLE_WINDOW_UID

            +
            public static final Object SINGLE_WINDOW_UID
            +
            A uid for a window that must be used for single-window Timelines.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            mediaItem

            +
            public MediaItem mediaItem
            +
            The MediaItem associated to the window. Not necessarily unique.
            +
          • +
          + + + +
            +
          • +

            manifest

            +
            @Nullable
            +public Object manifest
            +
            The manifest of the window. May be null.
            +
          • +
          + + + +
            +
          • +

            presentationStartTimeMs

            +
            public long presentationStartTimeMs
            +
            The start time of the presentation to which this window belongs in milliseconds since the + Unix epoch, or C.TIME_UNSET if unknown or not applicable. For informational purposes + only.
            +
          • +
          + + + +
            +
          • +

            windowStartTimeMs

            +
            public long windowStartTimeMs
            +
            The window's start time in milliseconds since the Unix epoch, or C.TIME_UNSET if + unknown or not applicable.
            +
          • +
          + + + +
            +
          • +

            elapsedRealtimeEpochOffsetMs

            +
            public long elapsedRealtimeEpochOffsetMs
            +
            The offset between SystemClock.elapsedRealtime() and the time since the Unix epoch + according to the clock of the media origin server, or C.TIME_UNSET if unknown or not + applicable. + +

            Note that the current Unix time can be retrieved using getCurrentUnixTimeMs() and + is calculated as SystemClock.elapsedRealtime() + elapsedRealtimeEpochOffsetMs.

            +
          • +
          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable
            +
            Whether it's possible to seek within this window.
            +
          • +
          + + + +
            +
          • +

            isDynamic

            +
            public boolean isDynamic
            +
            Whether this window may change when the timeline is updated.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            isPlaceholder

            +
            public boolean isPlaceholder
            +
            Whether this window contains placeholder information because the real information has yet to + be loaded.
            +
          • +
          + + + +
            +
          • +

            firstPeriodIndex

            +
            public int firstPeriodIndex
            +
            The index of the first period that belongs to this window.
            +
          • +
          + + + +
            +
          • +

            lastPeriodIndex

            +
            public int lastPeriodIndex
            +
            The index of the last period that belongs to this window.
            +
          • +
          + + + +
            +
          • +

            defaultPositionUs

            +
            public long defaultPositionUs
            +
            The default position relative to the start of the window at which to begin playback, in + microseconds. May be C.TIME_UNSET if and only if the window was populated with a + non-zero default position projection, and if the specified projection cannot be performed + whilst remaining within the bounds of the window.
            +
          • +
          + + + +
            +
          • +

            durationUs

            +
            public long durationUs
            +
            The duration of this window in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            positionInFirstPeriodUs

            +
            public long positionInFirstPeriodUs
            +
            The position of the start of this window relative to the start of the first period belonging + to it, in microseconds.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Window

            +
            public Window()
            +
            Creates window.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            set

            +
            public Timeline.Window set​(Object uid,
            +                           @Nullable
            +                           MediaItem mediaItem,
            +                           @Nullable
            +                           Object manifest,
            +                           long presentationStartTimeMs,
            +                           long windowStartTimeMs,
            +                           long elapsedRealtimeEpochOffsetMs,
            +                           boolean isSeekable,
            +                           boolean isDynamic,
            +                           @Nullable
            +                           MediaItem.LiveConfiguration liveConfiguration,
            +                           long defaultPositionUs,
            +                           long durationUs,
            +                           int firstPeriodIndex,
            +                           int lastPeriodIndex,
            +                           long positionInFirstPeriodUs)
            +
            Sets the data held by this window.
            +
          • +
          + + + +
            +
          • +

            getDefaultPositionMs

            +
            public long getDefaultPositionMs()
            +
            Returns the default position relative to the start of the window at which to begin playback, + in milliseconds. May be C.TIME_UNSET if and only if the window was populated with a + non-zero default position projection, and if the specified projection cannot be performed + whilst remaining within the bounds of the window.
            +
          • +
          + + + +
            +
          • +

            getDefaultPositionUs

            +
            public long getDefaultPositionUs()
            +
            Returns the default position relative to the start of the window at which to begin playback, + in microseconds. May be C.TIME_UNSET if and only if the window was populated with a + non-zero default position projection, and if the specified projection cannot be performed + whilst remaining within the bounds of the window.
            +
          • +
          + + + +
            +
          • +

            getDurationMs

            +
            public long getDurationMs()
            +
            Returns the duration of the window in milliseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Returns the duration of this window in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            getPositionInFirstPeriodMs

            +
            public long getPositionInFirstPeriodMs()
            +
            Returns the position of the start of this window relative to the start of the first period + belonging to it, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getPositionInFirstPeriodUs

            +
            public long getPositionInFirstPeriodUs()
            +
            Returns the position of the start of this window relative to the start of the first period + belonging to it, in microseconds.
            +
          • +
          + + + +
            +
          • +

            getCurrentUnixTimeMs

            +
            public long getCurrentUnixTimeMs()
            +
            Returns the current time in milliseconds since the Unix epoch. + +

            This method applies known corrections made available + by the media such that this time corresponds to the clock of the media origin server.

            +
          • +
          + + + +
            +
          • +

            isLive

            +
            public boolean isLive()
            +
            Returns whether this is a live stream.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.html new file mode 100644 index 0000000000..a55f25182d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/Timeline.html @@ -0,0 +1,1007 @@ + + + + +Timeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Timeline

      +
      +
      + +
      +
        +
      • +
        +
        Direct Known Subclasses:
        +
        AbstractConcatenatedTimeline, FakeTimeline, ForwardingTimeline, MaskingMediaSource.PlaceholderTimeline, SinglePeriodTimeline
        +
        +
        +
        public abstract class Timeline
        +extends Object
        +
        A flexible representation of the structure of media. A timeline is able to represent the + structure of a wide variety of media, from simple cases like a single media file through to + complex compositions of media such as playlists and streams with inserted ads. Instances are + immutable. For cases where media is changing dynamically (e.g. live streams), a timeline provides + a snapshot of the current state. + +

        A timeline consists of Windows and Periods. + +

          +
        • A Timeline.Window usually corresponds to one playlist item. It may span one or more periods + and it defines the region within those periods that's currently available for playback. The + window also provides additional information such as whether seeking is supported within the + window and the default position, which is the position from which playback will start when + the player starts playing the window. +
        • A Timeline.Period defines a single logical piece of media, for example a media file. It may + also define groups of ads inserted into the media, along with information about whether + those ads have been loaded and played. +
        + +

        The following examples illustrate timelines for various use cases. + +

        Single media file or on-demand stream

        + +

        Example timeline for a
+ single file + +

        A timeline for a single media file or on-demand stream consists of a single period and window. + The window spans the whole period, indicating that all parts of the media are available for + playback. The window's default position is typically at the start of the period (indicated by the + black dot in the figure above). + +

        Playlist of media files or on-demand streams

        + +

        Example timeline for a
+ playlist of files + +

        A timeline for a playlist of media files or on-demand streams consists of multiple periods, + each with its own window. Each window spans the whole of the corresponding period, and typically + has a default position at the start of the period. The properties of the periods and windows + (e.g. their durations and whether the window is seekable) will often only become known when the + player starts buffering the corresponding file or stream. + +

        Live stream with limited availability

        + +

        Example timeline for
+ a live stream with limited availability + +

        A timeline for a live stream consists of a period whose duration is unknown, since it's + continually extending as more content is broadcast. If content only remains available for a + limited period of time then the window may start at a non-zero position, defining the region of + content that can still be played. The window will return true from Timeline.Window.isLive() to + indicate it's a live stream and Timeline.Window.isDynamic will be set to true as long as we expect + changes to the live window. Its default position is typically near to the live edge (indicated by + the black dot in the figure above). + +

        Live stream with indefinite availability

        + +

        Example timeline
+ for a live stream with indefinite availability + +

        A timeline for a live stream with indefinite availability is similar to the Live stream with limited availability case, except that the window + starts at the beginning of the period to indicate that all of the previously broadcast content + can still be played. + +

        Live stream with multiple periods

        + +

        Example timeline
+ for a live stream with multiple periods + +

        This case arises when a live stream is explicitly divided into separate periods, for example + at content boundaries. This case is similar to the Live stream with + limited availability case, except that the window may span more than one period. Multiple + periods are also possible in the indefinite availability case. + +

        On-demand stream followed by live stream

        + +

        Example timeline for an
+ on-demand stream followed by a live stream + +

        This case is the concatenation of the Single media file or on-demand + stream and Live stream with multiple periods cases. When playback + of the on-demand stream ends, playback of the live stream will start from its default position + near the live edge. + +

        On-demand stream with mid-roll ads

        + +

        Example
+ timeline for an on-demand stream with mid-roll ad groups + +

        This case includes mid-roll ad groups, which are defined as part of the timeline's single + period. The period can be queried for information about the ad groups and the ads they contain.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EMPTY

            +
            public static final Timeline EMPTY
            +
            An empty timeline.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Timeline

            +
            public Timeline()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isEmpty

            +
            public final boolean isEmpty()
            +
            Returns whether the timeline is empty.
            +
          • +
          + + + +
            +
          • +

            getWindowCount

            +
            public abstract int getWindowCount()
            +
            Returns the number of windows in the timeline.
            +
          • +
          + + + +
            +
          • +

            getNextWindowIndex

            +
            public int getNextWindowIndex​(int windowIndex,
            +                              @RepeatMode
            +                              int repeatMode,
            +                              boolean shuffleModeEnabled)
            +
            Returns the index of the window after the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the next window, or C.INDEX_UNSET if this is the last window.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousWindowIndex

            +
            public int getPreviousWindowIndex​(int windowIndex,
            +                                  @RepeatMode
            +                                  int repeatMode,
            +                                  boolean shuffleModeEnabled)
            +
            Returns the index of the window before the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the previous window, or C.INDEX_UNSET if this is the first window.
            +
            +
          • +
          + + + +
            +
          • +

            getLastWindowIndex

            +
            public int getLastWindowIndex​(boolean shuffleModeEnabled)
            +
            Returns the index of the last window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the last window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstWindowIndex

            +
            public int getFirstWindowIndex​(boolean shuffleModeEnabled)
            +
            Returns the index of the first window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the first window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getWindow

            +
            public abstract Timeline.Window getWindow​(int windowIndex,
            +                                          Timeline.Window window,
            +                                          long defaultPositionProjectionUs)
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getPeriodCount

            +
            public abstract int getPeriodCount()
            +
            Returns the number of periods in the timeline.
            +
          • +
          + + + +
            +
          • +

            getNextPeriodIndex

            +
            public final int getNextPeriodIndex​(int periodIndex,
            +                                    Timeline.Period period,
            +                                    Timeline.Window window,
            +                                    @RepeatMode
            +                                    int repeatMode,
            +                                    boolean shuffleModeEnabled)
            +
            Returns the index of the period after the period at index periodIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Parameters:
            +
            periodIndex - Index of a period in the timeline.
            +
            period - A Timeline.Period to be used internally. Must not be null.
            +
            window - A Timeline.Window to be used internally. Must not be null.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the next period, or C.INDEX_UNSET if this is the last period.
            +
            +
          • +
          + + + +
            +
          • +

            isLastPeriod

            +
            public final boolean isLastPeriod​(int periodIndex,
            +                                  Timeline.Period period,
            +                                  Timeline.Window window,
            +                                  @RepeatMode
            +                                  int repeatMode,
            +                                  boolean shuffleModeEnabled)
            +
            Returns whether the given period is the last period of the timeline depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Parameters:
            +
            periodIndex - A period index.
            +
            period - A Timeline.Period to be used internally. Must not be null.
            +
            window - A Timeline.Window to be used internally. Must not be null.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            Whether the period of the given index is the last period of the timeline.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getPeriodPosition

            +
            @Nullable
            +public final Pair<Object,Long> getPeriodPosition​(Timeline.Window window,
            +                                                 Timeline.Period period,
            +                                                 int windowIndex,
            +                                                 long windowPositionUs,
            +                                                 long defaultPositionProjectionUs)
            +
            Converts (windowIndex, windowPositionUs) to the corresponding (periodUid, periodPositionUs).
            +
            +
            Parameters:
            +
            window - A Timeline.Window that may be overwritten.
            +
            period - A Timeline.Period that may be overwritten.
            +
            windowIndex - The window index.
            +
            windowPositionUs - The window time, or C.TIME_UNSET to use the window's default + start position.
            +
            defaultPositionProjectionUs - If windowPositionUs is C.TIME_UNSET, the + duration into the future by which the window's position should be projected.
            +
            Returns:
            +
            The corresponding (periodUid, periodPositionUs), or null if #windowPositionUs + is C.TIME_UNSET, defaultPositionProjectionUs is non-zero, and the window's + position could not be projected by defaultPositionProjectionUs.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getPeriod

            +
            public abstract Timeline.Period getPeriod​(int periodIndex,
            +                                          Timeline.Period period,
            +                                          boolean setIds)
            +
            Populates a Timeline.Period with data for the period at the specified index.
            +
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            period - The Timeline.Period to populate. Must not be null.
            +
            setIds - Whether Timeline.Period.id and Timeline.Period.uid should be populated. If false, + the fields will be set to null. The caller should pass false for efficiency reasons unless + the fields are required.
            +
            Returns:
            +
            The populated Timeline.Period, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getIndexOfPeriod

            +
            public abstract int getIndexOfPeriod​(Object uid)
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public abstract Object getUidOfPeriod​(int periodIndex)
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsCollector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsCollector.html new file mode 100644 index 0000000000..ab92cedffa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsCollector.html @@ -0,0 +1,2131 @@ + + + + +AnalyticsCollector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AnalyticsCollector

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.AnalyticsCollector
        • +
        +
      • +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html new file mode 100644 index 0000000000..76d4596708 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventFlags.html @@ -0,0 +1,191 @@ + + + + +AnalyticsListener.EventFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AnalyticsListener.EventFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventTime.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventTime.html new file mode 100644 index 0000000000..5ed79ee6b5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.EventTime.html @@ -0,0 +1,582 @@ + + + + +AnalyticsListener.EventTime (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AnalyticsListener.EventTime

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        AnalyticsListener
        +
        +
        +
        public static final class AnalyticsListener.EventTime
        +extends Object
        +
        Time information of an event.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            realtimeMs

            +
            public final long realtimeMs
            +
            Elapsed real-time as returned by SystemClock.elapsedRealtime() at the time of the + event, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            timeline

            +
            public final Timeline timeline
            +
            Most recent Timeline that contains the event position.
            +
          • +
          + + + +
            +
          • +

            windowIndex

            +
            public final int windowIndex
            +
            Window index in the timeline this event belongs to, or the prospective window index + if the timeline is not yet known and empty.
            +
          • +
          + + + + + + + +
            +
          • +

            eventPlaybackPositionMs

            +
            public final long eventPlaybackPositionMs
            +
            Position in the window or ad this event belongs to at the time of the event, in milliseconds.
            +
          • +
          + + + + + + + +
            +
          • +

            currentWindowIndex

            +
            public final int currentWindowIndex
            +
            The current window index in currentTimeline at the time of the event, or the + prospective window index if the timeline is not yet known and empty (equivalent to Player.getCurrentWindowIndex()).
            +
          • +
          + + + +
            +
          • +

            currentMediaPeriodId

            +
            @Nullable
            +public final MediaSource.MediaPeriodId currentMediaPeriodId
            +
            Media period identifier for the currently playing media period at the + time of the event, or null if no current media period identifier is available.
            +
          • +
          + + + +
            +
          • +

            currentPlaybackPositionMs

            +
            public final long currentPlaybackPositionMs
            +
            Position in the current timeline window or the currently playing + ad at the time of the event, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalBufferedDurationMs

            +
            public final long totalBufferedDurationMs
            +
            Total buffered duration from currentPlaybackPositionMs at the time of the event, in + milliseconds. This includes pre-buffered data for subsequent ads and windows.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventTime

            +
            public EventTime​(long realtimeMs,
            +                 Timeline timeline,
            +                 int windowIndex,
            +                 @Nullable
            +                 MediaSource.MediaPeriodId mediaPeriodId,
            +                 long eventPlaybackPositionMs,
            +                 Timeline currentTimeline,
            +                 int currentWindowIndex,
            +                 @Nullable
            +                 MediaSource.MediaPeriodId currentMediaPeriodId,
            +                 long currentPlaybackPositionMs,
            +                 long totalBufferedDurationMs)
            +
            +
            Parameters:
            +
            realtimeMs - Elapsed real-time as returned by SystemClock.elapsedRealtime() at + the time of the event, in milliseconds.
            +
            timeline - Most recent Timeline that contains the event position.
            +
            windowIndex - Window index in the timeline this event belongs to, or the + prospective window index if the timeline is not yet known and empty.
            +
            mediaPeriodId - Media period identifier for the media period this + event belongs to, or null if the event is not associated with a specific media + period.
            +
            eventPlaybackPositionMs - Position in the window or ad this event belongs to at the time + of the event, in milliseconds.
            +
            currentTimeline - The current Timeline at the time of the event (equivalent to + Player.getCurrentTimeline()).
            +
            currentWindowIndex - The current window index in currentTimeline at the time of + the event, or the prospective window index if the timeline is not yet known and empty + (equivalent to Player.getCurrentWindowIndex()).
            +
            currentMediaPeriodId - Media period identifier for the currently + playing media period at the time of the event, or null if no current media period + identifier is available.
            +
            currentPlaybackPositionMs - Position in the current timeline window or the currently + playing ad at the time of the event, in milliseconds.
            +
            totalBufferedDurationMs - Total buffered duration from currentPlaybackPositionMs + at the time of the event, in milliseconds. This includes pre-buffered data for subsequent + ads and windows.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html new file mode 100644 index 0000000000..f9eb4faf61 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.Events.html @@ -0,0 +1,431 @@ + + + + +AnalyticsListener.Events (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AnalyticsListener.Events

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.html new file mode 100644 index 0000000000..a22c52778b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/AnalyticsListener.html @@ -0,0 +1,3004 @@ + + + + +AnalyticsListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AnalyticsListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            EVENT_LOAD_STARTED

            +
            static final int EVENT_LOAD_STARTED
            +
            A source started loading data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_LOAD_COMPLETED

            +
            static final int EVENT_LOAD_COMPLETED
            +
            A source started completed loading data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_LOAD_CANCELED

            +
            static final int EVENT_LOAD_CANCELED
            +
            A source canceled loading data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_LOAD_ERROR

            +
            static final int EVENT_LOAD_ERROR
            +
            A source had a non-fatal error loading data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DOWNSTREAM_FORMAT_CHANGED

            +
            static final int EVENT_DOWNSTREAM_FORMAT_CHANGED
            +
            The downstream format sent to renderers changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_UPSTREAM_DISCARDED

            +
            static final int EVENT_UPSTREAM_DISCARDED
            +
            Data was removed from the end of the media buffer.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_BANDWIDTH_ESTIMATE

            +
            static final int EVENT_BANDWIDTH_ESTIMATE
            +
            The bandwidth estimate has been updated.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_METADATA

            +
            static final int EVENT_METADATA
            +
            Metadata associated with the current playback time was reported.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_ENABLED

            +
            static final int EVENT_AUDIO_ENABLED
            +
            An audio renderer was enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_DECODER_INITIALIZED

            +
            static final int EVENT_AUDIO_DECODER_INITIALIZED
            +
            An audio renderer created a decoder.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_INPUT_FORMAT_CHANGED

            +
            static final int EVENT_AUDIO_INPUT_FORMAT_CHANGED
            +
            The format consumed by an audio renderer changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_POSITION_ADVANCING

            +
            static final int EVENT_AUDIO_POSITION_ADVANCING
            +
            The audio position has increased for the first time since the last pause or position reset.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_UNDERRUN

            +
            static final int EVENT_AUDIO_UNDERRUN
            +
            An audio underrun occurred.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_DECODER_RELEASED

            +
            static final int EVENT_AUDIO_DECODER_RELEASED
            +
            An audio renderer released a decoder.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_DISABLED

            +
            static final int EVENT_AUDIO_DISABLED
            +
            An audio renderer was disabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_SESSION_ID

            +
            static final int EVENT_AUDIO_SESSION_ID
            +
            An audio session id was set.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_ATTRIBUTES_CHANGED

            +
            static final int EVENT_AUDIO_ATTRIBUTES_CHANGED
            +
            Audio attributes changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_SKIP_SILENCE_ENABLED_CHANGED

            +
            static final int EVENT_SKIP_SILENCE_ENABLED_CHANGED
            +
            Skipping silences was enabled or disabled in the audio stream.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_AUDIO_SINK_ERROR

            +
            static final int EVENT_AUDIO_SINK_ERROR
            +
            The audio sink encountered a non-fatal error.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VOLUME_CHANGED

            +
            static final int EVENT_VOLUME_CHANGED
            +
            The volume changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_ENABLED

            +
            static final int EVENT_VIDEO_ENABLED
            +
            A video renderer was enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_DECODER_INITIALIZED

            +
            static final int EVENT_VIDEO_DECODER_INITIALIZED
            +
            A video renderer created a decoder.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_INPUT_FORMAT_CHANGED

            +
            static final int EVENT_VIDEO_INPUT_FORMAT_CHANGED
            +
            The format consumed by a video renderer changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DROPPED_VIDEO_FRAMES

            +
            static final int EVENT_DROPPED_VIDEO_FRAMES
            +
            Video frames have been dropped.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_DECODER_RELEASED

            +
            static final int EVENT_VIDEO_DECODER_RELEASED
            +
            A video renderer released a decoder.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_DISABLED

            +
            static final int EVENT_VIDEO_DISABLED
            +
            A video renderer was disabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_FRAME_PROCESSING_OFFSET

            +
            static final int EVENT_VIDEO_FRAME_PROCESSING_OFFSET
            +
            Video frame processing offset data has been reported.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_RENDERED_FIRST_FRAME

            +
            static final int EVENT_RENDERED_FIRST_FRAME
            +
            The first frame has been rendered since setting the surface, since the renderer was reset or + since the stream changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_VIDEO_SIZE_CHANGED

            +
            static final int EVENT_VIDEO_SIZE_CHANGED
            +
            The video size changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_SURFACE_SIZE_CHANGED

            +
            static final int EVENT_SURFACE_SIZE_CHANGED
            +
            The surface size changed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_SESSION_ACQUIRED

            +
            static final int EVENT_DRM_SESSION_ACQUIRED
            +
            A DRM session has been acquired.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_KEYS_LOADED

            +
            static final int EVENT_DRM_KEYS_LOADED
            +
            DRM keys were loaded.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_SESSION_MANAGER_ERROR

            +
            static final int EVENT_DRM_SESSION_MANAGER_ERROR
            +
            A non-fatal DRM session manager error occurred.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_KEYS_RESTORED

            +
            static final int EVENT_DRM_KEYS_RESTORED
            +
            DRM keys were restored.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_KEYS_REMOVED

            +
            static final int EVENT_DRM_KEYS_REMOVED
            +
            DRM keys were removed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_DRM_SESSION_RELEASED

            +
            static final int EVENT_DRM_SESSION_RELEASED
            +
            A DRM session has been released.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_PLAYER_RELEASED

            +
            static final int EVENT_PLAYER_RELEASED
            +
            The player was released.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            onPlaybackStateChanged

            +
            default void onPlaybackStateChanged​(AnalyticsListener.EventTime eventTime,
            +                                    @State
            +                                    int state)
            +
            Called when the playback state changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            state - The new playback state.
            +
            +
          • +
          + + + +
            +
          • +

            onPlayWhenReadyChanged

            +
            default void onPlayWhenReadyChanged​(AnalyticsListener.EventTime eventTime,
            +                                    boolean playWhenReady,
            +                                    @PlayWhenReadyChangeReason
            +                                    int reason)
            +
            Called when the value changed that indicates whether playback will proceed when ready.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            playWhenReady - Whether playback will proceed when ready.
            +
            reason - The reason of the change.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onIsPlayingChanged

            +
            default void onIsPlayingChanged​(AnalyticsListener.EventTime eventTime,
            +                                boolean isPlaying)
            +
            Called when the player starts or stops playing.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            isPlaying - Whether the player is playing.
            +
            +
          • +
          + + + +
            +
          • +

            onTimelineChanged

            +
            default void onTimelineChanged​(AnalyticsListener.EventTime eventTime,
            +                               @TimelineChangeReason
            +                               int reason)
            +
            Called when the timeline changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            reason - The reason for the timeline change.
            +
            +
          • +
          + + + +
            +
          • +

            onMediaItemTransition

            +
            default void onMediaItemTransition​(AnalyticsListener.EventTime eventTime,
            +                                   @Nullable
            +                                   MediaItem mediaItem,
            +                                   @MediaItemTransitionReason
            +                                   int reason)
            +
            Called when playback transitions to a different media item.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            mediaItem - The media item.
            +
            reason - The reason for the media item transition.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionDiscontinuity

            +
            default void onPositionDiscontinuity​(AnalyticsListener.EventTime eventTime,
            +                                     @DiscontinuityReason
            +                                     int reason)
            +
            Called when a position discontinuity occurred.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            reason - The reason for the position discontinuity.
            +
            +
          • +
          + + + +
            +
          • +

            onSeekStarted

            +
            default void onSeekStarted​(AnalyticsListener.EventTime eventTime)
            +
            Called when a seek operation started.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onPlaybackParametersChanged

            +
            default void onPlaybackParametersChanged​(AnalyticsListener.EventTime eventTime,
            +                                         PlaybackParameters playbackParameters)
            +
            Called when the playback parameters changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            playbackParameters - The new playback parameters.
            +
            +
          • +
          + + + +
            +
          • +

            onRepeatModeChanged

            +
            default void onRepeatModeChanged​(AnalyticsListener.EventTime eventTime,
            +                                 @RepeatMode
            +                                 int repeatMode)
            +
            Called when the repeat mode changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            repeatMode - The new repeat mode.
            +
            +
          • +
          + + + +
            +
          • +

            onShuffleModeChanged

            +
            default void onShuffleModeChanged​(AnalyticsListener.EventTime eventTime,
            +                                  boolean shuffleModeEnabled)
            +
            Called when the shuffle mode changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            shuffleModeEnabled - Whether the shuffle mode is enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onIsLoadingChanged

            +
            default void onIsLoadingChanged​(AnalyticsListener.EventTime eventTime,
            +                                boolean isLoading)
            +
            Called when the player starts or stops loading data from a source.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            isLoading - Whether the player is loading.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onPlayerError

            +
            default void onPlayerError​(AnalyticsListener.EventTime eventTime,
            +                           ExoPlaybackException error)
            +
            Called when a fatal player error occurred.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            error - The error.
            +
            +
          • +
          + + + +
            +
          • +

            onTracksChanged

            +
            default void onTracksChanged​(AnalyticsListener.EventTime eventTime,
            +                             TrackGroupArray trackGroups,
            +                             TrackSelectionArray trackSelections)
            +
            Called when the available or selected tracks for the renderers changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            trackGroups - The available tracks. May be empty.
            +
            trackSelections - The track selections for each renderer. May contain null elements.
            +
            +
          • +
          + + + +
            +
          • +

            onStaticMetadataChanged

            +
            default void onStaticMetadataChanged​(AnalyticsListener.EventTime eventTime,
            +                                     List<Metadata> metadataList)
            +
            Called when the static metadata changes. + +

            The provided metadataList is an immutable list of Metadata instances, where + the elements correspond to the current track selections (as returned by onTracksChanged(EventTime, TrackGroupArray, TrackSelectionArray), or an empty list if there + are no track selections or the selected tracks contain no static metadata. + +

            The metadata is considered static in the sense that it comes from the tracks' declared + Formats, rather than being timed (or dynamic) metadata, which is represented within a metadata + track.

            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            metadataList - The static metadata.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            onLoadError

            +
            default void onLoadError​(AnalyticsListener.EventTime eventTime,
            +                         LoadEventInfo loadEventInfo,
            +                         MediaLoadData mediaLoadData,
            +                         IOException error,
            +                         boolean wasCanceled)
            +
            Called when a media source loading error occurred. These errors are just for informational + purposes and the player may recover.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            loadEventInfo - The LoadEventInfo defining the load event.
            +
            mediaLoadData - The MediaLoadData defining the data being loaded.
            +
            error - The load error.
            +
            wasCanceled - Whether the load was canceled as a result of the error.
            +
            +
          • +
          + + + +
            +
          • +

            onDownstreamFormatChanged

            +
            default void onDownstreamFormatChanged​(AnalyticsListener.EventTime eventTime,
            +                                       MediaLoadData mediaLoadData)
            +
            Called when the downstream format sent to the renderers changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            mediaLoadData - The MediaLoadData defining the newly selected media data.
            +
            +
          • +
          + + + +
            +
          • +

            onUpstreamDiscarded

            +
            default void onUpstreamDiscarded​(AnalyticsListener.EventTime eventTime,
            +                                 MediaLoadData mediaLoadData)
            +
            Called when data is removed from the back of a media buffer, typically so that it can be + re-buffered in a different format.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            mediaLoadData - The MediaLoadData defining the media being discarded.
            +
            +
          • +
          + + + +
            +
          • +

            onBandwidthEstimate

            +
            default void onBandwidthEstimate​(AnalyticsListener.EventTime eventTime,
            +                                 int totalLoadTimeMs,
            +                                 long totalBytesLoaded,
            +                                 long bitrateEstimate)
            +
            Called when the bandwidth estimate for the current data source has been updated.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            totalLoadTimeMs - The total time spend loading this update is based on, in milliseconds.
            +
            totalBytesLoaded - The total bytes loaded this update is based on.
            +
            bitrateEstimate - The bandwidth estimate, in bits per second.
            +
            +
          • +
          + + + +
            +
          • +

            onMetadata

            +
            default void onMetadata​(AnalyticsListener.EventTime eventTime,
            +                        Metadata metadata)
            +
            Called when there is Metadata associated with the current playback time.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            metadata - The metadata.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            onAudioEnabled

            +
            default void onAudioEnabled​(AnalyticsListener.EventTime eventTime,
            +                            DecoderCounters counters)
            +
            Called when an audio renderer is enabled.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            counters - DecoderCounters that will be updated by the renderer for as long as it + remains enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioDecoderInitialized

            +
            default void onAudioDecoderInitialized​(AnalyticsListener.EventTime eventTime,
            +                                       String decoderName,
            +                                       long initializationDurationMs)
            +
            Called when an audio renderer creates a decoder.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            decoderName - The decoder that was created.
            +
            initializationDurationMs - The time taken to initialize the decoder in milliseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onAudioInputFormatChanged

            +
            default void onAudioInputFormatChanged​(AnalyticsListener.EventTime eventTime,
            +                                       Format format,
            +                                       @Nullable
            +                                       DecoderReuseEvaluation decoderReuseEvaluation)
            +
            Called when the format of the media being consumed by an audio renderer changes.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            format - The new format.
            +
            decoderReuseEvaluation - The result of the evaluation to determine whether an existing + decoder instance can be reused for the new format, or null if the renderer did not + have a decoder.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioPositionAdvancing

            +
            default void onAudioPositionAdvancing​(AnalyticsListener.EventTime eventTime,
            +                                      long playoutStartSystemTimeMs)
            +
            Called when the audio position has increased for the first time since the last pause or + position reset.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            playoutStartSystemTimeMs - The approximate derived System.currentTimeMillis() at + which playout started.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioUnderrun

            +
            default void onAudioUnderrun​(AnalyticsListener.EventTime eventTime,
            +                             int bufferSize,
            +                             long bufferSizeMs,
            +                             long elapsedSinceLastFeedMs)
            +
            Called when an audio underrun occurs.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            bufferSize - The size of the audio output buffer, in bytes.
            +
            bufferSizeMs - The size of the audio output buffer, in milliseconds, if it contains PCM + encoded audio. C.TIME_UNSET if the output buffer contains non-PCM encoded audio.
            +
            elapsedSinceLastFeedMs - The time since audio was last written to the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioDecoderReleased

            +
            default void onAudioDecoderReleased​(AnalyticsListener.EventTime eventTime,
            +                                    String decoderName)
            +
            Called when an audio renderer releases a decoder.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            decoderName - The decoder that was released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onAudioSessionIdChanged

            +
            default void onAudioSessionIdChanged​(AnalyticsListener.EventTime eventTime,
            +                                     int audioSessionId)
            +
            Called when the audio session ID changes.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            audioSessionId - The audio session ID.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioAttributesChanged

            +
            default void onAudioAttributesChanged​(AnalyticsListener.EventTime eventTime,
            +                                      AudioAttributes audioAttributes)
            +
            Called when the audio attributes change.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            audioAttributes - The audio attributes.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipSilenceEnabledChanged

            +
            default void onSkipSilenceEnabledChanged​(AnalyticsListener.EventTime eventTime,
            +                                         boolean skipSilenceEnabled)
            +
            Called when skipping silences is enabled or disabled in the audio stream.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            skipSilenceEnabled - Whether skipping silences in the audio stream is enabled.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onVolumeChanged

            +
            default void onVolumeChanged​(AnalyticsListener.EventTime eventTime,
            +                             float volume)
            +
            Called when the volume changes.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            volume - The new volume, with 0 being silence and 1 being unity gain.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoEnabled

            +
            default void onVideoEnabled​(AnalyticsListener.EventTime eventTime,
            +                            DecoderCounters counters)
            +
            Called when a video renderer is enabled.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            counters - DecoderCounters that will be updated by the renderer for as long as it + remains enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoDecoderInitialized

            +
            default void onVideoDecoderInitialized​(AnalyticsListener.EventTime eventTime,
            +                                       String decoderName,
            +                                       long initializationDurationMs)
            +
            Called when a video renderer creates a decoder.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            decoderName - The decoder that was created.
            +
            initializationDurationMs - The time taken to initialize the decoder in milliseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onVideoInputFormatChanged

            +
            default void onVideoInputFormatChanged​(AnalyticsListener.EventTime eventTime,
            +                                       Format format,
            +                                       @Nullable
            +                                       DecoderReuseEvaluation decoderReuseEvaluation)
            +
            Called when the format of the media being consumed by a video renderer changes.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            format - The new format.
            +
            decoderReuseEvaluation - The result of the evaluation to determine whether an existing + decoder instance can be reused for the new format, or null if the renderer did not + have a decoder.
            +
            +
          • +
          + + + +
            +
          • +

            onDroppedVideoFrames

            +
            default void onDroppedVideoFrames​(AnalyticsListener.EventTime eventTime,
            +                                  int droppedFrames,
            +                                  long elapsedMs)
            +
            Called after video frames have been dropped.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            droppedFrames - The number of dropped frames since the last call to this method.
            +
            elapsedMs - The duration in milliseconds over which the frames were dropped. This duration + is timed from when the renderer was started or from when dropped frames were last reported + (whichever was more recent), and not from when the first of the reported drops occurred.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoDecoderReleased

            +
            default void onVideoDecoderReleased​(AnalyticsListener.EventTime eventTime,
            +                                    String decoderName)
            +
            Called when a video renderer releases a decoder.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            decoderName - The decoder that was released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onVideoFrameProcessingOffset

            +
            default void onVideoFrameProcessingOffset​(AnalyticsListener.EventTime eventTime,
            +                                          long totalProcessingOffsetUs,
            +                                          int frameCount)
            +
            Called when there is an update to the video frame processing offset reported by a video + renderer. + +

            The processing offset for a video frame is the difference between the time at which the + frame became available to render, and the time at which it was scheduled to be rendered. A + positive value indicates the frame became available early enough, whereas a negative value + indicates that the frame wasn't available until after the time at which it should have been + rendered.

            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            totalProcessingOffsetUs - The sum of the video frame processing offsets for frames + rendered since the last call to this method.
            +
            frameCount - The number to samples included in totalProcessingOffsetUs.
            +
            +
          • +
          + + + +
            +
          • +

            onRenderedFirstFrame

            +
            default void onRenderedFirstFrame​(AnalyticsListener.EventTime eventTime,
            +                                  @Nullable
            +                                  Surface surface)
            +
            Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            surface - The Surface to which a frame has been rendered, or null if the + renderer renders to something that isn't a Surface.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoSizeChanged

            +
            default void onVideoSizeChanged​(AnalyticsListener.EventTime eventTime,
            +                                int width,
            +                                int height,
            +                                int unappliedRotationDegrees,
            +                                float pixelWidthHeightRatio)
            +
            Called before a frame is rendered for the first time since setting the surface, and each time + there's a change in the size or pixel aspect ratio of the video being rendered.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            width - The width of the video.
            +
            height - The height of the video.
            +
            unappliedRotationDegrees - For videos that require a rotation, this is the clockwise + rotation in degrees that the application should apply for the video for it to be rendered + in the correct orientation. This value will always be zero on API levels 21 and above, + since the renderer will apply all necessary rotations internally.
            +
            pixelWidthHeightRatio - The width to height ratio of each pixel.
            +
            +
          • +
          + + + +
            +
          • +

            onSurfaceSizeChanged

            +
            default void onSurfaceSizeChanged​(AnalyticsListener.EventTime eventTime,
            +                                  int width,
            +                                  int height)
            +
            Called when the output surface size changed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            width - The surface width in pixels. May be C.LENGTH_UNSET if unknown, or 0 if the + video is not rendered onto a surface.
            +
            height - The surface height in pixels. May be C.LENGTH_UNSET if unknown, or 0 if + the video is not rendered onto a surface.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmSessionAcquired

            +
            default void onDrmSessionAcquired​(AnalyticsListener.EventTime eventTime)
            +
            Called each time a drm session is acquired.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysLoaded

            +
            default void onDrmKeysLoaded​(AnalyticsListener.EventTime eventTime)
            +
            Called each time drm keys are loaded.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmSessionManagerError

            +
            default void onDrmSessionManagerError​(AnalyticsListener.EventTime eventTime,
            +                                      Exception error)
            +
            Called when a drm error occurs. These errors are just for informational purposes and the player + may recover.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            error - The error.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysRestored

            +
            default void onDrmKeysRestored​(AnalyticsListener.EventTime eventTime)
            +
            Called each time offline drm keys are restored.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysRemoved

            +
            default void onDrmKeysRemoved​(AnalyticsListener.EventTime eventTime)
            +
            Called each time offline drm keys are removed.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmSessionReleased

            +
            default void onDrmSessionReleased​(AnalyticsListener.EventTime eventTime)
            +
            Called each time a drm session is released.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + +
            +
          • +

            onPlayerReleased

            +
            default void onPlayerReleased​(AnalyticsListener.EventTime eventTime)
            +
            Called when the Player is released.
            +
            +
            Parameters:
            +
            eventTime - The event time.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html new file mode 100644 index 0000000000..8f42ce1c93 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/DefaultPlaybackSessionManager.html @@ -0,0 +1,566 @@ + + + + +DefaultPlaybackSessionManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultPlaybackSessionManager

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        PlaybackSessionManager
        +
        +
        +
        public final class DefaultPlaybackSessionManager
        +extends Object
        +implements PlaybackSessionManager
        +
        Default PlaybackSessionManager which instantiates a new session for each window in the + timeline and also for each ad within the windows. + +

        By default, sessions are identified by Base64-encoded, URL-safe, random strings.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.Listener.html new file mode 100644 index 0000000000..afebc2b511 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.Listener.html @@ -0,0 +1,344 @@ + + + + +PlaybackSessionManager.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlaybackSessionManager.Listener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            onSessionActive

            +
            void onSessionActive​(AnalyticsListener.EventTime eventTime,
            +                     String sessionId)
            +
            Called when a session becomes active, i.e. playing in the foreground.
            +
            +
            Parameters:
            +
            eventTime - The AnalyticsListener.EventTime at which the session becomes active.
            +
            sessionId - The identifier of the session.
            +
            +
          • +
          + + + +
            +
          • +

            onAdPlaybackStarted

            +
            void onAdPlaybackStarted​(AnalyticsListener.EventTime eventTime,
            +                         String contentSessionId,
            +                         String adSessionId)
            +
            Called when a session is interrupted by ad playback.
            +
            +
            Parameters:
            +
            eventTime - The AnalyticsListener.EventTime at which the ad playback starts.
            +
            contentSessionId - The session identifier of the content session.
            +
            adSessionId - The identifier of the ad session.
            +
            +
          • +
          + + + +
            +
          • +

            onSessionFinished

            +
            void onSessionFinished​(AnalyticsListener.EventTime eventTime,
            +                       String sessionId,
            +                       boolean automaticTransitionToNextPlayback)
            +
            Called when a session is permanently finished.
            +
            +
            Parameters:
            +
            eventTime - The AnalyticsListener.EventTime at which the session finished.
            +
            sessionId - The identifier of the finished session.
            +
            automaticTransitionToNextPlayback - Whether the session finished because of an automatic + transition to the next playback item.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.html new file mode 100644 index 0000000000..c0c0e25e20 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackSessionManager.html @@ -0,0 +1,435 @@ + + + + +PlaybackSessionManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlaybackSessionManager

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultPlaybackSessionManager
        +
        +
        +
        public interface PlaybackSessionManager
        +
        Manager for active playback sessions. + +

        The manager keeps track of the association between window index and/or media period id to + session identifier.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndException.html new file mode 100644 index 0000000000..cb0be2f11b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndException.html @@ -0,0 +1,394 @@ + + + + +PlaybackStats.EventTimeAndException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackStats.EventTimeAndException

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlaybackStats
        +
        +
        +
        public static final class PlaybackStats.EventTimeAndException
        +extends Object
        +
        Stores an exception with the event time at which it occurred.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            exception

            +
            public final Exception exception
            +
            The exception that was thrown.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventTimeAndException

            +
            public EventTimeAndException​(AnalyticsListener.EventTime eventTime,
            +                             Exception exception)
            +
            Creates a new timed exception event.
            +
            +
            Parameters:
            +
            eventTime - The event time at which the exception occurred.
            +
            exception - The exception that was thrown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndFormat.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndFormat.html new file mode 100644 index 0000000000..65c877d4ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndFormat.html @@ -0,0 +1,397 @@ + + + + +PlaybackStats.EventTimeAndFormat (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackStats.EventTimeAndFormat

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlaybackStats
        +
        +
        +
        public static final class PlaybackStats.EventTimeAndFormat
        +extends Object
        +
        Stores a format with the event time at which it started being used, or null to indicate + that no format was used.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            format

            +
            @Nullable
            +public final Format format
            +
            The format that started being used, or null if no format was used.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventTimeAndFormat

            +
            public EventTimeAndFormat​(AnalyticsListener.EventTime eventTime,
            +                          @Nullable
            +                          Format format)
            +
            Creates a new timed format event.
            +
            +
            Parameters:
            +
            eventTime - The event time associated with format.
            +
            format - The format that started being used, or null if no format was used.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndPlaybackState.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndPlaybackState.html new file mode 100644 index 0000000000..0b04f676d8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.EventTimeAndPlaybackState.html @@ -0,0 +1,394 @@ + + + + +PlaybackStats.EventTimeAndPlaybackState (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackStats.EventTimeAndPlaybackState

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlaybackStats
        +
        +
        +
        public static final class PlaybackStats.EventTimeAndPlaybackState
        +extends Object
        +
        Stores a playback state with the event time at which it became active.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            playbackState

            +
            public final @com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int playbackState
            +
            The playback state that became active.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventTimeAndPlaybackState

            +
            public EventTimeAndPlaybackState​(AnalyticsListener.EventTime eventTime,
            +                                 @com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int playbackState)
            +
            Creates a new timed playback state event.
            +
            +
            Parameters:
            +
            eventTime - The event time at which the playback state became active.
            +
            playbackState - The playback state that became active.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.html new file mode 100644 index 0000000000..94e6f35f08 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStats.html @@ -0,0 +1,2288 @@ + + + + +PlaybackStats (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackStats

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.PlaybackStats
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class PlaybackStats
        +extends Object
        +
        Statistics about playbacks.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PLAYBACK_STATE_NOT_STARTED

            +
            public static final int PLAYBACK_STATE_NOT_STARTED
            +
            Playback has not started (initial state).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_JOINING_BACKGROUND

            +
            public static final int PLAYBACK_STATE_JOINING_BACKGROUND
            +
            Playback is buffering in the background for initial playback start.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_JOINING_FOREGROUND

            +
            public static final int PLAYBACK_STATE_JOINING_FOREGROUND
            +
            Playback is buffering in the foreground for initial playback start.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_PLAYING

            +
            public static final int PLAYBACK_STATE_PLAYING
            +
            Playback is actively playing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_PAUSED

            +
            public static final int PLAYBACK_STATE_PAUSED
            +
            Playback is paused but ready to play.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_SEEKING

            +
            public static final int PLAYBACK_STATE_SEEKING
            +
            Playback is handling a seek.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_BUFFERING

            +
            public static final int PLAYBACK_STATE_BUFFERING
            +
            Playback is buffering to resume active playback.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_PAUSED_BUFFERING

            +
            public static final int PLAYBACK_STATE_PAUSED_BUFFERING
            +
            Playback is buffering while paused.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_SUPPRESSED

            +
            public static final int PLAYBACK_STATE_SUPPRESSED
            +
            Playback is suppressed (e.g. due to audio focus loss).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_SUPPRESSED_BUFFERING

            +
            public static final int PLAYBACK_STATE_SUPPRESSED_BUFFERING
            +
            Playback is suppressed (e.g. due to audio focus loss) while buffering to resume a playback.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_ENDED

            +
            public static final int PLAYBACK_STATE_ENDED
            +
            Playback has reached the end of the media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_STOPPED

            +
            public static final int PLAYBACK_STATE_STOPPED
            +
            Playback is stopped and can be restarted.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_FAILED

            +
            public static final int PLAYBACK_STATE_FAILED
            +
            Playback is stopped due a fatal error and can be retried.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_INTERRUPTED_BY_AD

            +
            public static final int PLAYBACK_STATE_INTERRUPTED_BY_AD
            +
            Playback is interrupted by an ad.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_STATE_ABANDONED

            +
            public static final int PLAYBACK_STATE_ABANDONED
            +
            Playback is abandoned before reaching the end of the media.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EMPTY

            +
            public static final PlaybackStats EMPTY
            +
            Empty playback stats.
            +
          • +
          + + + +
            +
          • +

            playbackCount

            +
            public final int playbackCount
            +
            The number of individual playbacks for which these stats were collected.
            +
          • +
          + + + + + + + +
            +
          • +

            mediaTimeHistory

            +
            public final List<long[]> mediaTimeHistory
            +
            The media time history as an ordered list of long[2] arrays with [0] being the realtime as + returned by SystemClock.elapsedRealtime() and [1] being the media time at this + realtime, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            firstReportedTimeMs

            +
            public final long firstReportedTimeMs
            +
            The elapsed real-time as returned by SystemClock.elapsedRealtime() of the first + reported playback event, or C.TIME_UNSET if no event has been reported.
            +
          • +
          + + + +
            +
          • +

            foregroundPlaybackCount

            +
            public final int foregroundPlaybackCount
            +
            The number of playbacks which were the active foreground playback at some point.
            +
          • +
          + + + +
            +
          • +

            abandonedBeforeReadyCount

            +
            public final int abandonedBeforeReadyCount
            +
            The number of playbacks which were abandoned before they were ready to play.
            +
          • +
          + + + +
            +
          • +

            endedCount

            +
            public final int endedCount
            +
            The number of playbacks which reached the ended state at least once.
            +
          • +
          + + + +
            +
          • +

            backgroundJoiningCount

            +
            public final int backgroundJoiningCount
            +
            The number of playbacks which were pre-buffered in the background.
            +
          • +
          + + + +
            +
          • +

            totalValidJoinTimeMs

            +
            public final long totalValidJoinTimeMs
            +
            The total time spent joining the playback, in milliseconds, or C.TIME_UNSET if no valid + join time could be determined. + +

            Note that this does not include background joining time. A join time may be invalid if the + playback never reached PLAYBACK_STATE_PLAYING or PLAYBACK_STATE_PAUSED, or + joining was interrupted by a seek, stop, or error state.

            +
          • +
          + + + +
            +
          • +

            validJoinTimeCount

            +
            public final int validJoinTimeCount
            +
            The number of playbacks with a valid join time as documented in totalValidJoinTimeMs.
            +
          • +
          + + + +
            +
          • +

            totalPauseCount

            +
            public final int totalPauseCount
            +
            The total number of times a playback has been paused.
            +
          • +
          + + + +
            +
          • +

            totalPauseBufferCount

            +
            public final int totalPauseBufferCount
            +
            The total number of times a playback has been paused while rebuffering.
            +
          • +
          + + + +
            +
          • +

            totalSeekCount

            +
            public final int totalSeekCount
            +
            The total number of times a seek occurred. This includes seeks happening before playback + resumed after another seek.
            +
          • +
          + + + +
            +
          • +

            totalRebufferCount

            +
            public final int totalRebufferCount
            +
            The total number of times a rebuffer occurred. This excludes initial joining and buffering + after seek.
            +
          • +
          + + + +
            +
          • +

            maxRebufferTimeMs

            +
            public final long maxRebufferTimeMs
            +
            The maximum time spent during a single rebuffer, in milliseconds, or C.TIME_UNSET if no + rebuffer occurred.
            +
          • +
          + + + +
            +
          • +

            adPlaybackCount

            +
            public final int adPlaybackCount
            +
            The number of ad playbacks.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            totalVideoFormatHeightTimeMs

            +
            public final long totalVideoFormatHeightTimeMs
            +
            The total media time for which video format height data is available, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalVideoFormatHeightTimeProduct

            +
            public final long totalVideoFormatHeightTimeProduct
            +
            The accumulated sum of all video format heights, in pixels, times the time the format was used + for playback, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalVideoFormatBitrateTimeMs

            +
            public final long totalVideoFormatBitrateTimeMs
            +
            The total media time for which video format bitrate data is available, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalVideoFormatBitrateTimeProduct

            +
            public final long totalVideoFormatBitrateTimeProduct
            +
            The accumulated sum of all video format bitrates, in bits per second, times the time the format + was used for playback, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalAudioFormatTimeMs

            +
            public final long totalAudioFormatTimeMs
            +
            The total media time for which audio format data is available, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalAudioFormatBitrateTimeProduct

            +
            public final long totalAudioFormatBitrateTimeProduct
            +
            The accumulated sum of all audio format bitrates, in bits per second, times the time the format + was used for playback, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            initialVideoFormatHeightCount

            +
            public final int initialVideoFormatHeightCount
            +
            The number of playbacks with initial video format height data.
            +
          • +
          + + + +
            +
          • +

            initialVideoFormatBitrateCount

            +
            public final int initialVideoFormatBitrateCount
            +
            The number of playbacks with initial video format bitrate data.
            +
          • +
          + + + +
            +
          • +

            totalInitialVideoFormatHeight

            +
            public final int totalInitialVideoFormatHeight
            +
            The total initial video format height for all playbacks, in pixels, or C.LENGTH_UNSET + if no initial video format data is available.
            +
          • +
          + + + +
            +
          • +

            totalInitialVideoFormatBitrate

            +
            public final long totalInitialVideoFormatBitrate
            +
            The total initial video format bitrate for all playbacks, in bits per second, or C.LENGTH_UNSET if no initial video format data is available.
            +
          • +
          + + + +
            +
          • +

            initialAudioFormatBitrateCount

            +
            public final int initialAudioFormatBitrateCount
            +
            The number of playbacks with initial audio format bitrate data.
            +
          • +
          + + + +
            +
          • +

            totalInitialAudioFormatBitrate

            +
            public final long totalInitialAudioFormatBitrate
            +
            The total initial audio format bitrate for all playbacks, in bits per second, or C.LENGTH_UNSET if no initial audio format data is available.
            +
          • +
          + + + +
            +
          • +

            totalBandwidthTimeMs

            +
            public final long totalBandwidthTimeMs
            +
            The total time for which bandwidth measurement data is available, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            totalBandwidthBytes

            +
            public final long totalBandwidthBytes
            +
            The total bytes transferred during totalBandwidthTimeMs.
            +
          • +
          + + + +
            +
          • +

            totalDroppedFrames

            +
            public final long totalDroppedFrames
            +
            The total number of dropped video frames.
            +
          • +
          + + + +
            +
          • +

            totalAudioUnderruns

            +
            public final long totalAudioUnderruns
            +
            The total number of audio underruns.
            +
          • +
          + + + +
            +
          • +

            fatalErrorPlaybackCount

            +
            public final int fatalErrorPlaybackCount
            +
            The total number of playback with at least one fatal error. Errors are fatal if playback + stopped due to this error.
            +
          • +
          + + + +
            +
          • +

            fatalErrorCount

            +
            public final int fatalErrorCount
            +
            The total number of fatal errors. Errors are fatal if playback stopped due to this error.
            +
          • +
          + + + +
            +
          • +

            nonFatalErrorCount

            +
            public final int nonFatalErrorCount
            +
            The total number of non-fatal errors. Error are non-fatal if playback can recover from the + error without stopping.
            +
          • +
          + + + + + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getPlaybackStateDurationMs

            +
            public long getPlaybackStateDurationMs​(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int playbackState)
            +
            Returns the total time spent in a given PlaybackStats.PlaybackState, in milliseconds.
            +
            +
            Parameters:
            +
            playbackState - A PlaybackStats.PlaybackState.
            +
            Returns:
            +
            Total spent in the given playback state, in milliseconds
            +
            +
          • +
          + + + +
            +
          • +

            getPlaybackStateAtTime

            +
            public @com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int getPlaybackStateAtTime​(long realtimeMs)
            +
            Returns the PlaybackStats.PlaybackState at the given time.
            +
            +
            Parameters:
            +
            realtimeMs - The time as returned by SystemClock.elapsedRealtime().
            +
            Returns:
            +
            The PlaybackStats.PlaybackState at that time, or PLAYBACK_STATE_NOT_STARTED if the + given time is before the first known playback state in the history.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaTimeMsAtRealtimeMs

            +
            public long getMediaTimeMsAtRealtimeMs​(long realtimeMs)
            +
            Returns the estimated media time at the given realtime, in milliseconds, or C.TIME_UNSET if the media time history is unknown.
            +
            +
            Parameters:
            +
            realtimeMs - The realtime as returned by SystemClock.elapsedRealtime().
            +
            Returns:
            +
            The estimated media time in milliseconds at this realtime, C.TIME_UNSET if no + estimate can be given.
            +
            +
          • +
          + + + +
            +
          • +

            getMeanJoinTimeMs

            +
            public long getMeanJoinTimeMs()
            +
            Returns the mean time spent joining the playback, in milliseconds, or C.TIME_UNSET if + no valid join time is available. Only includes playbacks with valid join times as documented in + totalValidJoinTimeMs.
            +
          • +
          + + + +
            +
          • +

            getTotalJoinTimeMs

            +
            public long getTotalJoinTimeMs()
            +
            Returns the total time spent joining the playback in foreground, in milliseconds. This does + include invalid join times where the playback never reached PLAYBACK_STATE_PLAYING or + PLAYBACK_STATE_PAUSED, or joining was interrupted by a seek, stop, or error state.
            +
          • +
          + + + +
            +
          • +

            getTotalPlayTimeMs

            +
            public long getTotalPlayTimeMs()
            +
            Returns the total time spent actively playing, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getMeanPlayTimeMs

            +
            public long getMeanPlayTimeMs()
            +
            Returns the mean time spent actively playing per foreground playback, in milliseconds, or + C.TIME_UNSET if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getTotalPausedTimeMs

            +
            public long getTotalPausedTimeMs()
            +
            Returns the total time spent in a paused state, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getMeanPausedTimeMs

            +
            public long getMeanPausedTimeMs()
            +
            Returns the mean time spent in a paused state per foreground playback, in milliseconds, or + C.TIME_UNSET if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getTotalRebufferTimeMs

            +
            public long getTotalRebufferTimeMs()
            +
            Returns the total time spent rebuffering, in milliseconds. This excludes initial join times, + buffer times after a seek and buffering while paused.
            +
          • +
          + + + +
            +
          • +

            getMeanRebufferTimeMs

            +
            public long getMeanRebufferTimeMs()
            +
            Returns the mean time spent rebuffering per foreground playback, in milliseconds, or C.TIME_UNSET if no playback has been in foreground. This excludes initial join times, buffer + times after a seek and buffering while paused.
            +
          • +
          + + + +
            +
          • +

            getMeanSingleRebufferTimeMs

            +
            public long getMeanSingleRebufferTimeMs()
            +
            Returns the mean time spent during a single rebuffer, in milliseconds, or C.TIME_UNSET + if no rebuffer was recorded. This excludes initial join times and buffer times after a seek.
            +
          • +
          + + + +
            +
          • +

            getTotalSeekTimeMs

            +
            public long getTotalSeekTimeMs()
            +
            Returns the total time spent from the start of a seek until playback is ready again, in + milliseconds.
            +
          • +
          + + + +
            +
          • +

            getMeanSeekTimeMs

            +
            public long getMeanSeekTimeMs()
            +
            Returns the mean time spent per foreground playback from the start of a seek until playback is + ready again, in milliseconds, or C.TIME_UNSET if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getMeanSingleSeekTimeMs

            +
            public long getMeanSingleSeekTimeMs()
            +
            Returns the mean time spent from the start of a single seek until playback is ready again, in + milliseconds, or C.TIME_UNSET if no seek occurred.
            +
          • +
          + + + +
            +
          • +

            getTotalWaitTimeMs

            +
            public long getTotalWaitTimeMs()
            +
            Returns the total time spent actively waiting for playback, in milliseconds. This includes all + join times, rebuffer times and seek times, but excludes times without user intention to play, + e.g. all paused states.
            +
          • +
          + + + +
            +
          • +

            getMeanWaitTimeMs

            +
            public long getMeanWaitTimeMs()
            +
            Returns the mean time spent actively waiting for playback per foreground playback, in + milliseconds, or C.TIME_UNSET if no playback has been in foreground. This includes all + join times, rebuffer times and seek times, but excludes times without user intention to play, + e.g. all paused states.
            +
          • +
          + + + +
            +
          • +

            getTotalPlayAndWaitTimeMs

            +
            public long getTotalPlayAndWaitTimeMs()
            +
            Returns the total time spent playing or actively waiting for playback, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getMeanPlayAndWaitTimeMs

            +
            public long getMeanPlayAndWaitTimeMs()
            +
            Returns the mean time spent playing or actively waiting for playback per foreground playback, + in milliseconds, or C.TIME_UNSET if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getTotalElapsedTimeMs

            +
            public long getTotalElapsedTimeMs()
            +
            Returns the total time covered by any playback state, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getMeanElapsedTimeMs

            +
            public long getMeanElapsedTimeMs()
            +
            Returns the mean time covered by any playback state per playback, in milliseconds, or C.TIME_UNSET if no playback was recorded.
            +
          • +
          + + + +
            +
          • +

            getAbandonedBeforeReadyRatio

            +
            public float getAbandonedBeforeReadyRatio()
            +
            Returns the ratio of foreground playbacks which were abandoned before they were ready to play, + or 0.0 if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getEndedRatio

            +
            public float getEndedRatio()
            +
            Returns the ratio of foreground playbacks which reached the ended state at least once, or + 0.0 if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getMeanPauseCount

            +
            public float getMeanPauseCount()
            +
            Returns the mean number of times a playback has been paused per foreground playback, or + 0.0 if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getMeanPauseBufferCount

            +
            public float getMeanPauseBufferCount()
            +
            Returns the mean number of times a playback has been paused while rebuffering per foreground + playback, or 0.0 if no playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getMeanSeekCount

            +
            public float getMeanSeekCount()
            +
            Returns the mean number of times a seek occurred per foreground playback, or 0.0 if no + playback has been in foreground. This includes seeks happening before playback resumed after + another seek.
            +
          • +
          + + + +
            +
          • +

            getMeanRebufferCount

            +
            public float getMeanRebufferCount()
            +
            Returns the mean number of times a rebuffer occurred per foreground playback, or 0.0 if + no playback has been in foreground. This excludes initial joining and buffering after seek.
            +
          • +
          + + + + + + + +
            +
          • +

            getJoinTimeRatio

            +
            public float getJoinTimeRatio()
            +
            Returns the ratio of foreground join time to the total time spent playing and waiting, or + 0.0 if no time was spend playing or waiting. This is equivalent to getTotalJoinTimeMs() / getTotalPlayAndWaitTimeMs().
            +
          • +
          + + + +
            +
          • +

            getRebufferTimeRatio

            +
            public float getRebufferTimeRatio()
            +
            Returns the ratio of rebuffer time to the total time spent playing and waiting, or 0.0 + if no time was spend playing or waiting. This is equivalent to getTotalRebufferTimeMs() / getTotalPlayAndWaitTimeMs().
            +
          • +
          + + + +
            +
          • +

            getSeekTimeRatio

            +
            public float getSeekTimeRatio()
            +
            Returns the ratio of seek time to the total time spent playing and waiting, or 0.0 if + no time was spend playing or waiting. This is equivalent to getTotalSeekTimeMs() / + getTotalPlayAndWaitTimeMs().
            +
          • +
          + + + +
            +
          • +

            getRebufferRate

            +
            public float getRebufferRate()
            +
            Returns the rate of rebuffer events, in rebuffers per play time second, or 0.0 if no + time was spend playing. This is equivalent to 1.0 / getMeanTimeBetweenRebuffers().
            +
          • +
          + + + +
            +
          • +

            getMeanTimeBetweenRebuffers

            +
            public float getMeanTimeBetweenRebuffers()
            +
            Returns the mean play time between rebuffer events, in seconds. This is equivalent to 1.0 / + getRebufferRate(). Note that this may return Float.POSITIVE_INFINITY.
            +
          • +
          + + + +
            +
          • +

            getMeanInitialVideoFormatHeight

            +
            public int getMeanInitialVideoFormatHeight()
            +
            Returns the mean initial video format height, in pixels, or C.LENGTH_UNSET if no video + format data is available.
            +
          • +
          + + + +
            +
          • +

            getMeanInitialVideoFormatBitrate

            +
            public int getMeanInitialVideoFormatBitrate()
            +
            Returns the mean initial video format bitrate, in bits per second, or C.LENGTH_UNSET if + no video format data is available.
            +
          • +
          + + + +
            +
          • +

            getMeanInitialAudioFormatBitrate

            +
            public int getMeanInitialAudioFormatBitrate()
            +
            Returns the mean initial audio format bitrate, in bits per second, or C.LENGTH_UNSET if + no audio format data is available.
            +
          • +
          + + + +
            +
          • +

            getMeanVideoFormatHeight

            +
            public int getMeanVideoFormatHeight()
            +
            Returns the mean video format height, in pixels, or C.LENGTH_UNSET if no video format + data is available. This is a weighted average taking the time the format was used for playback + into account.
            +
          • +
          + + + +
            +
          • +

            getMeanVideoFormatBitrate

            +
            public int getMeanVideoFormatBitrate()
            +
            Returns the mean video format bitrate, in bits per second, or C.LENGTH_UNSET if no + video format data is available. This is a weighted average taking the time the format was used + for playback into account.
            +
          • +
          + + + +
            +
          • +

            getMeanAudioFormatBitrate

            +
            public int getMeanAudioFormatBitrate()
            +
            Returns the mean audio format bitrate, in bits per second, or C.LENGTH_UNSET if no + audio format data is available. This is a weighted average taking the time the format was used + for playback into account.
            +
          • +
          + + + +
            +
          • +

            getMeanBandwidth

            +
            public int getMeanBandwidth()
            +
            Returns the mean network bandwidth based on transfer measurements, in bits per second, or + C.LENGTH_UNSET if no transfer data is available.
            +
          • +
          + + + +
            +
          • +

            getDroppedFramesRate

            +
            public float getDroppedFramesRate()
            +
            Returns the mean rate at which video frames are dropped, in dropped frames per play time + second, or 0.0 if no time was spent playing.
            +
          • +
          + + + +
            +
          • +

            getAudioUnderrunRate

            +
            public float getAudioUnderrunRate()
            +
            Returns the mean rate at which audio underruns occurred, in underruns per play time second, or + 0.0 if no time was spent playing.
            +
          • +
          + + + +
            +
          • +

            getFatalErrorRatio

            +
            public float getFatalErrorRatio()
            +
            Returns the ratio of foreground playbacks which experienced fatal errors, or 0.0 if no + playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getFatalErrorRate

            +
            public float getFatalErrorRate()
            +
            Returns the rate of fatal errors, in errors per play time second, or 0.0 if no time was + spend playing. This is equivalent to 1.0 / getMeanTimeBetweenFatalErrors().
            +
          • +
          + + + +
            +
          • +

            getMeanTimeBetweenFatalErrors

            +
            public float getMeanTimeBetweenFatalErrors()
            +
            Returns the mean play time between fatal errors, in seconds. This is equivalent to 1.0 / getFatalErrorRate(). Note that this may return Float.POSITIVE_INFINITY.
            +
          • +
          + + + +
            +
          • +

            getMeanNonFatalErrorCount

            +
            public float getMeanNonFatalErrorCount()
            +
            Returns the mean number of non-fatal errors per foreground playback, or 0.0 if no + playback has been in foreground.
            +
          • +
          + + + +
            +
          • +

            getNonFatalErrorRate

            +
            public float getNonFatalErrorRate()
            +
            Returns the rate of non-fatal errors, in errors per play time second, or 0.0 if no time + was spend playing. This is equivalent to 1.0 / getMeanTimeBetweenNonFatalErrors().
            +
          • +
          + + + +
            +
          • +

            getMeanTimeBetweenNonFatalErrors

            +
            public float getMeanTimeBetweenNonFatalErrors()
            +
            Returns the mean play time between non-fatal errors, in seconds. This is equivalent to 1.0 / + getNonFatalErrorRate(). Note that this may return Float.POSITIVE_INFINITY.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.Callback.html new file mode 100644 index 0000000000..c7cad48031 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.Callback.html @@ -0,0 +1,262 @@ + + + + +PlaybackStatsListener.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlaybackStatsListener.Callback

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.html new file mode 100644 index 0000000000..9c9b38f26a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/PlaybackStatsListener.html @@ -0,0 +1,819 @@ + + + + +PlaybackStatsListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackStatsListener

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.analytics.PlaybackStatsListener
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-frame.html new file mode 100644 index 0000000000..5156ce119d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-frame.html @@ -0,0 +1,46 @@ + + + + +com.google.android.exoplayer2.analytics (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.analytics

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-summary.html new file mode 100644 index 0000000000..802b7230f8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-summary.html @@ -0,0 +1,270 @@ + + + + +com.google.android.exoplayer2.analytics (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.analytics

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-tree.html new file mode 100644 index 0000000000..fd39bc2120 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/analytics/package-tree.html @@ -0,0 +1,184 @@ + + + + +com.google.android.exoplayer2.analytics Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.analytics

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.AacAudioObjectType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.AacAudioObjectType.html new file mode 100644 index 0000000000..a77f37a214 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.AacAudioObjectType.html @@ -0,0 +1,189 @@ + + + + +AacUtil.AacAudioObjectType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AacUtil.AacAudioObjectType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.Config.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.Config.html new file mode 100644 index 0000000000..d1b9ffc1e5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.Config.html @@ -0,0 +1,306 @@ + + + + +AacUtil.Config (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AacUtil.Config

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AacUtil.Config
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        AacUtil
        +
        +
        +
        public static final class AacUtil.Config
        +extends Object
        +
        Holds sample format information for AAC audio.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            sampleRateHz

            +
            public final int sampleRateHz
            +
            The sample rate in Hertz.
            +
          • +
          + + + +
            +
          • +

            channelCount

            +
            public final int channelCount
            +
            The number of channels.
            +
          • +
          + + + +
            +
          • +

            codecs

            +
            public final String codecs
            +
            The RFC 6381 codecs string.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.html new file mode 100644 index 0000000000..27a26c8957 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AacUtil.html @@ -0,0 +1,738 @@ + + + + +AacUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AacUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class AacUtil
        +extends Object
        +
        Utility methods for handling AAC audio streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            AAC_LC_AUDIO_SAMPLE_COUNT

            +
            public static final int AAC_LC_AUDIO_SAMPLE_COUNT
            +
            Number of raw audio samples that are produced per channel when decoding an AAC LC access unit.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_XHE_AUDIO_SAMPLE_COUNT

            +
            public static final int AAC_XHE_AUDIO_SAMPLE_COUNT
            +
            Number of raw audio samples that are produced per channel when decoding an AAC XHE access unit.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_HE_AUDIO_SAMPLE_COUNT

            +
            public static final int AAC_HE_AUDIO_SAMPLE_COUNT
            +
            Number of raw audio samples that are produced per channel when decoding an AAC HE access unit.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_LD_AUDIO_SAMPLE_COUNT

            +
            public static final int AAC_LD_AUDIO_SAMPLE_COUNT
            +
            Number of raw audio samples that are produced per channel when decoding an AAC LD access unit.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_LC_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AAC_LC_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AAC LC audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_HE_V1_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AAC_HE_V1_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AAC HE V1 audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_HE_V2_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AAC_HE_V2_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AAC HE V2 audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_XHE_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AAC_XHE_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AAC XHE audio stream, in bytes per second. + +

            Fraunhofer documentation says "500 kbit/s and above" for stereo, so we use a rate generously + above the 500 kbit/s level.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AAC_ELD_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AAC_ELD_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AAC ELD audio stream, in bytes per second. + +

            Fraunhofer documentation shows AAC-ELD as useful for up to ~ 64 kbit/s so we use this value.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_LC

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_LC
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_SBR

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_SBR
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_ER_BSAC

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_ER_BSAC
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_ELD

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_ELD
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_PS

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_PS
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AUDIO_OBJECT_TYPE_AAC_XHE

            +
            public static final int AUDIO_OBJECT_TYPE_AAC_XHE
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseAudioSpecificConfig

            +
            public static AacUtil.Config parseAudioSpecificConfig​(byte[] audioSpecificConfig)
            +                                               throws ParserException
            +
            Parses an AAC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
            +
            +
            Parameters:
            +
            audioSpecificConfig - A byte array containing the AudioSpecificConfig to parse.
            +
            Returns:
            +
            The parsed configuration.
            +
            Throws:
            +
            ParserException - If the AudioSpecificConfig cannot be parsed because it is invalid or + unsupported.
            +
            +
          • +
          + + + +
            +
          • +

            parseAudioSpecificConfig

            +
            public static AacUtil.Config parseAudioSpecificConfig​(ParsableBitArray bitArray,
            +                                                      boolean forceReadToEnd)
            +                                               throws ParserException
            +
            Parses an AAC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
            +
            +
            Parameters:
            +
            bitArray - A ParsableBitArray containing the AudioSpecificConfig to parse. The + position is advanced to the end of the AudioSpecificConfig.
            +
            forceReadToEnd - Whether the entire AudioSpecificConfig should be read. Required for + knowing the length of the configuration payload.
            +
            Returns:
            +
            The parsed configuration.
            +
            Throws:
            +
            ParserException - If the AudioSpecificConfig cannot be parsed because it is invalid or + unsupported.
            +
            +
          • +
          + + + +
            +
          • +

            buildAacLcAudioSpecificConfig

            +
            public static byte[] buildAacLcAudioSpecificConfig​(int sampleRate,
            +                                                   int channelCount)
            +
            Builds a simple AAC LC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
            +
            +
            Parameters:
            +
            sampleRate - The sample rate in Hz.
            +
            channelCount - The channel count.
            +
            Returns:
            +
            The AudioSpecificConfig.
            +
            +
          • +
          + + + +
            +
          • +

            buildAudioSpecificConfig

            +
            public static byte[] buildAudioSpecificConfig​(int audioObjectType,
            +                                              int sampleRateIndex,
            +                                              int channelConfig)
            +
            Builds a simple AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
            +
            +
            Parameters:
            +
            audioObjectType - The audio object type.
            +
            sampleRateIndex - The sample rate index.
            +
            channelConfig - The channel configuration.
            +
            Returns:
            +
            The AudioSpecificConfig.
            +
            +
          • +
          + + + +
            +
          • +

            getEncodingForAudioObjectType

            +
            @Encoding
            +public static int getEncodingForAudioObjectType​(@AacAudioObjectType
            +                                                int audioObjectType)
            +
            Returns the encoding for a given AAC audio object type.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.StreamType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.StreamType.html new file mode 100644 index 0000000000..56a3a270e7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.StreamType.html @@ -0,0 +1,189 @@ + + + + +Ac3Util.SyncFrameInfo.StreamType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Ac3Util.SyncFrameInfo.StreamType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.html new file mode 100644 index 0000000000..d0de8e17c6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.SyncFrameInfo.html @@ -0,0 +1,466 @@ + + + + +Ac3Util.SyncFrameInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac3Util.SyncFrameInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Ac3Util
        +
        +
        +
        public static final class Ac3Util.SyncFrameInfo
        +extends Object
        +
        Holds sample format information as presented by a syncframe header.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            STREAM_TYPE_UNDEFINED

            +
            public static final int STREAM_TYPE_UNDEFINED
            +
            Undefined AC3 stream type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STREAM_TYPE_TYPE0

            +
            public static final int STREAM_TYPE_TYPE0
            +
            Type 0 AC3 stream type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STREAM_TYPE_TYPE1

            +
            public static final int STREAM_TYPE_TYPE1
            +
            Type 1 AC3 stream type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STREAM_TYPE_TYPE2

            +
            public static final int STREAM_TYPE_TYPE2
            +
            Type 2 AC3 stream type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            The audio sampling rate in Hz.
            +
          • +
          + + + +
            +
          • +

            channelCount

            +
            public final int channelCount
            +
            The number of audio channels
            +
          • +
          + + + +
            +
          • +

            frameSize

            +
            public final int frameSize
            +
            The size of the frame.
            +
          • +
          + + + +
            +
          • +

            sampleCount

            +
            public final int sampleCount
            +
            Number of audio samples in the frame.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.html new file mode 100644 index 0000000000..40fa1cd9b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac3Util.html @@ -0,0 +1,623 @@ + + + + +Ac3Util (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac3Util

      +
      +
      + +
      +
        +
      • +
        +
        public final class Ac3Util
        +extends Object
        +
        Utility methods for parsing Dolby TrueHD and (E-)AC-3 syncframes. (E-)AC-3 parsing follows the + definition in ETSI TS 102 366 V1.4.1.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            AC3_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int AC3_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AC-3 audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            E_AC3_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int E_AC3_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an E-AC-3 audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TRUEHD_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int TRUEHD_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for a TrueHD audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TRUEHD_RECHUNK_SAMPLE_COUNT

            +
            public static final int TRUEHD_RECHUNK_SAMPLE_COUNT
            +
            The number of samples to store in each output chunk when rechunking TrueHD streams. The number + of samples extracted from the container corresponding to one syncframe must be an integer + multiple of this value.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TRUEHD_SYNCFRAME_PREFIX_LENGTH

            +
            public static final int TRUEHD_SYNCFRAME_PREFIX_LENGTH
            +
            The number of bytes that must be parsed from a TrueHD syncframe to calculate the sample count.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseAc3AnnexFFormat

            +
            public static Format parseAc3AnnexFFormat​(ParsableByteArray data,
            +                                          String trackId,
            +                                          String language,
            +                                          @Nullable
            +                                          DrmInitData drmInitData)
            +
            Returns the AC-3 format given data containing the AC3SpecificBox according to Annex F. + The reading position of data will be modified.
            +
            +
            Parameters:
            +
            data - The AC3SpecificBox to parse.
            +
            trackId - The track identifier to set on the format.
            +
            language - The language to set on the format.
            +
            drmInitData - DrmInitData to be included in the format.
            +
            Returns:
            +
            The AC-3 format parsed from data in the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseEAc3AnnexFFormat

            +
            public static Format parseEAc3AnnexFFormat​(ParsableByteArray data,
            +                                           String trackId,
            +                                           String language,
            +                                           @Nullable
            +                                           DrmInitData drmInitData)
            +
            Returns the E-AC-3 format given data containing the EC3SpecificBox according to Annex + F. The reading position of data will be modified.
            +
            +
            Parameters:
            +
            data - The EC3SpecificBox to parse.
            +
            trackId - The track identifier to set on the format.
            +
            language - The language to set on the format.
            +
            drmInitData - DrmInitData to be included in the format.
            +
            Returns:
            +
            The E-AC-3 format parsed from data in the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc3SyncframeInfo

            +
            public static Ac3Util.SyncFrameInfo parseAc3SyncframeInfo​(ParsableBitArray data)
            +
            Returns (E-)AC-3 format information given data containing a syncframe. The reading + position of data will be modified.
            +
            +
            Parameters:
            +
            data - The data to parse, positioned at the start of the syncframe.
            +
            Returns:
            +
            The (E-)AC-3 format data parsed from the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc3SyncframeSize

            +
            public static int parseAc3SyncframeSize​(byte[] data)
            +
            Returns the size in bytes of the given (E-)AC-3 syncframe.
            +
            +
            Parameters:
            +
            data - The syncframe to parse.
            +
            Returns:
            +
            The syncframe size in bytes. C.LENGTH_UNSET if the input is invalid.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc3SyncframeAudioSampleCount

            +
            public static int parseAc3SyncframeAudioSampleCount​(ByteBuffer buffer)
            +
            Reads the number of audio samples represented by the given (E-)AC-3 syncframe. The buffer's + position is not modified.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer from which to read the syncframe.
            +
            Returns:
            +
            The number of audio samples represented by the syncframe.
            +
            +
          • +
          + + + +
            +
          • +

            findTrueHdSyncframeOffset

            +
            public static int findTrueHdSyncframeOffset​(ByteBuffer buffer)
            +
            Returns the offset relative to the buffer's position of the start of a TrueHD syncframe, or + C.INDEX_UNSET if no syncframe was found. The buffer's position is not modified.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer within which to find a syncframe.
            +
            Returns:
            +
            The offset relative to the buffer's position of the start of a TrueHD syncframe, or + C.INDEX_UNSET if no syncframe was found.
            +
            +
          • +
          + + + +
            +
          • +

            parseTrueHdSyncframeAudioSampleCount

            +
            public static int parseTrueHdSyncframeAudioSampleCount​(byte[] syncframe)
            +
            Returns the number of audio samples represented by the given TrueHD syncframe, or 0 if the + buffer is not the start of a syncframe.
            +
            +
            Parameters:
            +
            syncframe - The bytes from which to read the syncframe. Must be at least TRUEHD_SYNCFRAME_PREFIX_LENGTH bytes long.
            +
            Returns:
            +
            The number of audio samples represented by the syncframe, or 0 if the buffer doesn't + contain the start of a syncframe.
            +
            +
          • +
          + + + +
            +
          • +

            parseTrueHdSyncframeAudioSampleCount

            +
            public static int parseTrueHdSyncframeAudioSampleCount​(ByteBuffer buffer,
            +                                                       int offset)
            +
            Reads the number of audio samples represented by a TrueHD syncframe. The buffer's position is + not modified.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer from which to read the syncframe.
            +
            offset - The offset of the start of the syncframe relative to the buffer's position.
            +
            Returns:
            +
            The number of audio samples represented by the syncframe.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.SyncFrameInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.SyncFrameInfo.html new file mode 100644 index 0000000000..93744f821b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.SyncFrameInfo.html @@ -0,0 +1,340 @@ + + + + +Ac4Util.SyncFrameInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac4Util.SyncFrameInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Ac4Util
        +
        +
        +
        public static final class Ac4Util.SyncFrameInfo
        +extends Object
        +
        Holds sample format information as presented by a syncframe header.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            bitstreamVersion

            +
            public final int bitstreamVersion
            +
            The bitstream version.
            +
          • +
          + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            The audio sampling rate in Hz.
            +
          • +
          + + + +
            +
          • +

            channelCount

            +
            public final int channelCount
            +
            The number of audio channels
            +
          • +
          + + + +
            +
          • +

            frameSize

            +
            public final int frameSize
            +
            The size of the frame.
            +
          • +
          + + + +
            +
          • +

            sampleCount

            +
            public final int sampleCount
            +
            Number of audio samples in the frame.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.html new file mode 100644 index 0000000000..862061e1e4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/Ac4Util.html @@ -0,0 +1,525 @@ + + + + +Ac4Util (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac4Util

      +
      +
      + +
      +
        +
      • +
        +
        public final class Ac4Util
        +extends Object
        +
        Utility methods for parsing AC-4 frames, which are access units in AC-4 bitstreams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + + + + + +
            +
          • +

            MAX_RATE_BYTES_PER_SECOND

            +
            public static final int MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an AC-4 audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SAMPLE_HEADER_SIZE

            +
            public static final int SAMPLE_HEADER_SIZE
            +
            The AC-4 sync frame header size for extractor. The seven bytes are 0xAC, 0x40, 0xFF, 0xFF, + sizeByte1, sizeByte2, sizeByte3. See ETSI TS 103 190-1 V1.3.1, Annex G
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            HEADER_SIZE_FOR_PARSER

            +
            public static final int HEADER_SIZE_FOR_PARSER
            +
            The header size for AC-4 parser. Only needs to be as big as we need to read, not the full + header size.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseAc4AnnexEFormat

            +
            public static Format parseAc4AnnexEFormat​(ParsableByteArray data,
            +                                          String trackId,
            +                                          String language,
            +                                          @Nullable
            +                                          DrmInitData drmInitData)
            +
            Returns the AC-4 format given data containing the AC4SpecificBox according to ETSI TS + 103 190-1 Annex E. The reading position of data will be modified.
            +
            +
            Parameters:
            +
            data - The AC4SpecificBox to parse.
            +
            trackId - The track identifier to set on the format.
            +
            language - The language to set on the format.
            +
            drmInitData - DrmInitData to be included in the format.
            +
            Returns:
            +
            The AC-4 format parsed from data in the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc4SyncframeInfo

            +
            public static Ac4Util.SyncFrameInfo parseAc4SyncframeInfo​(ParsableBitArray data)
            +
            Returns AC-4 format information given data containing a syncframe. The reading position + of data will be modified.
            +
            +
            Parameters:
            +
            data - The data to parse, positioned at the start of the syncframe.
            +
            Returns:
            +
            The AC-4 format data parsed from the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc4SyncframeSize

            +
            public static int parseAc4SyncframeSize​(byte[] data,
            +                                        int syncword)
            +
            Returns the size in bytes of the given AC-4 syncframe.
            +
            +
            Parameters:
            +
            data - The syncframe to parse.
            +
            syncword - The syncword value for the syncframe.
            +
            Returns:
            +
            The syncframe size in bytes, or C.LENGTH_UNSET if the input is invalid.
            +
            +
          • +
          + + + +
            +
          • +

            parseAc4SyncframeAudioSampleCount

            +
            public static int parseAc4SyncframeAudioSampleCount​(ByteBuffer buffer)
            +
            Reads the number of audio samples represented by the given AC-4 syncframe. The buffer's + position is not modified.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer from which to read the syncframe.
            +
            Returns:
            +
            The number of audio samples represented by the syncframe.
            +
            +
          • +
          + + + +
            +
          • +

            getAc4SampleHeader

            +
            public static void getAc4SampleHeader​(int size,
            +                                      ParsableByteArray buffer)
            +
            Populates buffer with an AC-4 sample header for a sample of the specified size.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.Builder.html new file mode 100644 index 0000000000..2c055cb673 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.Builder.html @@ -0,0 +1,386 @@ + + + + +AudioAttributes.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioAttributes.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioAttributes.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.html new file mode 100644 index 0000000000..d61a12b013 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioAttributes.html @@ -0,0 +1,433 @@ + + + + +AudioAttributes (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioAttributes

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioAttributes
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class AudioAttributes
        +extends Object
        +
        Attributes for audio playback, which configure the underlying platform AudioTrack. + +

        To set the audio attributes, create an instance using the AudioAttributes.Builder and either pass it + to the player or send a message of type Renderer#MSG_SET_AUDIO_ATTRIBUTES to the audio + renderers. + +

        This class is based on AudioAttributes, but can be used on all supported + API versions.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilities.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilities.html new file mode 100644 index 0000000000..77d910dac0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilities.html @@ -0,0 +1,463 @@ + + + + +AudioCapabilities (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioCapabilities

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioCapabilities
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class AudioCapabilities
        +extends Object
        +
        Represents the set of audio formats that a device is capable of playing.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_AUDIO_CAPABILITIES

            +
            public static final AudioCapabilities DEFAULT_AUDIO_CAPABILITIES
            +
            The minimum audio capabilities supported by all devices.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AudioCapabilities

            +
            public AudioCapabilities​(@Nullable
            +                         int[] supportedEncodings,
            +                         int maxChannelCount)
            +
            Constructs new audio capabilities based on a set of supported encodings and a maximum channel + count. + +

            Applications should generally call getCapabilities(Context) to obtain an instance + based on the capabilities advertised by the platform, rather than calling this constructor.

            +
            +
            Parameters:
            +
            supportedEncodings - Supported audio encodings from AudioFormat's + ENCODING_* constants. Passing null indicates that no encodings are + supported.
            +
            maxChannelCount - The maximum number of audio channels that can be played simultaneously.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getCapabilities

            +
            public static AudioCapabilities getCapabilities​(Context context)
            +
            Returns the current audio capabilities for the device.
            +
            +
            Parameters:
            +
            context - A context for obtaining the current audio capabilities.
            +
            Returns:
            +
            The current audio capabilities for the device.
            +
            +
          • +
          + + + +
            +
          • +

            supportsEncoding

            +
            public boolean supportsEncoding​(@Encoding
            +                                int encoding)
            +
            Returns whether this device supports playback of the specified audio encoding.
            +
            +
            Parameters:
            +
            encoding - One of C.Encoding's ENCODING_* constants.
            +
            Returns:
            +
            Whether this device supports playback the specified audio encoding.
            +
            +
          • +
          + + + +
            +
          • +

            getMaxChannelCount

            +
            public int getMaxChannelCount()
            +
            Returns the maximum number of channels the device can play at the same time.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object other)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html new file mode 100644 index 0000000000..5b01092c96 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.Listener.html @@ -0,0 +1,258 @@ + + + + +AudioCapabilitiesReceiver.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioCapabilitiesReceiver.Listener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        AudioCapabilitiesReceiver
        +
        +
        +
        public static interface AudioCapabilitiesReceiver.Listener
        +
        Listener notified when audio capabilities change.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onAudioCapabilitiesChanged

            +
            void onAudioCapabilitiesChanged​(AudioCapabilities audioCapabilities)
            +
            Called when the audio capabilities change.
            +
            +
            Parameters:
            +
            audioCapabilities - The current audio capabilities for the device.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.html new file mode 100644 index 0000000000..964021cdc8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioCapabilitiesReceiver.html @@ -0,0 +1,359 @@ + + + + +AudioCapabilitiesReceiver (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioCapabilitiesReceiver

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class AudioCapabilitiesReceiver
        +extends Object
        +
        Receives broadcast events indicating changes to the device's audio capabilities, notifying a + AudioCapabilitiesReceiver.Listener when audio capability changes occur.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AudioCapabilitiesReceiver

            +
            public AudioCapabilitiesReceiver​(Context context,
            +                                 AudioCapabilitiesReceiver.Listener listener)
            +
            +
            Parameters:
            +
            context - A context for registering the receiver.
            +
            listener - The listener to notify when audio capabilities change.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            register

            +
            public AudioCapabilities register()
            +
            Registers the receiver, meaning it will notify the listener when audio capability changes + occur. The current audio capabilities will be returned. It is important to call + unregister() when the receiver is no longer required.
            +
            +
            Returns:
            +
            The current audio capabilities for the device.
            +
            +
          • +
          + + + +
            +
          • +

            unregister

            +
            public void unregister()
            +
            Unregisters the receiver, meaning it will no longer notify the listener when audio capability + changes occur.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioListener.html new file mode 100644 index 0000000000..721ead2fe3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioListener.html @@ -0,0 +1,317 @@ + + + + +AudioListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioListener

      +
      +
      +
      +
        +
      • +
        +
        public interface AudioListener
        +
        A listener for changes in audio configuration.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onAudioSessionIdChanged

            +
            default void onAudioSessionIdChanged​(int audioSessionId)
            +
            Called when the audio session ID changes.
            +
            +
            Parameters:
            +
            audioSessionId - The audio session ID.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioAttributesChanged

            +
            default void onAudioAttributesChanged​(AudioAttributes audioAttributes)
            +
            Called when the audio attributes change.
            +
            +
            Parameters:
            +
            audioAttributes - The audio attributes.
            +
            +
          • +
          + + + +
            +
          • +

            onVolumeChanged

            +
            default void onVolumeChanged​(float volume)
            +
            Called when the volume changes.
            +
            +
            Parameters:
            +
            volume - The new volume, with 0 being silence and 1 being unity gain.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipSilenceEnabledChanged

            +
            default void onSkipSilenceEnabledChanged​(boolean skipSilenceEnabled)
            +
            Called when skipping silences is enabled or disabled in the audio stream.
            +
            +
            Parameters:
            +
            skipSilenceEnabled - Whether skipping silences in the audio stream is enabled.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html new file mode 100644 index 0000000000..54e8059870 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.AudioFormat.html @@ -0,0 +1,419 @@ + + + + +AudioProcessor.AudioFormat (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioProcessor.AudioFormat

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        AudioProcessor
        +
        +
        +
        public static final class AudioProcessor.AudioFormat
        +extends Object
        +
        PCM audio format that may be handled by an audio processor.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            The sample rate in Hertz.
            +
          • +
          + + + +
            +
          • +

            channelCount

            +
            public final int channelCount
            +
            The number of interleaved channels.
            +
          • +
          + + + +
            +
          • +

            encoding

            +
            @PcmEncoding
            +public final int encoding
            +
            The type of linear PCM encoding.
            +
          • +
          + + + +
            +
          • +

            bytesPerFrame

            +
            public final int bytesPerFrame
            +
            The number of bytes used to represent one audio frame.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AudioFormat

            +
            public AudioFormat​(int sampleRate,
            +                   int channelCount,
            +                   @PcmEncoding
            +                   int encoding)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html new file mode 100644 index 0000000000..3061626c26 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.UnhandledAudioFormatException.html @@ -0,0 +1,292 @@ + + + + +AudioProcessor.UnhandledAudioFormatException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioProcessor.UnhandledAudioFormatException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        AudioProcessor
        +
        +
        +
        public static final class AudioProcessor.UnhandledAudioFormatException
        +extends Exception
        +
        Exception thrown when a processor can't be configured for a given input audio format.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.html new file mode 100644 index 0000000000..b9b2bc20ac --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioProcessor.html @@ -0,0 +1,485 @@ + + + + +AudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioProcessor

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        BaseAudioProcessor, GvrAudioProcessor, SilenceSkippingAudioProcessor, SonicAudioProcessor, TeeAudioProcessor
        +
        +
        +
        public interface AudioProcessor
        +
        Interface for audio processors, which take audio data as input and transform it, potentially + modifying its channel count, encoding and/or sample rate. + +

        In addition to being able to modify the format of audio, implementations may allow parameters + to be set that affect the output audio and whether the processor is active/inactive.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeInterfaceDescription
          static class AudioProcessor.AudioFormat +
          PCM audio format that may be handled by an audio processor.
          +
          static class AudioProcessor.UnhandledAudioFormatException +
          Exception thrown when a processor can't be configured for a given input audio format.
          +
          +
        • +
        + + + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          AudioProcessor.AudioFormatconfigure​(AudioProcessor.AudioFormat inputAudioFormat) +
          Configures the processor to process input audio with the specified format.
          +
          voidflush() +
          Clears any buffered data and pending output.
          +
          ByteBuffergetOutput() +
          Returns a buffer containing processed output data between its position and limit.
          +
          booleanisActive() +
          Returns whether the processor is configured and will process input buffers.
          +
          booleanisEnded() +
          Returns whether this processor will return no more output from getOutput() until it + has been flush()ed and more input has been queued.
          +
          voidqueueEndOfStream() +
          Queues an end of stream signal.
          +
          voidqueueInput​(ByteBuffer buffer) +
          Queues audio data between the position and limit of the input buffer for processing.
          +
          voidreset() +
          Resets the processor to its unconfigured state, releasing any resources.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            configure

            +
            AudioProcessor.AudioFormat configure​(AudioProcessor.AudioFormat inputAudioFormat)
            +                              throws AudioProcessor.UnhandledAudioFormatException
            +
            Configures the processor to process input audio with the specified format. After calling this + method, call isActive() to determine whether the audio processor is active. Returns + the configured output audio format if this instance is active. + +

            After calling this method, it is necessary to flush() the processor to apply the + new configuration. Before applying the new configuration, it is safe to queue input and get + output in the old input/output formats. Call queueEndOfStream() when no more input + will be supplied in the old input format.

            +
            +
            Parameters:
            +
            inputAudioFormat - The format of audio that will be queued after the next call to flush().
            +
            Returns:
            +
            The configured output audio format if this instance is active.
            +
            Throws:
            +
            AudioProcessor.UnhandledAudioFormatException - Thrown if the specified format can't be handled as input.
            +
            +
          • +
          + + + +
            +
          • +

            isActive

            +
            boolean isActive()
            +
            Returns whether the processor is configured and will process input buffers.
            +
          • +
          + + + +
            +
          • +

            queueInput

            +
            void queueInput​(ByteBuffer buffer)
            +
            Queues audio data between the position and limit of the input buffer for processing. + buffer must be a direct byte buffer with native byte order. Its contents are treated as + read-only. Its position will be advanced by the number of bytes consumed (which may be zero). + The caller retains ownership of the provided buffer. Calling this method invalidates any + previous buffer returned by getOutput().
            +
            +
            Parameters:
            +
            buffer - The input buffer to process.
            +
            +
          • +
          + + + +
            +
          • +

            queueEndOfStream

            +
            void queueEndOfStream()
            +
            Queues an end of stream signal. After this method has been called, + queueInput(ByteBuffer) may not be called until after the next call to + flush(). Calling getOutput() will return any remaining output data. Multiple + calls may be required to read all of the remaining output data. isEnded() will return + true once all remaining output data has been read.
            +
          • +
          + + + +
            +
          • +

            getOutput

            +
            ByteBuffer getOutput()
            +
            Returns a buffer containing processed output data between its position and limit. The buffer + will always be a direct byte buffer with native byte order. Calling this method invalidates any + previously returned buffer. The buffer will be empty if no output is available.
            +
            +
            Returns:
            +
            A buffer containing processed output data between its position and limit.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            boolean isEnded()
            +
            Returns whether this processor will return no more output from getOutput() until it + has been flush()ed and more input has been queued.
            +
          • +
          + + + +
            +
          • +

            flush

            +
            void flush()
            +
            Clears any buffered data and pending output. If the audio processor is active, also prepares + the audio processor to receive a new stream of input in the last configured (pending) format.
            +
          • +
          + + + +
            +
          • +

            reset

            +
            void reset()
            +
            Resets the processor to its unconfigured state, releasing any resources.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html new file mode 100644 index 0000000000..fc0472c189 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.EventDispatcher.html @@ -0,0 +1,463 @@ + + + + +AudioRendererEventListener.EventDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioRendererEventListener.EventDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.html new file mode 100644 index 0000000000..bd8f2b66d1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioRendererEventListener.html @@ -0,0 +1,508 @@ + + + + +AudioRendererEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioRendererEventListener

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        AnalyticsCollector
        +
        +
        +
        public interface AudioRendererEventListener
        +
        Listener of audio Renderer events. All methods have no-op default implementations to + allow selective overrides.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onAudioEnabled

            +
            default void onAudioEnabled​(DecoderCounters counters)
            +
            Called when the renderer is enabled.
            +
            +
            Parameters:
            +
            counters - DecoderCounters that will be updated by the renderer for as long as it + remains enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioDecoderInitialized

            +
            default void onAudioDecoderInitialized​(String decoderName,
            +                                       long initializedTimestampMs,
            +                                       long initializationDurationMs)
            +
            Called when a decoder is created.
            +
            +
            Parameters:
            +
            decoderName - The decoder that was created.
            +
            initializedTimestampMs - SystemClock.elapsedRealtime() when initialization + finished.
            +
            initializationDurationMs - The time taken to initialize the decoder in milliseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onAudioInputFormatChanged

            +
            default void onAudioInputFormatChanged​(Format format,
            +                                       @Nullable
            +                                       DecoderReuseEvaluation decoderReuseEvaluation)
            +
            Called when the format of the media being consumed by the renderer changes.
            +
            +
            Parameters:
            +
            format - The new format.
            +
            decoderReuseEvaluation - The result of the evaluation to determine whether an existing + decoder instance can be reused for the new format, or null if the renderer did not + have a decoder.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioPositionAdvancing

            +
            default void onAudioPositionAdvancing​(long playoutStartSystemTimeMs)
            +
            Called when the audio position has increased for the first time since the last pause or + position reset.
            +
            +
            Parameters:
            +
            playoutStartSystemTimeMs - The approximate derived System.currentTimeMillis() at + which playout started.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioUnderrun

            +
            default void onAudioUnderrun​(int bufferSize,
            +                             long bufferSizeMs,
            +                             long elapsedSinceLastFeedMs)
            +
            Called when an audio underrun occurs.
            +
            +
            Parameters:
            +
            bufferSize - The size of the audio output buffer, in bytes.
            +
            bufferSizeMs - The size of the audio output buffer, in milliseconds, if it contains PCM + encoded audio. C.TIME_UNSET if the output buffer contains non-PCM encoded audio.
            +
            elapsedSinceLastFeedMs - The time since audio was last written to the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioDecoderReleased

            +
            default void onAudioDecoderReleased​(String decoderName)
            +
            Called when a decoder is released.
            +
            +
            Parameters:
            +
            decoderName - The decoder that was released.
            +
            +
          • +
          + + + +
            +
          • +

            onAudioDisabled

            +
            default void onAudioDisabled​(DecoderCounters counters)
            +
            Called when the renderer is disabled.
            +
            +
            Parameters:
            +
            counters - DecoderCounters that were updated by the renderer.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipSilenceEnabledChanged

            +
            default void onSkipSilenceEnabledChanged​(boolean skipSilenceEnabled)
            +
            Called when skipping silences is enabled or disabled in the audio stream.
            +
            +
            Parameters:
            +
            skipSilenceEnabled - Whether skipping silences in the audio stream is enabled.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.ConfigurationException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.ConfigurationException.html new file mode 100644 index 0000000000..b1c2b1c9ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.ConfigurationException.html @@ -0,0 +1,356 @@ + + + + +AudioSink.ConfigurationException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioSink.ConfigurationException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        AudioSink
        +
        +
        +
        public static final class AudioSink.ConfigurationException
        +extends Exception
        +
        Thrown when a failure occurs configuring the sink.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            Input Format of the sink when the configuration failure occurs.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ConfigurationException

            +
            public ConfigurationException​(Throwable cause,
            +                              Format format)
            +
            Creates a new configuration exception with the specified cause and no message.
            +
          • +
          + + + +
            +
          • +

            ConfigurationException

            +
            public ConfigurationException​(String message,
            +                              Format format)
            +
            Creates a new configuration exception with the specified message and no cause.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.InitializationException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.InitializationException.html new file mode 100644 index 0000000000..8d1eda74db --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.InitializationException.html @@ -0,0 +1,393 @@ + + + + +AudioSink.InitializationException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioSink.InitializationException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        AudioSink
        +
        +
        +
        public static final class AudioSink.InitializationException
        +extends Exception
        +
        Thrown when a failure occurs initializing the sink.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            audioTrackState

            +
            public final int audioTrackState
            +
            The underlying AudioTrack's state.
            +
          • +
          + + + +
            +
          • +

            isRecoverable

            +
            public final boolean isRecoverable
            +
            If the exception can be recovered by recreating the sink.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            The input Format of the sink when the error occurs.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            InitializationException

            +
            public InitializationException​(int audioTrackState,
            +                               int sampleRate,
            +                               int channelConfig,
            +                               int bufferSize,
            +                               Format format,
            +                               boolean isRecoverable,
            +                               @Nullable
            +                               Exception audioTrackException)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            audioTrackState - The underlying AudioTrack's state.
            +
            sampleRate - The requested sample rate in Hz.
            +
            channelConfig - The requested channel configuration.
            +
            bufferSize - The requested buffer size in bytes.
            +
            format - The input format of the sink when the error occurs.
            +
            isRecoverable - Whether the exception can be recovered by recreating the sink.
            +
            audioTrackException - Exception thrown during the creation of the AudioTrack.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html new file mode 100644 index 0000000000..715926c798 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html @@ -0,0 +1,404 @@ + + + + +AudioSink.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioSink.Listener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        AudioSink
        +
        +
        +
        public static interface AudioSink.Listener
        +
        Listener for audio sink events.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods Default Methods 
          Modifier and TypeMethodDescription
          default voidonAudioSinkError​(Exception audioSinkError) +
          Called when AudioSink has encountered an error.
          +
          default voidonOffloadBufferEmptying() +
          Called when the offload buffer has been partially emptied.
          +
          default voidonOffloadBufferFull​(long bufferEmptyingDeadlineMs) +
          Called when the offload buffer has been filled completely.
          +
          default voidonPositionAdvancing​(long playoutStartSystemTimeMs) +
          Called when the audio sink's position has increased for the first time since it was last + paused or flushed.
          +
          voidonPositionDiscontinuity() +
          Called when the audio sink handles a buffer whose timestamp is discontinuous with the last + buffer handled since it was reset.
          +
          voidonSkipSilenceEnabledChanged​(boolean skipSilenceEnabled) +
          Called when skipping silences is enabled or disabled.
          +
          voidonUnderrun​(int bufferSize, + long bufferSizeMs, + long elapsedSinceLastFeedMs) +
          Called when the audio sink runs out of data.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPositionDiscontinuity

            +
            void onPositionDiscontinuity()
            +
            Called when the audio sink handles a buffer whose timestamp is discontinuous with the last + buffer handled since it was reset.
            +
          • +
          + + + +
            +
          • +

            onPositionAdvancing

            +
            default void onPositionAdvancing​(long playoutStartSystemTimeMs)
            +
            Called when the audio sink's position has increased for the first time since it was last + paused or flushed.
            +
            +
            Parameters:
            +
            playoutStartSystemTimeMs - The approximate derived System.currentTimeMillis() at + which playout started. Only valid if the audio track has not underrun.
            +
            +
          • +
          + + + +
            +
          • +

            onUnderrun

            +
            void onUnderrun​(int bufferSize,
            +                long bufferSizeMs,
            +                long elapsedSinceLastFeedMs)
            +
            Called when the audio sink runs out of data. + +

            An audio sink implementation may never call this method (for example, if audio data is + consumed in batches rather than based on the sink's own clock).

            +
            +
            Parameters:
            +
            bufferSize - The size of the sink's buffer, in bytes.
            +
            bufferSizeMs - The size of the sink's buffer, in milliseconds, if it is configured for + PCM output. C.TIME_UNSET if it is configured for encoded audio output, as the + buffered media can have a variable bitrate so the duration may be unknown.
            +
            elapsedSinceLastFeedMs - The time since the sink was last fed data, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipSilenceEnabledChanged

            +
            void onSkipSilenceEnabledChanged​(boolean skipSilenceEnabled)
            +
            Called when skipping silences is enabled or disabled.
            +
            +
            Parameters:
            +
            skipSilenceEnabled - Whether skipping silences is enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onOffloadBufferEmptying

            +
            default void onOffloadBufferEmptying()
            +
            Called when the offload buffer has been partially emptied.
            +
          • +
          + + + +
            +
          • +

            onOffloadBufferFull

            +
            default void onOffloadBufferFull​(long bufferEmptyingDeadlineMs)
            +
            Called when the offload buffer has been filled completely.
            +
            +
            Parameters:
            +
            bufferEmptyingDeadlineMs - Maximum time in milliseconds until onOffloadBufferEmptying() will be called.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.SinkFormatSupport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.SinkFormatSupport.html new file mode 100644 index 0000000000..3a5f45ece0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.SinkFormatSupport.html @@ -0,0 +1,189 @@ + + + + +AudioSink.SinkFormatSupport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AudioSink.SinkFormatSupport

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html new file mode 100644 index 0000000000..bcda41e95f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html @@ -0,0 +1,383 @@ + + + + +AudioSink.WriteException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AudioSink.WriteException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        AudioSink
        +
        +
        +
        public static final class AudioSink.WriteException
        +extends Exception
        +
        Thrown when a failure occurs writing to the sink.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            isRecoverable

            +
            public final boolean isRecoverable
            +
            If the exception can be recovered by recreating the sink.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            The input Format of the sink when the error occurs.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WriteException

            +
            public WriteException​(int errorCode,
            +                      Format format,
            +                      boolean isRecoverable)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            errorCode - The error value returned from the sink implementation.
            +
            format - The input format of the sink when the error occurs.
            +
            isRecoverable - Whether the exception can be recovered by recreating the sink.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.html new file mode 100644 index 0000000000..8b89d0c4db --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AudioSink.html @@ -0,0 +1,949 @@ + + + + +AudioSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AudioSink

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SINK_FORMAT_SUPPORTED_DIRECTLY

            +
            static final int SINK_FORMAT_SUPPORTED_DIRECTLY
            +
            The sink supports the format directly, without the need for internal transcoding.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SINK_FORMAT_SUPPORTED_WITH_TRANSCODING

            +
            static final int SINK_FORMAT_SUPPORTED_WITH_TRANSCODING
            +
            The sink supports the format, but needs to transcode it internally to do so. Internal + transcoding may result in lower quality and higher CPU load in some cases.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SINK_FORMAT_UNSUPPORTED

            +
            static final int SINK_FORMAT_UNSUPPORTED
            +
            The sink does not support the format.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setListener

            +
            void setListener​(AudioSink.Listener listener)
            +
            Sets the listener for sink events, which should be the audio renderer.
            +
            +
            Parameters:
            +
            listener - The listener for sink events, which should be the audio renderer.
            +
            +
          • +
          + + + +
            +
          • +

            supportsFormat

            +
            boolean supportsFormat​(Format format)
            +
            Returns whether the sink supports a given Format.
            +
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            Whether the sink supports the format.
            +
            +
          • +
          + + + +
            +
          • +

            getFormatSupport

            +
            @SinkFormatSupport
            +int getFormatSupport​(Format format)
            +
            Returns the level of support that the sink provides for a given Format.
            +
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The level of support provided.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPositionUs

            +
            long getCurrentPositionUs​(boolean sourceEnded)
            +
            Returns the playback position in the stream starting at zero, in microseconds, or CURRENT_POSITION_NOT_SET if it is not yet available.
            +
            +
            Parameters:
            +
            sourceEnded - Specify true if no more input buffers will be provided.
            +
            Returns:
            +
            The playback position relative to the start of playback, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            configure

            +
            void configure​(Format inputFormat,
            +               int specifiedBufferSize,
            +               @Nullable
            +               int[] outputChannels)
            +        throws AudioSink.ConfigurationException
            +
            Configures (or reconfigures) the sink.
            +
            +
            Parameters:
            +
            inputFormat - The format of audio data provided in the input buffers.
            +
            specifiedBufferSize - A specific size for the playback buffer in bytes, or 0 to infer a + suitable buffer size.
            +
            outputChannels - A mapping from input to output channels that is applied to this sink's + input as a preprocessing step, if handling PCM input. Specify null to leave the + input unchanged. Otherwise, the element at index i specifies index of the input + channel to map to output channel i when preprocessing input buffers. After the map + is applied the audio data will have outputChannels.length channels.
            +
            Throws:
            +
            AudioSink.ConfigurationException - If an error occurs configuring the sink.
            +
            +
          • +
          + + + +
            +
          • +

            play

            +
            void play()
            +
            Starts or resumes consuming audio if initialized.
            +
          • +
          + + + +
            +
          • +

            handleDiscontinuity

            +
            void handleDiscontinuity()
            +
            Signals to the sink that the next buffer may be discontinuous with the previous buffer.
            +
          • +
          + + + +
            +
          • +

            handleBuffer

            +
            boolean handleBuffer​(ByteBuffer buffer,
            +                     long presentationTimeUs,
            +                     int encodedAccessUnitCount)
            +              throws AudioSink.InitializationException,
            +                     AudioSink.WriteException
            +
            Attempts to process data from a ByteBuffer, starting from its current position and + ending at its limit (exclusive). The position of the ByteBuffer is advanced by the + number of bytes that were handled. AudioSink.Listener.onPositionDiscontinuity() will be called if + presentationTimeUs is discontinuous with the last buffer handled since the last reset. + +

            Returns whether the data was handled in full. If the data was not handled in full then the + same ByteBuffer must be provided to subsequent calls until it has been fully consumed, + except in the case of an intervening call to flush() (or to configure(Format, + int, int[]) that causes the sink to be flushed).

            +
            +
            Parameters:
            +
            buffer - The buffer containing audio data.
            +
            presentationTimeUs - The presentation timestamp of the buffer in microseconds.
            +
            encodedAccessUnitCount - The number of encoded access units in the buffer, or 1 if the + buffer contains PCM audio. This allows batching multiple encoded access units in one + buffer.
            +
            Returns:
            +
            Whether the buffer was handled fully.
            +
            Throws:
            +
            AudioSink.InitializationException - If an error occurs initializing the sink.
            +
            AudioSink.WriteException - If an error occurs writing the audio data.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isEnded

            +
            boolean isEnded()
            +
            Returns whether playToEndOfStream() has been called and all buffers have been processed.
            +
          • +
          + + + +
            +
          • +

            hasPendingData

            +
            boolean hasPendingData()
            +
            Returns whether the sink has data pending that has not been consumed yet.
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Attempts to set the playback parameters. The audio sink may override these parameters if they + are not supported.
            +
            +
            Parameters:
            +
            playbackParameters - The new playback parameters to attempt to set.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSkipSilenceEnabled

            +
            void setSkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Sets whether silences should be skipped in the audio stream.
            +
          • +
          + + + +
            +
          • +

            getSkipSilenceEnabled

            +
            boolean getSkipSilenceEnabled()
            +
            Returns whether silences are skipped in the audio stream.
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            void setAudioAttributes​(AudioAttributes audioAttributes)
            +
            Sets attributes for audio playback. If the attributes have changed and if the sink is not + configured for use with tunneling, then it is reset and the audio session id is cleared. +

            + If the sink is configured for use with tunneling then the audio attributes are ignored. The + sink is not reset and the audio session id is not cleared. The passed attributes will be used + if the sink is later re-configured into non-tunneled mode.

            +
            +
            Parameters:
            +
            audioAttributes - The attributes for audio playback.
            +
            +
          • +
          + + + +
            +
          • +

            setAudioSessionId

            +
            void setAudioSessionId​(int audioSessionId)
            +
            Sets the audio session id.
            +
          • +
          + + + +
            +
          • +

            setAuxEffectInfo

            +
            void setAuxEffectInfo​(AuxEffectInfo auxEffectInfo)
            +
            Sets the auxiliary effect.
            +
          • +
          + + + +
            +
          • +

            enableTunnelingV21

            +
            void enableTunnelingV21()
            +
            Enables tunneling, if possible. The sink is reset if tunneling was previously disabled. + Enabling tunneling is only possible if the sink is based on a platform AudioTrack, and + requires platform API version 21 onwards.
            +
            +
            Throws:
            +
            IllegalStateException - Thrown if enabling tunneling on platform API version < 21.
            +
            +
          • +
          + + + +
            +
          • +

            disableTunneling

            +
            void disableTunneling()
            +
            Disables tunneling. If tunneling was previously enabled then the sink is reset and any audio + session id is cleared.
            +
          • +
          + + + +
            +
          • +

            setVolume

            +
            void setVolume​(float volume)
            +
            Sets the playback volume.
            +
            +
            Parameters:
            +
            volume - A volume in the range [0.0, 1.0].
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            void pause()
            +
            Pauses playback.
            +
          • +
          + + + +
            +
          • +

            flush

            +
            void flush()
            +
            Flushes the sink, after which it is ready to receive buffers from a new playback position. + +

            The audio session may remain active until reset() is called.

            +
          • +
          + + + +
            +
          • +

            experimentalFlushWithoutAudioTrackRelease

            +
            void experimentalFlushWithoutAudioTrackRelease()
            +
            Flushes the sink, after which it is ready to receive buffers from a new playback position. + +

            Does not release the AudioTrack held by the sink. + +

            This method is experimental, and will be renamed or removed in a future release. + +

            Only for experimental use as part of MediaCodecAudioRenderer.experimentalSetEnableKeepAudioTrackOnSeek(boolean).

            +
          • +
          + + + +
            +
          • +

            reset

            +
            void reset()
            +
            Resets the renderer, releasing any resources that it currently holds.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AuxEffectInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AuxEffectInfo.html new file mode 100644 index 0000000000..40d1711bdf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/AuxEffectInfo.html @@ -0,0 +1,429 @@ + + + + +AuxEffectInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AuxEffectInfo

      +
      +
      + +
      +
        +
      • +
        +
        public final class AuxEffectInfo
        +extends Object
        +
        Represents auxiliary effect information, which can be used to attach an auxiliary effect to an + underlying AudioTrack. + +

        Auxiliary effects can only be applied if the application has the + android.permission.MODIFY_AUDIO_SETTINGS permission. Apps are responsible for retaining the + associated audio effect instance and releasing it when it's no longer needed. See the + documentation of AudioEffect for more information.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AuxEffectInfo

            +
            public AuxEffectInfo​(int effectId,
            +                     float sendLevel)
            +
            Creates an instance with the given effect identifier and send level.
            +
            +
            Parameters:
            +
            effectId - The effect identifier. This is the value returned by AudioEffect.getId() on the effect, or 0 which represents no + effect. This value is passed to AudioTrack.attachAuxEffect(int) on the underlying + audio track.
            +
            sendLevel - The send level for the effect, where 0 represents no effect and a value of 1 + is full send. If effectId is not 0, this value is passed + to AudioTrack.setAuxEffectSendLevel(float) on the underlying audio track.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html new file mode 100644 index 0000000000..281b94403c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html @@ -0,0 +1,674 @@ + + + + +BaseAudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseAudioProcessor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.BaseAudioProcessor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseAudioProcessor

            +
            public BaseAudioProcessor()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            isActive

            +
            public boolean isActive()
            +
            Description copied from interface: AudioProcessor
            +
            Returns whether the processor is configured and will process input buffers.
            +
            +
            Specified by:
            +
            isActive in interface AudioProcessor
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getOutput

            +
            @CallSuper
            +public ByteBuffer getOutput()
            +
            Description copied from interface: AudioProcessor
            +
            Returns a buffer containing processed output data between its position and limit. The buffer + will always be a direct byte buffer with native byte order. Calling this method invalidates any + previously returned buffer. The buffer will be empty if no output is available.
            +
            +
            Specified by:
            +
            getOutput in interface AudioProcessor
            +
            Returns:
            +
            A buffer containing processed output data between its position and limit.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            flush

            +
            public final void flush()
            +
            Description copied from interface: AudioProcessor
            +
            Clears any buffered data and pending output. If the audio processor is active, also prepares + the audio processor to receive a new stream of input in the last configured (pending) format.
            +
            +
            Specified by:
            +
            flush in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public final void reset()
            +
            Description copied from interface: AudioProcessor
            +
            Resets the processor to its unconfigured state, releasing any resources.
            +
            +
            Specified by:
            +
            reset in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            replaceOutputBuffer

            +
            protected final ByteBuffer replaceOutputBuffer​(int count)
            +
            Replaces the current output buffer with a buffer of at least count bytes and returns + it. Callers should write to the returned buffer then ByteBuffer.flip() it so it can be + read via getOutput().
            +
          • +
          + + + +
            +
          • +

            hasPendingOutput

            +
            protected final boolean hasPendingOutput()
            +
            Returns whether the current output buffer has any data remaining.
            +
          • +
          + + + + + + + +
            +
          • +

            onQueueEndOfStream

            +
            protected void onQueueEndOfStream()
            +
            Called when the end-of-stream is queued to the processor.
            +
          • +
          + + + +
            +
          • +

            onFlush

            +
            protected void onFlush()
            +
            Called when the processor is flushed, directly or as part of resetting.
            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Called when the processor is reset.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DecoderAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DecoderAudioRenderer.html new file mode 100644 index 0000000000..0d3395f159 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DecoderAudioRenderer.html @@ -0,0 +1,1071 @@ + + + + +DecoderAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderAudioRenderer<T extends Decoder<DecoderInputBuffer,? extends SimpleOutputBuffer,? extends DecoderException>>

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderAudioRenderer

            +
            public DecoderAudioRenderer()
            +
          • +
          + + + +
            +
          • +

            DecoderAudioRenderer

            +
            public DecoderAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioProcessor... audioProcessors)
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioProcessors - Optional AudioProcessors that will process audio before output.
            +
            +
          • +
          + + + +
            +
          • +

            DecoderAudioRenderer

            +
            public DecoderAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            @Nullable
            +                            AudioCapabilities audioCapabilities,
            +                            AudioProcessor... audioProcessors)
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioCapabilities - The audio capabilities for playback on this device. May be null if the + default capabilities (no encoded audio passthrough support) should be assumed.
            +
            audioProcessors - Optional AudioProcessors that will process audio before output.
            +
            +
          • +
          + + + +
            +
          • +

            DecoderAudioRenderer

            +
            public DecoderAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioSink audioSink)
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            experimentalSetEnableKeepAudioTrackOnSeek

            +
            public void experimentalSetEnableKeepAudioTrackOnSeek​(boolean enableKeepAudioTrackOnSeek)
            +
            Sets whether to enable the experimental feature that keeps and flushes the AudioTrack when a seek occurs, as opposed to releasing and reinitialising. Off + by default. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            enableKeepAudioTrackOnSeek - Whether to keep the AudioTrack on seek.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaClock

            +
            @Nullable
            +public MediaClock getMediaClock()
            +
            Description copied from interface: Renderer
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Specified by:
            +
            getMediaClock in interface Renderer
            +
            Overrides:
            +
            getMediaClock in class BaseRenderer
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            createDecoder

            +
            protected abstract T createDecoder​(Format format,
            +                                   @Nullable
            +                                   ExoMediaCrypto mediaCrypto)
            +                            throws DecoderException
            +
            Creates a decoder for the given format.
            +
            +
            Parameters:
            +
            format - The format for which a decoder is required.
            +
            mediaCrypto - The ExoMediaCrypto object required for decoding encrypted content. + Maybe null and can be ignored if decoder does not handle encrypted content.
            +
            Returns:
            +
            The decoder.
            +
            Throws:
            +
            DecoderException - If an error occurred creating a suitable decoder.
            +
            +
          • +
          + + + + + +
            +
          • +

            getOutputFormat

            +
            protected abstract Format getOutputFormat​(T decoder)
            +
            Returns the format of audio buffers output by the decoder. Will not be called until the first + output buffer has been dequeued, so the decoder may use input data to determine the format.
            +
            +
            Parameters:
            +
            decoder - The decoder.
            +
            +
          • +
          + + + +
            +
          • +

            canReuseDecoder

            +
            protected DecoderReuseEvaluation canReuseDecoder​(String decoderName,
            +                                                 Format oldFormat,
            +                                                 Format newFormat)
            +
            Evaluates whether the existing decoder can be reused for a new Format. + +

            The default implementation does not allow decoder reuse.

            +
            +
            Parameters:
            +
            decoderName - The name of the decoder.
            +
            oldFormat - The previous format.
            +
            newFormat - The new format.
            +
            Returns:
            +
            The result of the evaluation.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isEnded in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            getPositionUs

            +
            public long getPositionUs()
            +
            Description copied from interface: MediaClock
            +
            Returns the current media position in microseconds.
            +
            +
            Specified by:
            +
            getPositionUs in interface MediaClock
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Description copied from interface: MediaClock
            +
            Attempts to set the playback parameters. The media clock may override the speed if changing the + playback parameters is not supported.
            +
            +
            Specified by:
            +
            setPlaybackParameters in interface MediaClock
            +
            Parameters:
            +
            playbackParameters - The playback parameters to attempt to set.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class BaseRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStarted in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html new file mode 100644 index 0000000000..1cfc5dce84 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.AudioProcessorChain.html @@ -0,0 +1,362 @@ + + + + +DefaultAudioSink.AudioProcessorChain (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DefaultAudioSink.AudioProcessorChain

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultAudioSink.DefaultAudioProcessorChain
        +
        +
        +
        Enclosing class:
        +
        DefaultAudioSink
        +
        +
        +
        public static interface DefaultAudioSink.AudioProcessorChain
        +
        Provides a chain of audio processors, which are used for any user-defined processing and + applying playback parameters (if supported). Because applying playback parameters can skip and + stretch/compress audio, the sink will query the chain for information on how to transform its + output position to map it onto a media position, via getMediaDuration(long) and getSkippedOutputFrameCount().
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          PlaybackParametersapplyPlaybackParameters​(PlaybackParameters playbackParameters) +
          Configures audio processors to apply the specified playback parameters immediately, returning + the new playback parameters, which may differ from those passed in.
          +
          booleanapplySkipSilenceEnabled​(boolean skipSilenceEnabled) +
          Configures audio processors to apply whether to skip silences immediately, returning the new + value.
          +
          AudioProcessor[]getAudioProcessors() +
          Returns the fixed chain of audio processors that will process audio.
          +
          longgetMediaDuration​(long playoutDuration) +
          Returns the media duration corresponding to the specified playout duration, taking speed + adjustment due to audio processing into account.
          +
          longgetSkippedOutputFrameCount() +
          Returns the number of output audio frames skipped since the audio processors were last + flushed.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAudioProcessors

            +
            AudioProcessor[] getAudioProcessors()
            +
            Returns the fixed chain of audio processors that will process audio. This method is called + once during initialization, but audio processors may change state to become active/inactive + during playback.
            +
          • +
          + + + +
            +
          • +

            applyPlaybackParameters

            +
            PlaybackParameters applyPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Configures audio processors to apply the specified playback parameters immediately, returning + the new playback parameters, which may differ from those passed in. Only called when + processors have no input pending.
            +
            +
            Parameters:
            +
            playbackParameters - The playback parameters to try to apply.
            +
            Returns:
            +
            The playback parameters that were actually applied.
            +
            +
          • +
          + + + +
            +
          • +

            applySkipSilenceEnabled

            +
            boolean applySkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Configures audio processors to apply whether to skip silences immediately, returning the new + value. Only called when processors have no input pending.
            +
            +
            Parameters:
            +
            skipSilenceEnabled - Whether silences should be skipped in the audio stream.
            +
            Returns:
            +
            The new value.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaDuration

            +
            long getMediaDuration​(long playoutDuration)
            +
            Returns the media duration corresponding to the specified playout duration, taking speed + adjustment due to audio processing into account. + +

            The scaling performed by this method will use the actual playback speed achieved by the + audio processor chain, on average, since it was last flushed. This may differ very slightly + from the target playback speed.

            +
            +
            Parameters:
            +
            playoutDuration - The playout duration to scale.
            +
            Returns:
            +
            The corresponding media duration, in the same units as duration.
            +
            +
          • +
          + + + +
            +
          • +

            getSkippedOutputFrameCount

            +
            long getSkippedOutputFrameCount()
            +
            Returns the number of output audio frames skipped since the audio processors were last + flushed.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html new file mode 100644 index 0000000000..e0b1ebe8f2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.DefaultAudioProcessorChain.html @@ -0,0 +1,459 @@ + + + + +DefaultAudioSink.DefaultAudioProcessorChain (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultAudioSink.DefaultAudioProcessorChain

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultAudioProcessorChain

            +
            public DefaultAudioProcessorChain​(AudioProcessor... audioProcessors)
            +
            Creates a new default chain of audio processors, with the user-defined + audioProcessors applied before silence skipping and speed adjustment processors.
            +
          • +
          + + + +
            +
          • +

            DefaultAudioProcessorChain

            +
            public DefaultAudioProcessorChain​(AudioProcessor[] audioProcessors,
            +                                  SilenceSkippingAudioProcessor silenceSkippingAudioProcessor,
            +                                  SonicAudioProcessor sonicAudioProcessor)
            +
            Creates a new default chain of audio processors, with the user-defined + audioProcessors applied before silence skipping and speed adjustment processors.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            applySkipSilenceEnabled

            +
            public boolean applySkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Description copied from interface: DefaultAudioSink.AudioProcessorChain
            +
            Configures audio processors to apply whether to skip silences immediately, returning the new + value. Only called when processors have no input pending.
            +
            +
            Specified by:
            +
            applySkipSilenceEnabled in interface DefaultAudioSink.AudioProcessorChain
            +
            Parameters:
            +
            skipSilenceEnabled - Whether silences should be skipped in the audio stream.
            +
            Returns:
            +
            The new value.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaDuration

            +
            public long getMediaDuration​(long playoutDuration)
            +
            Description copied from interface: DefaultAudioSink.AudioProcessorChain
            +
            Returns the media duration corresponding to the specified playout duration, taking speed + adjustment due to audio processing into account. + +

            The scaling performed by this method will use the actual playback speed achieved by the + audio processor chain, on average, since it was last flushed. This may differ very slightly + from the target playback speed.

            +
            +
            Specified by:
            +
            getMediaDuration in interface DefaultAudioSink.AudioProcessorChain
            +
            Parameters:
            +
            playoutDuration - The playout duration to scale.
            +
            Returns:
            +
            The corresponding media duration, in the same units as duration.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html new file mode 100644 index 0000000000..5e35527aa0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.InvalidAudioTrackTimestampException.html @@ -0,0 +1,255 @@ + + + + +DefaultAudioSink.InvalidAudioTrackTimestampException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultAudioSink.InvalidAudioTrackTimestampException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.html new file mode 100644 index 0000000000..b40a669959 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DefaultAudioSink.html @@ -0,0 +1,1224 @@ + + + + +DefaultAudioSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultAudioSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.DefaultAudioSink
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        AudioSink
        +
        +
        +
        public final class DefaultAudioSink
        +extends Object
        +implements AudioSink
        +
        Plays audio data. The implementation delegates to an AudioTrack and handles playback + position smoothing, non-blocking writes and reconfiguration. + +

        If tunneling mode is enabled, care must be taken that audio processors do not output buffers + with a different duration than their input, and buffer processors must produce output + corresponding to their last input immediately after that input is queued. This means that, for + example, speed adjustment is not possible while using tunneling.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_PLAYBACK_SPEED

            +
            public static final float DEFAULT_PLAYBACK_SPEED
            +
            The default playback speed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MIN_PLAYBACK_SPEED

            +
            public static final float MIN_PLAYBACK_SPEED
            +
            The minimum allowed playback speed. Lower values will be constrained to fall in range.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_PLAYBACK_SPEED

            +
            public static final float MAX_PLAYBACK_SPEED
            +
            The maximum allowed playback speed. Higher values will be constrained to fall in range.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MIN_PITCH

            +
            public static final float MIN_PITCH
            +
            The minimum allowed pitch factor. Lower values will be constrained to fall in range.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_PITCH

            +
            public static final float MAX_PITCH
            +
            The maximum allowed pitch factor. Higher values will be constrained to fall in range.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultAudioSink

            +
            public DefaultAudioSink​(@Nullable
            +                        AudioCapabilities audioCapabilities,
            +                        AudioProcessor[] audioProcessors)
            +
            Creates a new default audio sink.
            +
            +
            Parameters:
            +
            audioCapabilities - The audio capabilities for playback on this device. May be null if the + default capabilities (no encoded audio passthrough support) should be assumed.
            +
            audioProcessors - An array of AudioProcessors that will process PCM audio before + output. May be empty.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultAudioSink

            +
            public DefaultAudioSink​(@Nullable
            +                        AudioCapabilities audioCapabilities,
            +                        AudioProcessor[] audioProcessors,
            +                        boolean enableFloatOutput)
            +
            Creates a new default audio sink, optionally using float output for high resolution PCM.
            +
            +
            Parameters:
            +
            audioCapabilities - The audio capabilities for playback on this device. May be null if the + default capabilities (no encoded audio passthrough support) should be assumed.
            +
            audioProcessors - An array of AudioProcessors that will process PCM audio before + output. May be empty.
            +
            enableFloatOutput - Whether to enable 32-bit float output. Where possible, 32-bit float + output will be used if the input is 32-bit float, and also if the input is high resolution + (24-bit or 32-bit) integer PCM. Audio processing (for example, speed adjustment) will not + be available when float output is in use.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultAudioSink

            +
            public DefaultAudioSink​(@Nullable
            +                        AudioCapabilities audioCapabilities,
            +                        DefaultAudioSink.AudioProcessorChain audioProcessorChain,
            +                        boolean enableFloatOutput,
            +                        boolean enableAudioTrackPlaybackParams,
            +                        boolean enableOffload)
            +
            Creates a new default audio sink, optionally using float output for high resolution PCM and + with the specified audioProcessorChain.
            +
            +
            Parameters:
            +
            audioCapabilities - The audio capabilities for playback on this device. May be null if the + default capabilities (no encoded audio passthrough support) should be assumed.
            +
            audioProcessorChain - An DefaultAudioSink.AudioProcessorChain which is used to apply playback + parameters adjustments. The instance passed in must not be reused in other sinks.
            +
            enableFloatOutput - Whether to enable 32-bit float output. Where possible, 32-bit float + output will be used if the input is 32-bit float, and also if the input is high resolution + (24-bit or 32-bit) integer PCM. Float output is supported from API level 21. Audio + processing (for example, speed adjustment) will not be available when float output is in + use.
            +
            enableAudioTrackPlaybackParams - Whether to enable setting playback speed using AudioTrack.setPlaybackParams(PlaybackParams), if supported.
            +
            enableOffload - Whether to enable audio offload. If an audio format can be both played + with offload and encoded audio passthrough, it will be played in offload. Audio offload is + supported from API level 29. Most Android devices can only support one offload AudioTrack at a time and can invalidate it at any time. Thus an app can + never be guaranteed that it will be able to play in offload. Audio processing (for example, + speed adjustment) will not be available when offload is in use.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setListener

            +
            public void setListener​(AudioSink.Listener listener)
            +
            Description copied from interface: AudioSink
            +
            Sets the listener for sink events, which should be the audio renderer.
            +
            +
            Specified by:
            +
            setListener in interface AudioSink
            +
            Parameters:
            +
            listener - The listener for sink events, which should be the audio renderer.
            +
            +
          • +
          + + + +
            +
          • +

            supportsFormat

            +
            public boolean supportsFormat​(Format format)
            +
            Description copied from interface: AudioSink
            +
            Returns whether the sink supports a given Format.
            +
            +
            Specified by:
            +
            supportsFormat in interface AudioSink
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            Whether the sink supports the format.
            +
            +
          • +
          + + + +
            +
          • +

            getFormatSupport

            +
            @SinkFormatSupport
            +public int getFormatSupport​(Format format)
            +
            Description copied from interface: AudioSink
            +
            Returns the level of support that the sink provides for a given Format.
            +
            +
            Specified by:
            +
            getFormatSupport in interface AudioSink
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The level of support provided.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPositionUs

            +
            public long getCurrentPositionUs​(boolean sourceEnded)
            +
            Description copied from interface: AudioSink
            +
            Returns the playback position in the stream starting at zero, in microseconds, or AudioSink.CURRENT_POSITION_NOT_SET if it is not yet available.
            +
            +
            Specified by:
            +
            getCurrentPositionUs in interface AudioSink
            +
            Parameters:
            +
            sourceEnded - Specify true if no more input buffers will be provided.
            +
            Returns:
            +
            The playback position relative to the start of playback, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            configure

            +
            public void configure​(Format inputFormat,
            +                      int specifiedBufferSize,
            +                      @Nullable
            +                      int[] outputChannels)
            +               throws AudioSink.ConfigurationException
            +
            Description copied from interface: AudioSink
            +
            Configures (or reconfigures) the sink.
            +
            +
            Specified by:
            +
            configure in interface AudioSink
            +
            Parameters:
            +
            inputFormat - The format of audio data provided in the input buffers.
            +
            specifiedBufferSize - A specific size for the playback buffer in bytes, or 0 to infer a + suitable buffer size.
            +
            outputChannels - A mapping from input to output channels that is applied to this sink's + input as a preprocessing step, if handling PCM input. Specify null to leave the + input unchanged. Otherwise, the element at index i specifies index of the input + channel to map to output channel i when preprocessing input buffers. After the map + is applied the audio data will have outputChannels.length channels.
            +
            Throws:
            +
            AudioSink.ConfigurationException - If an error occurs configuring the sink.
            +
            +
          • +
          + + + +
            +
          • +

            play

            +
            public void play()
            +
            Description copied from interface: AudioSink
            +
            Starts or resumes consuming audio if initialized.
            +
            +
            Specified by:
            +
            play in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            handleDiscontinuity

            +
            public void handleDiscontinuity()
            +
            Description copied from interface: AudioSink
            +
            Signals to the sink that the next buffer may be discontinuous with the previous buffer.
            +
            +
            Specified by:
            +
            handleDiscontinuity in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            handleBuffer

            +
            public boolean handleBuffer​(ByteBuffer buffer,
            +                            long presentationTimeUs,
            +                            int encodedAccessUnitCount)
            +                     throws AudioSink.InitializationException,
            +                            AudioSink.WriteException
            +
            Description copied from interface: AudioSink
            +
            Attempts to process data from a ByteBuffer, starting from its current position and + ending at its limit (exclusive). The position of the ByteBuffer is advanced by the + number of bytes that were handled. AudioSink.Listener.onPositionDiscontinuity() will be called if + presentationTimeUs is discontinuous with the last buffer handled since the last reset. + +

            Returns whether the data was handled in full. If the data was not handled in full then the + same ByteBuffer must be provided to subsequent calls until it has been fully consumed, + except in the case of an intervening call to AudioSink.flush() (or to AudioSink.configure(Format, + int, int[]) that causes the sink to be flushed).

            +
            +
            Specified by:
            +
            handleBuffer in interface AudioSink
            +
            Parameters:
            +
            buffer - The buffer containing audio data.
            +
            presentationTimeUs - The presentation timestamp of the buffer in microseconds.
            +
            encodedAccessUnitCount - The number of encoded access units in the buffer, or 1 if the + buffer contains PCM audio. This allows batching multiple encoded access units in one + buffer.
            +
            Returns:
            +
            Whether the buffer was handled fully.
            +
            Throws:
            +
            AudioSink.InitializationException - If an error occurs initializing the sink.
            +
            AudioSink.WriteException - If an error occurs writing the audio data.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            hasPendingData

            +
            public boolean hasPendingData()
            +
            Description copied from interface: AudioSink
            +
            Returns whether the sink has data pending that has not been consumed yet.
            +
            +
            Specified by:
            +
            hasPendingData in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Description copied from interface: AudioSink
            +
            Attempts to set the playback parameters. The audio sink may override these parameters if they + are not supported.
            +
            +
            Specified by:
            +
            setPlaybackParameters in interface AudioSink
            +
            Parameters:
            +
            playbackParameters - The new playback parameters to attempt to set.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSkipSilenceEnabled

            +
            public void setSkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Description copied from interface: AudioSink
            +
            Sets whether silences should be skipped in the audio stream.
            +
            +
            Specified by:
            +
            setSkipSilenceEnabled in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            getSkipSilenceEnabled

            +
            public boolean getSkipSilenceEnabled()
            +
            Description copied from interface: AudioSink
            +
            Returns whether silences are skipped in the audio stream.
            +
            +
            Specified by:
            +
            getSkipSilenceEnabled in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            public void setAudioAttributes​(AudioAttributes audioAttributes)
            +
            Description copied from interface: AudioSink
            +
            Sets attributes for audio playback. If the attributes have changed and if the sink is not + configured for use with tunneling, then it is reset and the audio session id is cleared. +

            + If the sink is configured for use with tunneling then the audio attributes are ignored. The + sink is not reset and the audio session id is not cleared. The passed attributes will be used + if the sink is later re-configured into non-tunneled mode.

            +
            +
            Specified by:
            +
            setAudioAttributes in interface AudioSink
            +
            Parameters:
            +
            audioAttributes - The attributes for audio playback.
            +
            +
          • +
          + + + +
            +
          • +

            setAudioSessionId

            +
            public void setAudioSessionId​(int audioSessionId)
            +
            Description copied from interface: AudioSink
            +
            Sets the audio session id.
            +
            +
            Specified by:
            +
            setAudioSessionId in interface AudioSink
            +
            +
          • +
          + + + + + + + +
            +
          • +

            enableTunnelingV21

            +
            public void enableTunnelingV21()
            +
            Description copied from interface: AudioSink
            +
            Enables tunneling, if possible. The sink is reset if tunneling was previously disabled. + Enabling tunneling is only possible if the sink is based on a platform AudioTrack, and + requires platform API version 21 onwards.
            +
            +
            Specified by:
            +
            enableTunnelingV21 in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            disableTunneling

            +
            public void disableTunneling()
            +
            Description copied from interface: AudioSink
            +
            Disables tunneling. If tunneling was previously enabled then the sink is reset and any audio + session id is cleared.
            +
            +
            Specified by:
            +
            disableTunneling in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setVolume

            +
            public void setVolume​(float volume)
            +
            Description copied from interface: AudioSink
            +
            Sets the playback volume.
            +
            +
            Specified by:
            +
            setVolume in interface AudioSink
            +
            Parameters:
            +
            volume - A volume in the range [0.0, 1.0].
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            public void pause()
            +
            Description copied from interface: AudioSink
            +
            Pauses playback.
            +
            +
            Specified by:
            +
            pause in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            flush

            +
            public void flush()
            +
            Description copied from interface: AudioSink
            +
            Flushes the sink, after which it is ready to receive buffers from a new playback position. + +

            The audio session may remain active until AudioSink.reset() is called.

            +
            +
            Specified by:
            +
            flush in interface AudioSink
            +
            +
          • +
          + + + + + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Description copied from interface: AudioSink
            +
            Resets the renderer, releasing any resources that it currently holds.
            +
            +
            Specified by:
            +
            reset in interface AudioSink
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DtsUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DtsUtil.html new file mode 100644 index 0000000000..8f8d92fad2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/DtsUtil.html @@ -0,0 +1,448 @@ + + + + +DtsUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DtsUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class DtsUtil
        +extends Object
        +
        Utility methods for parsing DTS frames.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DTS_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int DTS_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for a DTS audio stream, in bytes per second. + +

            DTS allows an 'open' bitrate, but we assume the maximum listed value: 1536 kbit/s.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DTS_HD_MAX_RATE_BYTES_PER_SECOND

            +
            public static final int DTS_HD_MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for a DTS-HD audio stream, in bytes per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSyncWord

            +
            public static boolean isSyncWord​(int word)
            +
            Returns whether a given integer matches a DTS sync word. Synchronization and storage modes are + defined in ETSI TS 102 114 V1.1.1 (2002-08), Section 5.3.
            +
            +
            Parameters:
            +
            word - An integer.
            +
            Returns:
            +
            Whether a given integer matches a DTS sync word.
            +
            +
          • +
          + + + +
            +
          • +

            parseDtsFormat

            +
            public static Format parseDtsFormat​(byte[] frame,
            +                                    @Nullable
            +                                    String trackId,
            +                                    @Nullable
            +                                    String language,
            +                                    @Nullable
            +                                    DrmInitData drmInitData)
            +
            Returns the DTS format given data containing the DTS frame according to ETSI TS 102 114 + subsections 5.3/5.4.
            +
            +
            Parameters:
            +
            frame - The DTS frame to parse.
            +
            trackId - The track identifier to set on the format.
            +
            language - The language to set on the format.
            +
            drmInitData - DrmInitData to be included in the format.
            +
            Returns:
            +
            The DTS format parsed from data in the header.
            +
            +
          • +
          + + + +
            +
          • +

            parseDtsAudioSampleCount

            +
            public static int parseDtsAudioSampleCount​(byte[] data)
            +
            Returns the number of audio samples represented by the given DTS frame.
            +
            +
            Parameters:
            +
            data - The frame to parse.
            +
            Returns:
            +
            The number of audio samples represented by the frame.
            +
            +
          • +
          + + + +
            +
          • +

            parseDtsAudioSampleCount

            +
            public static int parseDtsAudioSampleCount​(ByteBuffer buffer)
            +
            Like parseDtsAudioSampleCount(byte[]) but reads from a ByteBuffer. The + buffer's position is not modified.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer from which to read.
            +
            Returns:
            +
            The number of audio samples represented by the syncframe.
            +
            +
          • +
          + + + +
            +
          • +

            getDtsFrameSize

            +
            public static int getDtsFrameSize​(byte[] data)
            +
            Returns the size in bytes of the given DTS frame.
            +
            +
            Parameters:
            +
            data - The frame to parse.
            +
            Returns:
            +
            The frame's size in bytes.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html new file mode 100644 index 0000000000..5987d591c7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html @@ -0,0 +1,958 @@ + + + + +ForwardingAudioSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ForwardingAudioSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.ForwardingAudioSink
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        AudioSink
        +
        +
        +
        Direct Known Subclasses:
        +
        CapturingAudioSink
        +
        +
        +
        public class ForwardingAudioSink
        +extends Object
        +implements AudioSink
        +
        An overridable AudioSink implementation forwarding all methods to another sink.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ForwardingAudioSink

            +
            public ForwardingAudioSink​(AudioSink sink)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setListener

            +
            public void setListener​(AudioSink.Listener listener)
            +
            Description copied from interface: AudioSink
            +
            Sets the listener for sink events, which should be the audio renderer.
            +
            +
            Specified by:
            +
            setListener in interface AudioSink
            +
            Parameters:
            +
            listener - The listener for sink events, which should be the audio renderer.
            +
            +
          • +
          + + + +
            +
          • +

            supportsFormat

            +
            public boolean supportsFormat​(Format format)
            +
            Description copied from interface: AudioSink
            +
            Returns whether the sink supports a given Format.
            +
            +
            Specified by:
            +
            supportsFormat in interface AudioSink
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            Whether the sink supports the format.
            +
            +
          • +
          + + + +
            +
          • +

            getFormatSupport

            +
            @SinkFormatSupport
            +public int getFormatSupport​(Format format)
            +
            Description copied from interface: AudioSink
            +
            Returns the level of support that the sink provides for a given Format.
            +
            +
            Specified by:
            +
            getFormatSupport in interface AudioSink
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The level of support provided.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPositionUs

            +
            public long getCurrentPositionUs​(boolean sourceEnded)
            +
            Description copied from interface: AudioSink
            +
            Returns the playback position in the stream starting at zero, in microseconds, or AudioSink.CURRENT_POSITION_NOT_SET if it is not yet available.
            +
            +
            Specified by:
            +
            getCurrentPositionUs in interface AudioSink
            +
            Parameters:
            +
            sourceEnded - Specify true if no more input buffers will be provided.
            +
            Returns:
            +
            The playback position relative to the start of playback, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            configure

            +
            public void configure​(Format inputFormat,
            +                      int specifiedBufferSize,
            +                      @Nullable
            +                      int[] outputChannels)
            +               throws AudioSink.ConfigurationException
            +
            Description copied from interface: AudioSink
            +
            Configures (or reconfigures) the sink.
            +
            +
            Specified by:
            +
            configure in interface AudioSink
            +
            Parameters:
            +
            inputFormat - The format of audio data provided in the input buffers.
            +
            specifiedBufferSize - A specific size for the playback buffer in bytes, or 0 to infer a + suitable buffer size.
            +
            outputChannels - A mapping from input to output channels that is applied to this sink's + input as a preprocessing step, if handling PCM input. Specify null to leave the + input unchanged. Otherwise, the element at index i specifies index of the input + channel to map to output channel i when preprocessing input buffers. After the map + is applied the audio data will have outputChannels.length channels.
            +
            Throws:
            +
            AudioSink.ConfigurationException - If an error occurs configuring the sink.
            +
            +
          • +
          + + + +
            +
          • +

            play

            +
            public void play()
            +
            Description copied from interface: AudioSink
            +
            Starts or resumes consuming audio if initialized.
            +
            +
            Specified by:
            +
            play in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            handleDiscontinuity

            +
            public void handleDiscontinuity()
            +
            Description copied from interface: AudioSink
            +
            Signals to the sink that the next buffer may be discontinuous with the previous buffer.
            +
            +
            Specified by:
            +
            handleDiscontinuity in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            handleBuffer

            +
            public boolean handleBuffer​(ByteBuffer buffer,
            +                            long presentationTimeUs,
            +                            int encodedAccessUnitCount)
            +                     throws AudioSink.InitializationException,
            +                            AudioSink.WriteException
            +
            Description copied from interface: AudioSink
            +
            Attempts to process data from a ByteBuffer, starting from its current position and + ending at its limit (exclusive). The position of the ByteBuffer is advanced by the + number of bytes that were handled. AudioSink.Listener.onPositionDiscontinuity() will be called if + presentationTimeUs is discontinuous with the last buffer handled since the last reset. + +

            Returns whether the data was handled in full. If the data was not handled in full then the + same ByteBuffer must be provided to subsequent calls until it has been fully consumed, + except in the case of an intervening call to AudioSink.flush() (or to AudioSink.configure(Format, + int, int[]) that causes the sink to be flushed).

            +
            +
            Specified by:
            +
            handleBuffer in interface AudioSink
            +
            Parameters:
            +
            buffer - The buffer containing audio data.
            +
            presentationTimeUs - The presentation timestamp of the buffer in microseconds.
            +
            encodedAccessUnitCount - The number of encoded access units in the buffer, or 1 if the + buffer contains PCM audio. This allows batching multiple encoded access units in one + buffer.
            +
            Returns:
            +
            Whether the buffer was handled fully.
            +
            Throws:
            +
            AudioSink.InitializationException - If an error occurs initializing the sink.
            +
            AudioSink.WriteException - If an error occurs writing the audio data.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            hasPendingData

            +
            public boolean hasPendingData()
            +
            Description copied from interface: AudioSink
            +
            Returns whether the sink has data pending that has not been consumed yet.
            +
            +
            Specified by:
            +
            hasPendingData in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Description copied from interface: AudioSink
            +
            Attempts to set the playback parameters. The audio sink may override these parameters if they + are not supported.
            +
            +
            Specified by:
            +
            setPlaybackParameters in interface AudioSink
            +
            Parameters:
            +
            playbackParameters - The new playback parameters to attempt to set.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSkipSilenceEnabled

            +
            public void setSkipSilenceEnabled​(boolean skipSilenceEnabled)
            +
            Description copied from interface: AudioSink
            +
            Sets whether silences should be skipped in the audio stream.
            +
            +
            Specified by:
            +
            setSkipSilenceEnabled in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            getSkipSilenceEnabled

            +
            public boolean getSkipSilenceEnabled()
            +
            Description copied from interface: AudioSink
            +
            Returns whether silences are skipped in the audio stream.
            +
            +
            Specified by:
            +
            getSkipSilenceEnabled in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            public void setAudioAttributes​(AudioAttributes audioAttributes)
            +
            Description copied from interface: AudioSink
            +
            Sets attributes for audio playback. If the attributes have changed and if the sink is not + configured for use with tunneling, then it is reset and the audio session id is cleared. +

            + If the sink is configured for use with tunneling then the audio attributes are ignored. The + sink is not reset and the audio session id is not cleared. The passed attributes will be used + if the sink is later re-configured into non-tunneled mode.

            +
            +
            Specified by:
            +
            setAudioAttributes in interface AudioSink
            +
            Parameters:
            +
            audioAttributes - The attributes for audio playback.
            +
            +
          • +
          + + + +
            +
          • +

            setAudioSessionId

            +
            public void setAudioSessionId​(int audioSessionId)
            +
            Description copied from interface: AudioSink
            +
            Sets the audio session id.
            +
            +
            Specified by:
            +
            setAudioSessionId in interface AudioSink
            +
            +
          • +
          + + + + + + + +
            +
          • +

            enableTunnelingV21

            +
            public void enableTunnelingV21()
            +
            Description copied from interface: AudioSink
            +
            Enables tunneling, if possible. The sink is reset if tunneling was previously disabled. + Enabling tunneling is only possible if the sink is based on a platform AudioTrack, and + requires platform API version 21 onwards.
            +
            +
            Specified by:
            +
            enableTunnelingV21 in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            disableTunneling

            +
            public void disableTunneling()
            +
            Description copied from interface: AudioSink
            +
            Disables tunneling. If tunneling was previously enabled then the sink is reset and any audio + session id is cleared.
            +
            +
            Specified by:
            +
            disableTunneling in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            setVolume

            +
            public void setVolume​(float volume)
            +
            Description copied from interface: AudioSink
            +
            Sets the playback volume.
            +
            +
            Specified by:
            +
            setVolume in interface AudioSink
            +
            Parameters:
            +
            volume - A volume in the range [0.0, 1.0].
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            public void pause()
            +
            Description copied from interface: AudioSink
            +
            Pauses playback.
            +
            +
            Specified by:
            +
            pause in interface AudioSink
            +
            +
          • +
          + + + +
            +
          • +

            flush

            +
            public void flush()
            +
            Description copied from interface: AudioSink
            +
            Flushes the sink, after which it is ready to receive buffers from a new playback position. + +

            The audio session may remain active until AudioSink.reset() is called.

            +
            +
            Specified by:
            +
            flush in interface AudioSink
            +
            +
          • +
          + + + + + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Description copied from interface: AudioSink
            +
            Resets the renderer, releasing any resources that it currently holds.
            +
            +
            Specified by:
            +
            reset in interface AudioSink
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.html new file mode 100644 index 0000000000..42ef6247e9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.html @@ -0,0 +1,1572 @@ + + + + +MediaCodecAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecAudioRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               AudioRendererEventListener eventListener)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               AudioRendererEventListener eventListener,
            +                               @Nullable
            +                               AudioCapabilities audioCapabilities,
            +                               AudioProcessor... audioProcessors)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioCapabilities - The audio capabilities for playback on this device. May be null if the + default capabilities (no encoded audio passthrough support) should be assumed.
            +
            audioProcessors - Optional AudioProcessors that will process PCM audio before + output.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               AudioRendererEventListener eventListener,
            +                               AudioSink audioSink)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               boolean enableDecoderFallback,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               AudioRendererEventListener eventListener,
            +                               AudioSink audioSink)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecAudioRenderer

            +
            public MediaCodecAudioRenderer​(Context context,
            +                               MediaCodecAdapter.Factory codecAdapterFactory,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               boolean enableDecoderFallback,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               AudioRendererEventListener eventListener,
            +                               AudioSink audioSink)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            context - A context.
            +
            codecAdapterFactory - The MediaCodecAdapter.Factory used to create MediaCodecAdapter instances.
            +
            mediaCodecSelector - A decoder selector.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Specified by:
            +
            getName in interface Renderer
            +
            Specified by:
            +
            getName in interface RendererCapabilities
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetEnableKeepAudioTrackOnSeek

            +
            public void experimentalSetEnableKeepAudioTrackOnSeek​(boolean enableKeepAudioTrackOnSeek)
            +
            Sets whether to enable the experimental feature that keeps and flushes the AudioTrack when a seek occurs, as opposed to releasing and reinitialising. Off + by default. + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Parameters:
            +
            enableKeepAudioTrackOnSeek - Whether to keep the AudioTrack on seek.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            shouldUseBypass

            +
            protected boolean shouldUseBypass​(Format format)
            +
            Description copied from class: MediaCodecRenderer
            +
            Returns whether buffers in the input format can be processed without a codec. + +

            This method is only called if the content is not DRM protected, because if the content is + DRM protected use of bypass is never possible.

            +
            +
            Overrides:
            +
            shouldUseBypass in class MediaCodecRenderer
            +
            Parameters:
            +
            format - The input Format.
            +
            Returns:
            +
            Whether playback bypassing MediaCodec is supported.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getMediaClock

            +
            @Nullable
            +public MediaClock getMediaClock()
            +
            Description copied from interface: Renderer
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Specified by:
            +
            getMediaClock in interface Renderer
            +
            Overrides:
            +
            getMediaClock in class BaseRenderer
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onCodecInitialized

            +
            protected void onCodecInitialized​(String name,
            +                                  long initializedTimestampMs,
            +                                  long initializationDurationMs)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when a MediaCodec has been created and configured. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onCodecInitialized in class MediaCodecRenderer
            +
            Parameters:
            +
            name - The name of the codec that was initialized.
            +
            initializedTimestampMs - SystemClock.elapsedRealtime() when initialization + finished.
            +
            initializationDurationMs - The time taken to initialize the codec in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onCodecReleased

            +
            protected void onCodecReleased​(String name)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when a MediaCodec has been released. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onCodecReleased in class MediaCodecRenderer
            +
            Parameters:
            +
            name - The name of the codec that was released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onOutputFormatChanged

            +
            protected void onOutputFormatChanged​(Format format,
            +                                     @Nullable
            +                                     MediaFormat mediaFormat)
            +                              throws ExoPlaybackException
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when one of the output formats changes. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onOutputFormatChanged in class MediaCodecRenderer
            +
            Parameters:
            +
            format - The input Format to which future output now corresponds. If the renderer + is in bypass mode, this is also the output format.
            +
            mediaFormat - The codec output MediaFormat, or null if the renderer is in + bypass mode.
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs configuring the output.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class MediaCodecRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class MediaCodecRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStarted in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is reset. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onReset in class MediaCodecRenderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Overrides:
            +
            isReady in class MediaCodecRenderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            getPositionUs

            +
            public long getPositionUs()
            +
            Description copied from interface: MediaClock
            +
            Returns the current media position in microseconds.
            +
            +
            Specified by:
            +
            getPositionUs in interface MediaClock
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Description copied from interface: MediaClock
            +
            Attempts to set the playback parameters. The media clock may override the speed if changing the + playback parameters is not supported.
            +
            +
            Specified by:
            +
            setPlaybackParameters in interface MediaClock
            +
            Parameters:
            +
            playbackParameters - The playback parameters to attempt to set.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onQueueInputBuffer

            +
            protected void onQueueInputBuffer​(DecoderInputBuffer buffer)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called immediately before an input buffer is queued into the codec. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onQueueInputBuffer in class MediaCodecRenderer
            +
            Parameters:
            +
            buffer - The buffer to be queued.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            processOutputBuffer

            +
            protected boolean processOutputBuffer​(long positionUs,
            +                                      long elapsedRealtimeUs,
            +                                      @Nullable
            +                                      MediaCodecAdapter codec,
            +                                      @Nullable
            +                                      ByteBuffer buffer,
            +                                      int bufferIndex,
            +                                      int bufferFlags,
            +                                      int sampleCount,
            +                                      long bufferPresentationTimeUs,
            +                                      boolean isDecodeOnlyBuffer,
            +                                      boolean isLastBuffer,
            +                                      Format format)
            +                               throws ExoPlaybackException
            +
            Description copied from class: MediaCodecRenderer
            +
            Processes an output media buffer. + +

            When a new ByteBuffer is passed to this method its position and limit delineate the + data to be processed. The return value indicates whether the buffer was processed in full. If + true is returned then the next call to this method will receive a new buffer to be processed. + If false is returned then the same buffer will be passed to the next call. An implementation of + this method is free to modify the buffer and can assume that the buffer will not be externally + modified between successive calls. Hence an implementation can, for example, modify the + buffer's position to keep track of how much of the data it has processed. + +

            Note that the first call to this method following a call to MediaCodecRenderer.onPositionReset(long, + boolean) will always receive a new ByteBuffer to be processed.

            +
            +
            Specified by:
            +
            processOutputBuffer in class MediaCodecRenderer
            +
            Parameters:
            +
            positionUs - The current media time in microseconds, measured at the start of the current + iteration of the rendering loop.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, measured at the + start of the current iteration of the rendering loop.
            +
            codec - The MediaCodecAdapter instance, or null in bypass mode were no codec is + used.
            +
            buffer - The output buffer to process, or null if the buffer data is not made available to + the application layer (see MediaCodec.getOutputBuffer(int)). This buffer + can only be null for video data. Note that the buffer data can still be rendered in this + case by using the bufferIndex.
            +
            bufferIndex - The index of the output buffer.
            +
            bufferFlags - The flags attached to the output buffer.
            +
            sampleCount - The number of samples extracted from the sample queue in the buffer. This + allows handling multiple samples as a batch for efficiency.
            +
            bufferPresentationTimeUs - The presentation time of the output buffer in microseconds.
            +
            isDecodeOnlyBuffer - Whether the buffer was marked with C.BUFFER_FLAG_DECODE_ONLY + by the source.
            +
            isLastBuffer - Whether the buffer is the last sample of the current stream.
            +
            format - The Format associated with the buffer.
            +
            Returns:
            +
            Whether the output buffer was fully processed (for example, rendered or skipped).
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs processing the output buffer.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getCodecMaxInputSize

            +
            protected int getCodecMaxInputSize​(MediaCodecInfo codecInfo,
            +                                   Format format,
            +                                   Format[] streamFormats)
            +
            Returns a maximum input size suitable for configuring a codec for format in a way that + will allow possible adaptation to other compatible formats in streamFormats.
            +
            +
            Parameters:
            +
            codecInfo - A MediaCodecInfo describing the decoder.
            +
            format - The Format for which the codec is being configured.
            +
            streamFormats - The possible stream formats.
            +
            Returns:
            +
            A suitable maximum input size.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaFormat

            +
            protected MediaFormat getMediaFormat​(Format format,
            +                                     String codecMimeType,
            +                                     int codecMaxInputSize,
            +                                     float codecOperatingRate)
            +
            Returns the framework MediaFormat that can be used to configure a MediaCodec + for decoding the given Format for playback.
            +
            +
            Parameters:
            +
            format - The Format of the media.
            +
            codecMimeType - The MIME type handled by the codec.
            +
            codecMaxInputSize - The maximum input size supported by the codec.
            +
            codecOperatingRate - The codec operating rate, or MediaCodecRenderer.CODEC_OPERATING_RATE_UNSET if + no codec operating rate should be set.
            +
            Returns:
            +
            The framework MediaFormat.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html new file mode 100644 index 0000000000..9bdeaff03e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.Header.html @@ -0,0 +1,460 @@ + + + + +MpegAudioUtil.Header (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MpegAudioUtil.Header

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.MpegAudioUtil.Header
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MpegAudioUtil
        +
        +
        +
        public static final class MpegAudioUtil.Header
        +extends Object
        +
        Stores the metadata for an MPEG audio frame.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          intbitrate +
          Bitrate of the frame in bit/s.
          +
          intchannels +
          Number of audio channels in the frame.
          +
          intframeSize +
          Size of the frame associated with this header, in bytes.
          +
          StringmimeType +
          The mime type.
          +
          intsampleRate +
          Sample rate in samples per second.
          +
          intsamplesPerFrame +
          Number of samples stored in the frame.
          +
          intversion +
          MPEG audio header version.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          Header() 
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            version

            +
            public int version
            +
            MPEG audio header version.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            @Nullable
            +public String mimeType
            +
            The mime type.
            +
          • +
          + + + +
            +
          • +

            frameSize

            +
            public int frameSize
            +
            Size of the frame associated with this header, in bytes.
            +
          • +
          + + + +
            +
          • +

            sampleRate

            +
            public int sampleRate
            +
            Sample rate in samples per second.
            +
          • +
          + + + +
            +
          • +

            channels

            +
            public int channels
            +
            Number of audio channels in the frame.
            +
          • +
          + + + +
            +
          • +

            bitrate

            +
            public int bitrate
            +
            Bitrate of the frame in bit/s.
            +
          • +
          + + + +
            +
          • +

            samplesPerFrame

            +
            public int samplesPerFrame
            +
            Number of samples stored in the frame.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Header

            +
            public Header()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setForHeaderData

            +
            public boolean setForHeaderData​(int headerData)
            +
            Populates the fields in this instance to reflect the MPEG audio header in headerData, + returning whether the header was valid. If false, the values of the fields in this instance + will not be updated.
            +
            +
            Parameters:
            +
            headerData - Header data to parse.
            +
            Returns:
            +
            True if the fields were populated. False otherwise, indicating that + headerData is not a valid MPEG audio header.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.html new file mode 100644 index 0000000000..a075f5ab6f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/MpegAudioUtil.html @@ -0,0 +1,380 @@ + + + + +MpegAudioUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MpegAudioUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class MpegAudioUtil
        +extends Object
        +
        Utility methods for handling MPEG audio streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            MAX_FRAME_SIZE_BYTES

            +
            public static final int MAX_FRAME_SIZE_BYTES
            +
            Theoretical maximum frame size for an MPEG audio stream, which occurs when playing a Layer 2 + MPEG 2.5 audio stream at 16 kb/s (with padding). The size is 1152 sample/frame * 160000 bit/s / + (8000 sample/s * 8 bit/byte) + 1 padding byte/frame = 2881 byte/frame. The next power of two + size is 4 KiB.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_RATE_BYTES_PER_SECOND

            +
            public static final int MAX_RATE_BYTES_PER_SECOND
            +
            Maximum rate for an MPEG audio stream corresponding to MPEG-1 layer III (320 kbit/s), in bytes + per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getFrameSize

            +
            public static int getFrameSize​(int headerData)
            +
            Returns the size of the frame associated with header, or C.LENGTH_UNSET if it + is invalid.
            +
          • +
          + + + +
            +
          • +

            parseMpegAudioFrameSampleCount

            +
            public static int parseMpegAudioFrameSampleCount​(int headerData)
            +
            Returns the number of samples per frame associated with headerData, or C.LENGTH_UNSET if it is invalid.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/OpusUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/OpusUtil.html new file mode 100644 index 0000000000..65e2675034 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/OpusUtil.html @@ -0,0 +1,388 @@ + + + + +OpusUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OpusUtil

      +
      +
      + +
      +
        +
      • +
        +
        public class OpusUtil
        +extends Object
        +
        Utility methods for handling Opus audio streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SAMPLE_RATE

            +
            public static final int SAMPLE_RATE
            +
            Opus streams are always 48000 Hz.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getChannelCount

            +
            public static int getChannelCount​(byte[] header)
            +
            Parses the channel count from an Opus Identification Header.
            +
            +
            Parameters:
            +
            header - An Opus Identification Header, as defined by RFC 7845.
            +
            Returns:
            +
            The parsed channel count.
            +
            +
          • +
          + + + +
            +
          • +

            buildInitializationData

            +
            public static List<byte[]> buildInitializationData​(byte[] header)
            +
            Builds codec initialization data from an Opus Identification Header.
            +
            +
            Parameters:
            +
            header - An Opus Identification Header, as defined by RFC 7845.
            +
            Returns:
            +
            Codec initialization data suitable for an Opus MediaCodec.
            +
            +
          • +
          + + + +
            +
          • +

            getPreSkipSamples

            +
            public static int getPreSkipSamples​(List<byte[]> initializationData)
            +
            Returns the number of pre-skip samples specified by the given Opus codec initialization data.
            +
            +
            Parameters:
            +
            initializationData - The codec initialization data.
            +
            Returns:
            +
            The number of pre-skip samples.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPreRollSamples

            +
            public static int getSeekPreRollSamples​(List<byte[]> initializationData)
            +
            Returns the number of seek per-roll samples specified by the given Opus codec initialization + data.
            +
            +
            Parameters:
            +
            initializationData - The codec initialization data.
            +
            Returns:
            +
            The number of seek pre-roll samples.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html new file mode 100644 index 0000000000..76051467ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SilenceSkippingAudioProcessor.html @@ -0,0 +1,633 @@ + + + + +SilenceSkippingAudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SilenceSkippingAudioProcessor

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SilenceSkippingAudioProcessor

            +
            public SilenceSkippingAudioProcessor()
            +
            Creates a new silence skipping audio processor.
            +
          • +
          + + + +
            +
          • +

            SilenceSkippingAudioProcessor

            +
            public SilenceSkippingAudioProcessor​(long minimumSilenceDurationUs,
            +                                     long paddingSilenceUs,
            +                                     short silenceThresholdLevel)
            +
            Creates a new silence skipping audio processor.
            +
            +
            Parameters:
            +
            minimumSilenceDurationUs - The minimum duration of audio that must be below + silenceThresholdLevel to classify that part of audio as silent, in microseconds.
            +
            paddingSilenceUs - The duration of silence by which to extend non-silent sections, in + microseconds. The value must not exceed minimumSilenceDurationUs.
            +
            silenceThresholdLevel - The absolute level below which an individual PCM sample is + classified as silent.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setEnabled

            +
            public void setEnabled​(boolean enabled)
            +
            Sets whether to skip silence in the input. This method may only be called after draining data + through the processor. The value returned by isActive() may change, and the processor + must be flushed before queueing more data.
            +
            +
            Parameters:
            +
            enabled - Whether to skip silence in the input.
            +
            +
          • +
          + + + +
            +
          • +

            getSkippedFrames

            +
            public long getSkippedFrames()
            +
            Returns the total number of frames of input audio that were skipped due to being classified as + silence since the last call to BaseAudioProcessor.flush().
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            queueInput

            +
            public void queueInput​(ByteBuffer inputBuffer)
            +
            Description copied from interface: AudioProcessor
            +
            Queues audio data between the position and limit of the input buffer for processing. + buffer must be a direct byte buffer with native byte order. Its contents are treated as + read-only. Its position will be advanced by the number of bytes consumed (which may be zero). + The caller retains ownership of the provided buffer. Calling this method invalidates any + previous buffer returned by AudioProcessor.getOutput().
            +
            +
            Parameters:
            +
            inputBuffer - The input buffer to process.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onFlush

            +
            protected void onFlush()
            +
            Description copied from class: BaseAudioProcessor
            +
            Called when the processor is flushed, directly or as part of resetting.
            +
            +
            Overrides:
            +
            onFlush in class BaseAudioProcessor
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SonicAudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SonicAudioProcessor.html new file mode 100644 index 0000000000..a2b6ace2e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/SonicAudioProcessor.html @@ -0,0 +1,666 @@ + + + + +SonicAudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SonicAudioProcessor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.SonicAudioProcessor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SAMPLE_RATE_NO_CHANGE

            +
            public static final int SAMPLE_RATE_NO_CHANGE
            +
            Indicates that the output sample rate should be the same as the input.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SonicAudioProcessor

            +
            public SonicAudioProcessor()
            +
            Creates a new Sonic audio processor.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setSpeed

            +
            public void setSpeed​(float speed)
            +
            Sets the target playback speed. This method may only be called after draining data through the + processor. The value returned by isActive() may change, and the processor must be + flushed before queueing more data.
            +
            +
            Parameters:
            +
            speed - The target factor by which playback should be sped up.
            +
            +
          • +
          + + + +
            +
          • +

            setPitch

            +
            public void setPitch​(float pitch)
            +
            Sets the target playback pitch. This method may only be called after draining data through the + processor. The value returned by isActive() may change, and the processor must be + flushed before queueing more data.
            +
            +
            Parameters:
            +
            pitch - The target pitch.
            +
            +
          • +
          + + + +
            +
          • +

            setOutputSampleRateHz

            +
            public void setOutputSampleRateHz​(int sampleRateHz)
            +
            Sets the sample rate for output audio, in Hertz. Pass SAMPLE_RATE_NO_CHANGE to output + audio at the same sample rate as the input. After calling this method, call configure(AudioFormat) to configure the processor with the new sample rate.
            +
            +
            Parameters:
            +
            sampleRateHz - The sample rate for output audio, in Hertz.
            +
            See Also:
            +
            configure(AudioFormat)
            +
            +
          • +
          + + + +
            +
          • +

            getMediaDuration

            +
            public long getMediaDuration​(long playoutDuration)
            +
            Returns the media duration corresponding to the specified playout duration, taking speed + adjustment into account. + +

            The scaling performed by this method will use the actual playback speed achieved by the + audio processor, on average, since it was last flushed. This may differ very slightly from the + target playback speed.

            +
            +
            Parameters:
            +
            playoutDuration - The playout duration to scale.
            +
            Returns:
            +
            The corresponding media duration, in the same units as duration.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isActive

            +
            public boolean isActive()
            +
            Description copied from interface: AudioProcessor
            +
            Returns whether the processor is configured and will process input buffers.
            +
            +
            Specified by:
            +
            isActive in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            queueInput

            +
            public void queueInput​(ByteBuffer inputBuffer)
            +
            Description copied from interface: AudioProcessor
            +
            Queues audio data between the position and limit of the input buffer for processing. + buffer must be a direct byte buffer with native byte order. Its contents are treated as + read-only. Its position will be advanced by the number of bytes consumed (which may be zero). + The caller retains ownership of the provided buffer. Calling this method invalidates any + previous buffer returned by AudioProcessor.getOutput().
            +
            +
            Specified by:
            +
            queueInput in interface AudioProcessor
            +
            Parameters:
            +
            inputBuffer - The input buffer to process.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getOutput

            +
            public ByteBuffer getOutput()
            +
            Description copied from interface: AudioProcessor
            +
            Returns a buffer containing processed output data between its position and limit. The buffer + will always be a direct byte buffer with native byte order. Calling this method invalidates any + previously returned buffer. The buffer will be empty if no output is available.
            +
            +
            Specified by:
            +
            getOutput in interface AudioProcessor
            +
            Returns:
            +
            A buffer containing processed output data between its position and limit.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            flush

            +
            public void flush()
            +
            Description copied from interface: AudioProcessor
            +
            Clears any buffered data and pending output. If the audio processor is active, also prepares + the audio processor to receive a new stream of input in the last configured (pending) format.
            +
            +
            Specified by:
            +
            flush in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Description copied from interface: AudioProcessor
            +
            Resets the processor to its unconfigured state, releasing any resources.
            +
            +
            Specified by:
            +
            reset in interface AudioProcessor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.AudioBufferSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.AudioBufferSink.html new file mode 100644 index 0000000000..312ab348c6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.AudioBufferSink.html @@ -0,0 +1,284 @@ + + + + +TeeAudioProcessor.AudioBufferSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TeeAudioProcessor.AudioBufferSink

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidflush​(int sampleRateHz, + int channelCount, + int encoding) +
          Called when the audio processor is flushed with a format of subsequent input.
          +
          voidhandleBuffer​(ByteBuffer buffer) +
          Called when data is written to the audio processor.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            flush

            +
            void flush​(int sampleRateHz,
            +           int channelCount,
            +           @PcmEncoding
            +           int encoding)
            +
            Called when the audio processor is flushed with a format of subsequent input.
            +
          • +
          + + + +
            +
          • +

            handleBuffer

            +
            void handleBuffer​(ByteBuffer buffer)
            +
            Called when data is written to the audio processor.
            +
            +
            Parameters:
            +
            buffer - A read-only buffer containing input which the audio processor will handle.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.WavFileAudioBufferSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.WavFileAudioBufferSink.html new file mode 100644 index 0000000000..c419fc2109 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.WavFileAudioBufferSink.html @@ -0,0 +1,357 @@ + + + + +TeeAudioProcessor.WavFileAudioBufferSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TeeAudioProcessor.WavFileAudioBufferSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.audio.TeeAudioProcessor.WavFileAudioBufferSink
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        TeeAudioProcessor.AudioBufferSink
        +
        +
        +
        Enclosing class:
        +
        TeeAudioProcessor
        +
        +
        +
        public static final class TeeAudioProcessor.WavFileAudioBufferSink
        +extends Object
        +implements TeeAudioProcessor.AudioBufferSink
        +
        A sink for audio buffers that writes output audio as .wav files with a given path prefix. When + new audio data is handled after flushing the audio processor, a counter is incremented and its + value is appended to the output file name. + +

        Note: if writing to external storage it's necessary to grant the + WRITE_EXTERNAL_STORAGE permission.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WavFileAudioBufferSink

            +
            public WavFileAudioBufferSink​(String outputFileNamePrefix)
            +
            Creates a new audio buffer sink that writes to .wav files with the given prefix.
            +
            +
            Parameters:
            +
            outputFileNamePrefix - The prefix for output files.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.html new file mode 100644 index 0000000000..0d85fd6680 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/TeeAudioProcessor.html @@ -0,0 +1,489 @@ + + + + +TeeAudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TeeAudioProcessor

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        AudioProcessor
        +
        +
        +
        public final class TeeAudioProcessor
        +extends BaseAudioProcessor
        +
        Audio processor that outputs its input unmodified and also outputs its input to a given sink. + This is intended to be used for diagnostics and debugging. + +

        This audio processor can be inserted into the audio processor chain to access audio data + before/after particular processing steps have been applied. For example, to get audio output + after playback speed adjustment and silence skipping have been applied it is necessary to pass a + custom DefaultAudioSink.AudioProcessorChain when + creating the audio sink, and include this audio processor after all other audio processors.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            queueInput

            +
            public void queueInput​(ByteBuffer inputBuffer)
            +
            Description copied from interface: AudioProcessor
            +
            Queues audio data between the position and limit of the input buffer for processing. + buffer must be a direct byte buffer with native byte order. Its contents are treated as + read-only. Its position will be advanced by the number of bytes consumed (which may be zero). + The caller retains ownership of the provided buffer. Calling this method invalidates any + previous buffer returned by AudioProcessor.getOutput().
            +
            +
            Parameters:
            +
            inputBuffer - The input buffer to process.
            +
            +
          • +
          + + + +
            +
          • +

            onFlush

            +
            protected void onFlush()
            +
            Description copied from class: BaseAudioProcessor
            +
            Called when the processor is flushed, directly or as part of resetting.
            +
            +
            Overrides:
            +
            onFlush in class BaseAudioProcessor
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/WavUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/WavUtil.html new file mode 100644 index 0000000000..0afe5e7410 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/WavUtil.html @@ -0,0 +1,530 @@ + + + + +WavUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WavUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class WavUtil
        +extends Object
        +
        Utilities for handling WAVE files.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            RIFF_FOURCC

            +
            public static final int RIFF_FOURCC
            +
            Four character code for "RIFF".
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            WAVE_FOURCC

            +
            public static final int WAVE_FOURCC
            +
            Four character code for "WAVE".
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FMT_FOURCC

            +
            public static final int FMT_FOURCC
            +
            Four character code for "fmt ".
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DATA_FOURCC

            +
            public static final int DATA_FOURCC
            +
            Four character code for "data".
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_PCM

            +
            public static final int TYPE_PCM
            +
            WAVE type value for integer PCM audio data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_FLOAT

            +
            public static final int TYPE_FLOAT
            +
            WAVE type value for float PCM audio data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_ALAW

            +
            public static final int TYPE_ALAW
            +
            WAVE type value for 8-bit ITU-T G.711 A-law audio data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_MLAW

            +
            public static final int TYPE_MLAW
            +
            WAVE type value for 8-bit ITU-T G.711 mu-law audio data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_IMA_ADPCM

            +
            public static final int TYPE_IMA_ADPCM
            +
            WAVE type value for IMA ADPCM audio data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_WAVE_FORMAT_EXTENSIBLE

            +
            public static final int TYPE_WAVE_FORMAT_EXTENSIBLE
            +
            WAVE type value for extended WAVE format.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-frame.html new file mode 100644 index 0000000000..48926be483 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-frame.html @@ -0,0 +1,79 @@ + + + + +com.google.android.exoplayer2.audio (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.audio

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-summary.html new file mode 100644 index 0000000000..b4dae0bb76 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-summary.html @@ -0,0 +1,465 @@ + + + + +com.google.android.exoplayer2.audio (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.audio

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-tree.html new file mode 100644 index 0000000000..63cc09f77f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/audio/package-tree.html @@ -0,0 +1,233 @@ + + + + +com.google.android.exoplayer2.audio Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.audio

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseIOException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseIOException.html new file mode 100644 index 0000000000..5c6dcfc250 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseIOException.html @@ -0,0 +1,308 @@ + + + + +DatabaseIOException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DatabaseIOException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DatabaseIOException

            +
            public DatabaseIOException​(SQLException cause)
            +
          • +
          + + + +
            +
          • +

            DatabaseIOException

            +
            public DatabaseIOException​(SQLException cause,
            +                           String message)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseProvider.html new file mode 100644 index 0000000000..08c0d8f74d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DatabaseProvider.html @@ -0,0 +1,339 @@ + + + + +DatabaseProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DatabaseProvider

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            TABLE_PREFIX

            +
            static final String TABLE_PREFIX
            +
            Prefix for tables that can be read and written by ExoPlayer components.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWritableDatabase

            +
            SQLiteDatabase getWritableDatabase()
            +
            Creates and/or opens a database that will be used for reading and writing. + +

            Once opened successfully, the database is cached, so you can call this method every time you + need to write to the database. Errors such as bad permissions or a full disk may cause this + method to fail, but future attempts may succeed if the problem is fixed.

            +
            +
            Returns:
            +
            A read/write database object.
            +
            Throws:
            +
            SQLiteException - If the database cannot be opened for writing.
            +
            +
          • +
          + + + +
            +
          • +

            getReadableDatabase

            +
            SQLiteDatabase getReadableDatabase()
            +
            Creates and/or opens a database. This will be the same object returned by getWritableDatabase() unless some problem, such as a full disk, requires the database to be + opened read-only. In that case, a read-only database object will be returned. If the problem is + fixed, a future call to getWritableDatabase() may succeed, in which case the read-only + database object will be closed and the read/write object will be returned in the future. + +

            Once opened successfully, the database is cached, so you can call this method every time you + need to read from the database.

            +
            +
            Returns:
            +
            A database object valid until getWritableDatabase() is called.
            +
            Throws:
            +
            SQLiteException - If the database cannot be opened.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DefaultDatabaseProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DefaultDatabaseProvider.html new file mode 100644 index 0000000000..ca0315b349 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/DefaultDatabaseProvider.html @@ -0,0 +1,367 @@ + + + + +DefaultDatabaseProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDatabaseProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.database.DefaultDatabaseProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultDatabaseProvider

            +
            public DefaultDatabaseProvider​(SQLiteOpenHelper sqliteOpenHelper)
            +
            +
            Parameters:
            +
            sqliteOpenHelper - An SQLiteOpenHelper from which to obtain database instances.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWritableDatabase

            +
            public SQLiteDatabase getWritableDatabase()
            +
            Description copied from interface: DatabaseProvider
            +
            Creates and/or opens a database that will be used for reading and writing. + +

            Once opened successfully, the database is cached, so you can call this method every time you + need to write to the database. Errors such as bad permissions or a full disk may cause this + method to fail, but future attempts may succeed if the problem is fixed.

            +
            +
            Specified by:
            +
            getWritableDatabase in interface DatabaseProvider
            +
            Returns:
            +
            A read/write database object.
            +
            +
          • +
          + + + +
            +
          • +

            getReadableDatabase

            +
            public SQLiteDatabase getReadableDatabase()
            +
            Description copied from interface: DatabaseProvider
            +
            Creates and/or opens a database. This will be the same object returned by DatabaseProvider.getWritableDatabase() unless some problem, such as a full disk, requires the database to be + opened read-only. In that case, a read-only database object will be returned. If the problem is + fixed, a future call to DatabaseProvider.getWritableDatabase() may succeed, in which case the read-only + database object will be closed and the read/write object will be returned in the future. + +

            Once opened successfully, the database is cached, so you can call this method every time you + need to read from the database.

            +
            +
            Specified by:
            +
            getReadableDatabase in interface DatabaseProvider
            +
            Returns:
            +
            A database object valid until DatabaseProvider.getWritableDatabase() is called.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/ExoDatabaseProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/ExoDatabaseProvider.html new file mode 100644 index 0000000000..d58b4009b4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/ExoDatabaseProvider.html @@ -0,0 +1,434 @@ + + + + +ExoDatabaseProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoDatabaseProvider

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/VersionTable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/VersionTable.html new file mode 100644 index 0000000000..aa753897bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/VersionTable.html @@ -0,0 +1,479 @@ + + + + +VersionTable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VersionTable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.database.VersionTable
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class VersionTable
        +extends Object
        +
        Utility methods for accessing versions of ExoPlayer database components. This allows them to be + versioned independently to the version of the containing database.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FEATURE_OFFLINE

            +
            public static final int FEATURE_OFFLINE
            +
            Version of tables used for offline functionality.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FEATURE_CACHE_CONTENT_METADATA

            +
            public static final int FEATURE_CACHE_CONTENT_METADATA
            +
            Version of tables used for cache content metadata.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FEATURE_CACHE_FILE_METADATA

            +
            public static final int FEATURE_CACHE_FILE_METADATA
            +
            Version of tables used for cache file metadata.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FEATURE_EXTERNAL

            +
            public static final int FEATURE_EXTERNAL
            +
            Version of tables used from external features.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setVersion

            +
            public static void setVersion​(SQLiteDatabase writableDatabase,
            +                              @Feature
            +                              int feature,
            +                              String instanceUid,
            +                              int version)
            +                       throws DatabaseIOException
            +
            Sets the version of a specified instance of a specified feature.
            +
            +
            Parameters:
            +
            writableDatabase - The database to update.
            +
            feature - The feature.
            +
            instanceUid - The unique identifier of the instance of the feature.
            +
            version - The version.
            +
            Throws:
            +
            DatabaseIOException - If an error occurs executing the SQL.
            +
            +
          • +
          + + + +
            +
          • +

            removeVersion

            +
            public static void removeVersion​(SQLiteDatabase writableDatabase,
            +                                 @Feature
            +                                 int feature,
            +                                 String instanceUid)
            +                          throws DatabaseIOException
            +
            Removes the version of a specified instance of a feature.
            +
            +
            Parameters:
            +
            writableDatabase - The database to update.
            +
            feature - The feature.
            +
            instanceUid - The unique identifier of the instance of the feature.
            +
            Throws:
            +
            DatabaseIOException - If an error occurs executing the SQL.
            +
            +
          • +
          + + + +
            +
          • +

            getVersion

            +
            public static int getVersion​(SQLiteDatabase database,
            +                             @Feature
            +                             int feature,
            +                             String instanceUid)
            +                      throws DatabaseIOException
            +
            Returns the version of a specified instance of a feature, or VERSION_UNSET if no + version is set.
            +
            +
            Parameters:
            +
            database - The database to query.
            +
            feature - The feature.
            +
            instanceUid - The unique identifier of the instance of the feature.
            +
            Returns:
            +
            The version, or VERSION_UNSET if no version is set.
            +
            Throws:
            +
            DatabaseIOException - If an error occurs executing the SQL.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-frame.html new file mode 100644 index 0000000000..6658dcfd21 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.database (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.database

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-summary.html new file mode 100644 index 0000000000..a93b8d439e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-summary.html @@ -0,0 +1,215 @@ + + + + +com.google.android.exoplayer2.database (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.database

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-tree.html new file mode 100644 index 0000000000..af57ad1972 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/database/package-tree.html @@ -0,0 +1,184 @@ + + + + +com.google.android.exoplayer2.database Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.database

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Buffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Buffer.html new file mode 100644 index 0000000000..abc126b6b5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Buffer.html @@ -0,0 +1,466 @@ + + + + +Buffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Buffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Buffer

            +
            public Buffer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears the buffer.
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setFlags

            +
            public final void setFlags​(@BufferFlags
            +                           int flags)
            +
            Replaces this buffer's flags with flags.
            +
            +
            Parameters:
            +
            flags - The flags to set, which should be a combination of the C.BUFFER_FLAG_* + constants.
            +
            +
          • +
          + + + +
            +
          • +

            addFlag

            +
            public final void addFlag​(@BufferFlags
            +                          int flag)
            +
            Adds the flag to this buffer's flags.
            +
            +
            Parameters:
            +
            flag - The flag to add to this buffer's flags, which should be one of the + C.BUFFER_FLAG_* constants.
            +
            +
          • +
          + + + +
            +
          • +

            clearFlag

            +
            public final void clearFlag​(@BufferFlags
            +                            int flag)
            +
            Removes the flag from this buffer's flags, if it is set.
            +
            +
            Parameters:
            +
            flag - The flag to remove.
            +
            +
          • +
          + + + +
            +
          • +

            getFlag

            +
            protected final boolean getFlag​(@BufferFlags
            +                                int flag)
            +
            Returns whether the specified flag has been set on this buffer.
            +
            +
            Parameters:
            +
            flag - The flag to check.
            +
            Returns:
            +
            Whether the flag is set.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/CryptoInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/CryptoInfo.html new file mode 100644 index 0000000000..0c4244f183 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/CryptoInfo.html @@ -0,0 +1,585 @@ + + + + +CryptoInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CryptoInfo

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Decoder.html new file mode 100644 index 0000000000..ca60c56642 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/Decoder.html @@ -0,0 +1,382 @@ + + + + +Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Decoder<I,O,E extends DecoderException>

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            String getName()
            +
            Returns the name of the decoder.
            +
            +
            Returns:
            +
            The name of the decoder.
            +
            +
          • +
          + + + +
            +
          • +

            dequeueInputBuffer

            +
            @Nullable
            +I dequeueInputBuffer()
            +              throws E extends DecoderException
            +
            Dequeues the next input buffer to be filled and queued to the decoder.
            +
            +
            Returns:
            +
            The input buffer, which will have been cleared, or null if a buffer isn't available.
            +
            Throws:
            +
            E - If a decoder error has occurred.
            +
            E extends DecoderException
            +
            +
          • +
          + + + + + +
            +
          • +

            queueInputBuffer

            +
            void queueInputBuffer​(I inputBuffer)
            +               throws E extends DecoderException
            +
            Queues an input buffer to the decoder.
            +
            +
            Parameters:
            +
            inputBuffer - The input buffer.
            +
            Throws:
            +
            E - If a decoder error has occurred.
            +
            E extends DecoderException
            +
            +
          • +
          + + + +
            +
          • +

            dequeueOutputBuffer

            +
            @Nullable
            +O dequeueOutputBuffer()
            +               throws E extends DecoderException
            +
            Dequeues the next output buffer from the decoder.
            +
            +
            Returns:
            +
            The output buffer, or null if an output buffer isn't available.
            +
            Throws:
            +
            E - If a decoder error has occurred.
            +
            E extends DecoderException
            +
            +
          • +
          + + + +
            +
          • +

            flush

            +
            void flush()
            +
            Flushes the decoder. Ownership of dequeued input buffers is returned to the decoder. The caller + is still responsible for releasing any dequeued output buffers.
            +
          • +
          + + + +
            +
          • +

            release

            +
            void release()
            +
            Releases the decoder. Must be called when the decoder is no longer needed.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderCounters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderCounters.html new file mode 100644 index 0000000000..ab1a3b1675 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderCounters.html @@ -0,0 +1,590 @@ + + + + +DecoderCounters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderCounters

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.decoder.DecoderCounters
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DecoderCounters
        +extends Object
        +
        Maintains decoder event counts, for debugging purposes only. + +

        Counters should be written from the playback thread only. Counters may be read from any + thread. To ensure that the counter values are made visible across threads, users of this class + should invoke ensureUpdated() prior to reading and after writing.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            decoderInitCount

            +
            public int decoderInitCount
            +
            The number of times a decoder has been initialized.
            +
          • +
          + + + +
            +
          • +

            decoderReleaseCount

            +
            public int decoderReleaseCount
            +
            The number of times a decoder has been released.
            +
          • +
          + + + +
            +
          • +

            inputBufferCount

            +
            public int inputBufferCount
            +
            The number of queued input buffers.
            +
          • +
          + + + +
            +
          • +

            skippedInputBufferCount

            +
            public int skippedInputBufferCount
            +
            The number of skipped input buffers. +

            + A skipped input buffer is an input buffer that was deliberately not sent to the decoder.

            +
          • +
          + + + +
            +
          • +

            renderedOutputBufferCount

            +
            public int renderedOutputBufferCount
            +
            The number of rendered output buffers.
            +
          • +
          + + + +
            +
          • +

            skippedOutputBufferCount

            +
            public int skippedOutputBufferCount
            +
            The number of skipped output buffers. +

            + A skipped output buffer is an output buffer that was deliberately not rendered.

            +
          • +
          + + + +
            +
          • +

            droppedBufferCount

            +
            public int droppedBufferCount
            +
            The number of dropped buffers. +

            + A dropped buffer is an buffer that was supposed to be decoded/rendered, but was instead + dropped because it could not be rendered in time.

            +
          • +
          + + + +
            +
          • +

            maxConsecutiveDroppedBufferCount

            +
            public int maxConsecutiveDroppedBufferCount
            +
            The maximum number of dropped buffers without an interleaving rendered output buffer. +

            + Skipped output buffers are ignored for the purposes of calculating this value.

            +
          • +
          + + + +
            +
          • +

            droppedToKeyframeCount

            +
            public int droppedToKeyframeCount
            +
            The number of times all buffers to a keyframe were dropped. +

            + Each time buffers to a keyframe are dropped, this counter is increased by one, and the dropped + buffer counters are increased by one (for the current output buffer) plus the number of buffers + dropped from the source to advance to the keyframe.

            +
          • +
          + + + +
            +
          • +

            totalVideoFrameProcessingOffsetUs

            +
            public long totalVideoFrameProcessingOffsetUs
            +
            The sum of the video frame processing offsets in microseconds. + +

            The processing offset for a video frame is the difference between the time at which the + frame became available to render, and the time at which it was scheduled to be rendered. A + positive value indicates the frame became available early enough, whereas a negative value + indicates that the frame wasn't available until after the time at which it should have been + rendered. + +

            Note: Use addVideoFrameProcessingOffset(long) to update this field instead of + updating it directly.

            +
          • +
          + + + +
            +
          • +

            videoFrameProcessingOffsetCount

            +
            public int videoFrameProcessingOffsetCount
            +
            The number of video frame processing offsets added. + +

            Note: Use addVideoFrameProcessingOffset(long) to update this field instead of + updating it directly.

            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderCounters

            +
            public DecoderCounters()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            ensureUpdated

            +
            public void ensureUpdated()
            +
            Should be called to ensure counter values are made visible across threads. The playback thread + should call this method after updating the counter values. Any other thread should call this + method before reading the counters.
            +
          • +
          + + + +
            +
          • +

            merge

            +
            public void merge​(DecoderCounters other)
            +
            Merges the counts from other into this instance.
            +
            +
            Parameters:
            +
            other - The DecoderCounters to merge into this instance.
            +
            +
          • +
          + + + +
            +
          • +

            addVideoFrameProcessingOffset

            +
            public void addVideoFrameProcessingOffset​(long processingOffsetUs)
            +
            Adds a video frame processing offset to totalVideoFrameProcessingOffsetUs and + increases videoFrameProcessingOffsetCount by one. + +

            Convenience method to ensure both fields are updated when adding a single offset.

            +
            +
            Parameters:
            +
            processingOffsetUs - The video frame processing offset in microseconds.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderException.html new file mode 100644 index 0000000000..85b955db52 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderException.html @@ -0,0 +1,344 @@ + + + + +DecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderException

            +
            public DecoderException​(String message)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            message - The detail message for this exception.
            +
            +
          • +
          + + + +
            +
          • +

            DecoderException

            +
            public DecoderException​(@Nullable
            +                        Throwable cause)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            cause - The cause of this exception, or null.
            +
            +
          • +
          + + + +
            +
          • +

            DecoderException

            +
            public DecoderException​(String message,
            +                        @Nullable
            +                        Throwable cause)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            message - The detail message for this exception.
            +
            cause - The cause of this exception, or null.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.BufferReplacementMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.BufferReplacementMode.html new file mode 100644 index 0000000000..628aef8de3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.BufferReplacementMode.html @@ -0,0 +1,190 @@ + + + + +DecoderInputBuffer.BufferReplacementMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DecoderInputBuffer.BufferReplacementMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.InsufficientCapacityException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.InsufficientCapacityException.html new file mode 100644 index 0000000000..7b011bd879 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.InsufficientCapacityException.html @@ -0,0 +1,371 @@ + + + + +DecoderInputBuffer.InsufficientCapacityException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderInputBuffer.InsufficientCapacityException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            currentCapacity

            +
            public final int currentCapacity
            +
            The current capacity of the buffer.
            +
          • +
          + + + +
            +
          • +

            requiredCapacity

            +
            public final int requiredCapacity
            +
            The required capacity of the buffer.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            InsufficientCapacityException

            +
            public InsufficientCapacityException​(int currentCapacity,
            +                                     int requiredCapacity)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            currentCapacity - The current capacity of the buffer.
            +
            requiredCapacity - The required capacity of the buffer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.html new file mode 100644 index 0000000000..10ef7d30c3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderInputBuffer.html @@ -0,0 +1,700 @@ + + + + +DecoderInputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderInputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            BUFFER_REPLACEMENT_MODE_DISABLED

            +
            public static final int BUFFER_REPLACEMENT_MODE_DISABLED
            +
            Disallows buffer replacement.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            data

            +
            @Nullable
            +public ByteBuffer data
            +
            The buffer's data, or null if no data has been set.
            +
          • +
          + + + +
            +
          • +

            waitingForKeys

            +
            public boolean waitingForKeys
            +
            Whether the last attempt to read a sample into this buffer failed due to not yet having the DRM + keys associated with the next sample.
            +
          • +
          + + + +
            +
          • +

            timeUs

            +
            public long timeUs
            +
            The time at which the sample should be presented.
            +
          • +
          + + + +
            +
          • +

            supplementalData

            +
            @Nullable
            +public ByteBuffer supplementalData
            +
            Supplemental data related to the buffer, if Buffer.hasSupplementalData() returns true. If + present, the buffer is populated with supplemental data from position 0 to its limit.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + + + + + +
            +
          • +

            DecoderInputBuffer

            +
            public DecoderInputBuffer​(@BufferReplacementMode
            +                          int bufferReplacementMode,
            +                          int paddingSize)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            bufferReplacementMode - The DecoderInputBuffer.BufferReplacementMode replacement mode.
            +
            paddingSize - If non-zero, ensureSpaceForWrite(int) will ensure that the buffer + is this number of bytes larger than the requested length. This can be useful for decoders + that consume data in fixed size blocks, for efficiency. Setting the padding size to the + decoder's fixed read size is necessary to prevent such a decoder from trying to read beyond + the end of the buffer.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            newFlagsOnlyInstance

            +
            public static DecoderInputBuffer newFlagsOnlyInstance()
            +
            Creates a new instance for which isFlagsOnly() will return true.
            +
            +
            Returns:
            +
            A new flags only input buffer.
            +
            +
          • +
          + + + +
            +
          • +

            resetSupplementalData

            +
            @EnsuresNonNull("supplementalData")
            +public void resetSupplementalData​(int length)
            +
            Clears supplementalData and ensures that it's large enough to accommodate + length bytes.
            +
            +
            Parameters:
            +
            length - The length of the supplemental data that must be accommodated, in bytes.
            +
            +
          • +
          + + + +
            +
          • +

            ensureSpaceForWrite

            +
            @EnsuresNonNull("data")
            +public void ensureSpaceForWrite​(int length)
            +
            Ensures that data is large enough to accommodate a write of a given length at its + current position. + +

            If the capacity of data is sufficient this method does nothing. If the capacity is + insufficient then an attempt is made to replace data with a new ByteBuffer + whose capacity is sufficient. Data up to the current position is copied to the new buffer.

            +
            +
            Parameters:
            +
            length - The length of the write that must be accommodated, in bytes.
            +
            Throws:
            +
            DecoderInputBuffer.InsufficientCapacityException - If there is insufficient capacity to accommodate the + write and bufferReplacementMode is BUFFER_REPLACEMENT_MODE_DISABLED.
            +
            +
          • +
          + + + +
            +
          • +

            isFlagsOnly

            +
            public final boolean isFlagsOnly()
            +
            Returns whether the buffer is only able to hold flags, meaning data is null and + its replacement mode is BUFFER_REPLACEMENT_MODE_DISABLED.
            +
          • +
          + + + +
            +
          • +

            isEncrypted

            +
            public final boolean isEncrypted()
            +
            Returns whether the C.BUFFER_FLAG_ENCRYPTED flag is set.
            +
          • +
          + + + + + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Description copied from class: Buffer
            +
            Clears the buffer.
            +
            +
            Overrides:
            +
            clear in class Buffer
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderDiscardReasons.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderDiscardReasons.html new file mode 100644 index 0000000000..fa168d1755 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderDiscardReasons.html @@ -0,0 +1,189 @@ + + + + +DecoderReuseEvaluation.DecoderDiscardReasons (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DecoderReuseEvaluation.DecoderDiscardReasons

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface DecoderReuseEvaluation.DecoderDiscardReasons
        +
        Possible reasons why reuse is not possible.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html new file mode 100644 index 0000000000..5c4ba21e52 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.DecoderReuseResult.html @@ -0,0 +1,189 @@ + + + + +DecoderReuseEvaluation.DecoderReuseResult (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DecoderReuseEvaluation.DecoderReuseResult

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface DecoderReuseEvaluation.DecoderReuseResult
        +
        Possible outcomes of the evaluation.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.html new file mode 100644 index 0000000000..7fd5498ba8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/DecoderReuseEvaluation.html @@ -0,0 +1,883 @@ + + + + +DecoderReuseEvaluation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderReuseEvaluation

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DecoderReuseEvaluation
        +extends Object
        +
        The result of an evaluation to determine whether a decoder can be reused for a new input format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REUSE_RESULT_NO

            +
            public static final int REUSE_RESULT_NO
            +
            The decoder cannot be reused.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REUSE_RESULT_YES_WITH_FLUSH

            +
            public static final int REUSE_RESULT_YES_WITH_FLUSH
            +
            The decoder can be reused, but must be flushed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REUSE_RESULT_YES_WITH_RECONFIGURATION

            +
            public static final int REUSE_RESULT_YES_WITH_RECONFIGURATION
            +
            The decoder can be reused. It does not need to be flushed, but must be reconfigured by + prefixing the next input buffer with the new format's configuration data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REUSE_RESULT_YES_WITHOUT_RECONFIGURATION

            +
            public static final int REUSE_RESULT_YES_WITHOUT_RECONFIGURATION
            +
            The decoder can be kept. It does not need to be flushed and no reconfiguration is required.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_REUSE_NOT_IMPLEMENTED

            +
            public static final int DISCARD_REASON_REUSE_NOT_IMPLEMENTED
            +
            Decoder reuse is not implemented.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_WORKAROUND

            +
            public static final int DISCARD_REASON_WORKAROUND
            +
            Decoder reuse is disabled by a workaround.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_APP_OVERRIDE

            +
            public static final int DISCARD_REASON_APP_OVERRIDE
            +
            Decoder reuse is disabled by overriding behavior in application code.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_MIME_TYPE_CHANGED

            +
            public static final int DISCARD_REASON_MIME_TYPE_CHANGED
            +
            The sample MIME type is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_OPERATING_RATE_CHANGED

            +
            public static final int DISCARD_REASON_OPERATING_RATE_CHANGED
            +
            The codec's operating rate is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_INITIALIZATION_DATA_CHANGED

            +
            public static final int DISCARD_REASON_INITIALIZATION_DATA_CHANGED
            +
            The format initialization data is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_MAX_INPUT_SIZE_EXCEEDED

            +
            public static final int DISCARD_REASON_MAX_INPUT_SIZE_EXCEEDED
            +
            The new format may exceed the decoder's configured maximum sample size, in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_DRM_SESSION_CHANGED

            +
            public static final int DISCARD_REASON_DRM_SESSION_CHANGED
            +
            The DRM session is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_VIDEO_MAX_RESOLUTION_EXCEEDED

            +
            public static final int DISCARD_REASON_VIDEO_MAX_RESOLUTION_EXCEEDED
            +
            The new format may exceed the decoder's configured maximum resolution.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_VIDEO_RESOLUTION_CHANGED

            +
            public static final int DISCARD_REASON_VIDEO_RESOLUTION_CHANGED
            +
            The video resolution is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_VIDEO_ROTATION_CHANGED

            +
            public static final int DISCARD_REASON_VIDEO_ROTATION_CHANGED
            +
            The video rotation is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_VIDEO_COLOR_INFO_CHANGED

            +
            public static final int DISCARD_REASON_VIDEO_COLOR_INFO_CHANGED
            +
            The video ColorInfo is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_AUDIO_CHANNEL_COUNT_CHANGED

            +
            public static final int DISCARD_REASON_AUDIO_CHANNEL_COUNT_CHANGED
            +
            The audio channel count is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_AUDIO_SAMPLE_RATE_CHANGED

            +
            public static final int DISCARD_REASON_AUDIO_SAMPLE_RATE_CHANGED
            +
            The audio sample rate is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DISCARD_REASON_AUDIO_ENCODING_CHANGED

            +
            public static final int DISCARD_REASON_AUDIO_ENCODING_CHANGED
            +
            The audio encoding is changing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            decoderName

            +
            public final String decoderName
            +
            The name of the decoder.
            +
          • +
          + + + +
            +
          • +

            oldFormat

            +
            public final Format oldFormat
            +
            The Format for which the decoder was previously configured.
            +
          • +
          + + + +
            +
          • +

            newFormat

            +
            public final Format newFormat
            +
            The new Format being evaluated.
            +
          • +
          + + + + + + + +
            +
          • +

            discardReasons

            +
            @DecoderDiscardReasons
            +public final int discardReasons
            +
            Reasons why the decoder cannot be reused. Always 0 if + reuse is possible. May also be {code 0} if reuse is not possible for an unspecified reason.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderReuseEvaluation

            +
            public DecoderReuseEvaluation​(String decoderName,
            +                              Format oldFormat,
            +                              Format newFormat,
            +                              @DecoderReuseResult
            +                              int result,
            +                              @DecoderDiscardReasons
            +                              int discardReasons)
            +
            +
            Parameters:
            +
            decoderName - The name of the decoder.
            +
            oldFormat - The Format for which the decoder was previously configured.
            +
            newFormat - The new Format being evaluated.
            +
            result - The result of the evaluation.
            +
            discardReasons - One or more reasons why the decoder cannot + be reused, or 0 if reuse is possible.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html new file mode 100644 index 0000000000..cdfc4ba647 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.Owner.html @@ -0,0 +1,260 @@ + + + + +OutputBuffer.Owner (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface OutputBuffer.Owner<S extends OutputBuffer>

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        OutputBuffer
        +
        +
        +
        public static interface OutputBuffer.Owner<S extends OutputBuffer>
        +
        Buffer owner.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            releaseOutputBuffer

            +
            void releaseOutputBuffer​(S outputBuffer)
            +
            Releases the buffer.
            +
            +
            Parameters:
            +
            outputBuffer - Output buffer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.html new file mode 100644 index 0000000000..965b1c6ef1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/OutputBuffer.html @@ -0,0 +1,399 @@ + + + + +OutputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OutputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            timeUs

            +
            public long timeUs
            +
            The presentation timestamp for the buffer, in microseconds.
            +
          • +
          + + + +
            +
          • +

            skippedOutputBufferCount

            +
            public int skippedOutputBufferCount
            +
            The number of buffers immediately prior to this one that were skipped in the Decoder.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            OutputBuffer

            +
            public OutputBuffer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            release

            +
            public abstract void release()
            +
            Releases the output buffer for reuse. Must be called when the buffer is no longer needed.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleDecoder.html new file mode 100644 index 0000000000..8b945dacf8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleDecoder.html @@ -0,0 +1,587 @@ + + + + +SimpleDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleDecoder<I extends DecoderInputBuffer,O extends OutputBuffer,E extends DecoderException>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.decoder.SimpleDecoder<I,O,E>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + + + +
            +
          • +

            SimpleDecoder

            +
            protected SimpleDecoder​(I[] inputBuffers,
            +                        O[] outputBuffers)
            +
            +
            Parameters:
            +
            inputBuffers - An array of nulls that will be used to store references to input buffers.
            +
            outputBuffers - An array of nulls that will be used to store references to output buffers.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setInitialInputBufferSize

            +
            protected final void setInitialInputBufferSize​(int size)
            +
            Sets the initial size of each input buffer. +

            + This method should only be called before the decoder is used (i.e. before the first call to + dequeueInputBuffer().

            +
            +
            Parameters:
            +
            size - The required input buffer size.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            releaseOutputBuffer

            +
            @CallSuper
            +protected void releaseOutputBuffer​(O outputBuffer)
            +
            Releases an output buffer back to the decoder.
            +
            +
            Parameters:
            +
            outputBuffer - The output buffer being released.
            +
            +
          • +
          + + + +
            +
          • +

            flush

            +
            public final void flush()
            +
            Description copied from interface: Decoder
            +
            Flushes the decoder. Ownership of dequeued input buffers is returned to the decoder. The caller + is still responsible for releasing any dequeued output buffers.
            +
            +
            Specified by:
            +
            flush in interface Decoder<I extends DecoderInputBuffer,O extends OutputBuffer,E extends DecoderException>
            +
            +
          • +
          + + + + + + + +
            +
          • +

            createInputBuffer

            +
            protected abstract I createInputBuffer()
            +
            Creates a new input buffer.
            +
          • +
          + + + +
            +
          • +

            createOutputBuffer

            +
            protected abstract O createOutputBuffer()
            +
            Creates a new output buffer.
            +
          • +
          + + + +
            +
          • +

            createUnexpectedDecodeException

            +
            protected abstract E createUnexpectedDecodeException​(Throwable error)
            +
            Creates an exception to propagate for an unexpected decode error.
            +
            +
            Parameters:
            +
            error - The unexpected decode error.
            +
            Returns:
            +
            The exception to propagate.
            +
            +
          • +
          + + + + + +
            +
          • +

            decode

            +
            @Nullable
            +protected abstract E decode​(I inputBuffer,
            +                            O outputBuffer,
            +                            boolean reset)
            +
            Decodes the inputBuffer and stores any decoded output in outputBuffer.
            +
            +
            Parameters:
            +
            inputBuffer - The buffer to decode.
            +
            outputBuffer - The output buffer to store decoded data. The flag C.BUFFER_FLAG_DECODE_ONLY will be set if the same flag is set on inputBuffer, but + may be set/unset as required. If the flag is set when the call returns then the output + buffer will not be made available to dequeue. The output buffer may not have been populated + in this case.
            +
            reset - Whether the decoder must be reset before decoding.
            +
            Returns:
            +
            A decoder exception if an error occurred, or null if decoding was successful.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html new file mode 100644 index 0000000000..3dae8f79bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/SimpleOutputBuffer.html @@ -0,0 +1,433 @@ + + + + +SimpleOutputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleOutputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            init

            +
            public ByteBuffer init​(long timeUs,
            +                       int size)
            +
            Initializes the buffer.
            +
            +
            Parameters:
            +
            timeUs - The presentation timestamp for the buffer, in microseconds.
            +
            size - An upper bound on the size of the data that will be written to the buffer.
            +
            Returns:
            +
            The data buffer, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Description copied from class: Buffer
            +
            Clears the buffer.
            +
            +
            Overrides:
            +
            clear in class Buffer
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from class: OutputBuffer
            +
            Releases the output buffer for reuse. Must be called when the buffer is no longer needed.
            +
            +
            Specified by:
            +
            release in class OutputBuffer
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-frame.html new file mode 100644 index 0000000000..506bb7245e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-frame.html @@ -0,0 +1,50 @@ + + + + +com.google.android.exoplayer2.decoder (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.decoder

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-summary.html new file mode 100644 index 0000000000..45f1620ee8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-summary.html @@ -0,0 +1,287 @@ + + + + +com.google.android.exoplayer2.decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.decoder

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-tree.html new file mode 100644 index 0000000000..630285a4eb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/decoder/package-tree.html @@ -0,0 +1,203 @@ + + + + +com.google.android.exoplayer2.decoder Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.decoder

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.PlaybackType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.PlaybackType.html new file mode 100644 index 0000000000..d6e0baebfe --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.PlaybackType.html @@ -0,0 +1,190 @@ + + + + +DeviceInfo.PlaybackType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DeviceInfo.PlaybackType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.html new file mode 100644 index 0000000000..1f1778b6b7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceInfo.html @@ -0,0 +1,486 @@ + + + + +DeviceInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DeviceInfo

      +
      +
      + +
      +
        +
      • +
        +
        public final class DeviceInfo
        +extends Object
        +
        Information about the playback device.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static interface DeviceInfo.PlaybackType +
          Types of playback.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          intmaxVolume +
          The maximum volume that the device supports.
          +
          intminVolume +
          The minimum volume that the device supports.
          +
          static intPLAYBACK_TYPE_LOCAL +
          Playback happens on the local device (e.g.
          +
          static intPLAYBACK_TYPE_REMOTE +
          Playback happens outside of the device (e.g.
          +
          @com.google.android.exoplayer2.device.DeviceInfo.PlaybackType intplaybackType +
          The type of playback.
          +
          static DeviceInfoUNKNOWN +
          Unknown DeviceInfo.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          DeviceInfo​(@com.google.android.exoplayer2.device.DeviceInfo.PlaybackType int playbackType, + int minVolume, + int maxVolume) +
          Creates device information.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PLAYBACK_TYPE_LOCAL

            +
            public static final int PLAYBACK_TYPE_LOCAL
            +
            Playback happens on the local device (e.g. phone).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYBACK_TYPE_REMOTE

            +
            public static final int PLAYBACK_TYPE_REMOTE
            +
            Playback happens outside of the device (e.g. a cast device).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            UNKNOWN

            +
            public static final DeviceInfo UNKNOWN
            +
            Unknown DeviceInfo.
            +
          • +
          + + + +
            +
          • +

            playbackType

            +
            public final @com.google.android.exoplayer2.device.DeviceInfo.PlaybackType int playbackType
            +
            The type of playback.
            +
          • +
          + + + +
            +
          • +

            minVolume

            +
            public final int minVolume
            +
            The minimum volume that the device supports.
            +
          • +
          + + + +
            +
          • +

            maxVolume

            +
            public final int maxVolume
            +
            The maximum volume that the device supports.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DeviceInfo

            +
            public DeviceInfo​(@com.google.android.exoplayer2.device.DeviceInfo.PlaybackType int playbackType,
            +                  int minVolume,
            +                  int maxVolume)
            +
            Creates device information.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceListener.html new file mode 100644 index 0000000000..982a276ad6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/DeviceListener.html @@ -0,0 +1,269 @@ + + + + +DeviceListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DeviceListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onDeviceInfoChanged

            +
            default void onDeviceInfoChanged​(DeviceInfo deviceInfo)
            +
            Called when the device information changes.
            +
          • +
          + + + +
            +
          • +

            onDeviceVolumeChanged

            +
            default void onDeviceVolumeChanged​(int volume,
            +                                   boolean muted)
            +
            Called when the device volume or mute state changes.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-frame.html new file mode 100644 index 0000000000..e39cfdf964 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-frame.html @@ -0,0 +1,35 @@ + + + + +com.google.android.exoplayer2.device (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.device

      +
      +

      Interfaces

      + +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-summary.html new file mode 100644 index 0000000000..9b60921aa8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-summary.html @@ -0,0 +1,202 @@ + + + + +com.google.android.exoplayer2.device (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.device

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Interface Summary 
        InterfaceDescription
        DeviceListener +
        A listener for changes of Player.DeviceComponent.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        DeviceInfo +
        Information about the playback device.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        DeviceInfo.PlaybackType +
        Types of playback.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-tree.html new file mode 100644 index 0000000000..622bf9a7f6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/device/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.device Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.device

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/exoplayer-threading-model.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/exoplayer-threading-model.svg new file mode 100644 index 0000000000..ec591c7516 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/exoplayer-threading-model.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1ExoPlayerApplication codeLoadControlTrackSelectorMediaSourceRenderersApplication visible stateMessage queueMessage queueapplication threadinternal playback threadbackground thread(s)playback loopget*()prepare()seekTo()etc…Listener calls diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/renderer-states.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/renderer-states.svg new file mode 100644 index 0000000000..3882ca28bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/renderer-states.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6 2016-08-19 23:45:45 +0000Canvas 1Layer 1DisabledEnabledStartedenablestartstopdisablereplaceStreamreplaceStream diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-advanced.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-advanced.svg new file mode 100644 index 0000000000..e7a9960acc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-advanced.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period2period3window2timeperiod1window1 diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-indefinite.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-indefinite.svg new file mode 100644 index 0000000000..d15b27b552 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-indefinite.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1window1time diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-limited.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-limited.svg new file mode 100644 index 0000000000..24c457424d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-limited.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1window1time diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-multi-period.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-multi-period.svg new file mode 100644 index 0000000000..e9528193f6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-live-multi-period.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1period2window1time diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-period.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-period.svg new file mode 100644 index 0000000000..05a5b259ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-period.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1period2window1period1.positionInWindowperiod2.positionInWindowperiod1.windowIndexperiod2.windowIndexperiod1.durationperiod2.duration (unset) diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-playlist.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-playlist.svg new file mode 100644 index 0000000000..5b775de6a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-playlist.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1window1period2period3window2window3time diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file-midrolls.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file-midrolls.svg new file mode 100644 index 0000000000..a364587320 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file-midrolls.svg @@ -0,0 +1,51 @@ + + + + Produced by OmniGraffle 7.4 + 2017-07-19 14:26:00 +0000 + + + + + + + + + + + + + + + Canvas 1 + + + Layer 1 + + + + period1 + + + + + window1 + + + + + + + time + + + + + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file.svg new file mode 100644 index 0000000000..b9435ed95f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-single-file.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1window1time diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-window.svg b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-window.svg new file mode 100644 index 0000000000..aaa4b7738b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/doc-files/timeline-window.svg @@ -0,0 +1,3 @@ + + + Produced by OmniGraffle 6.6.1 2016-08-30 16:05:23 +0000Canvas 1Layer 1period1period2window1window1.positionInFirstPeriodwindow1.durationwindow1.defaultStartPositionwindow1.firstPeriodIndexwindow1.lastPeriodIndex diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DecryptionException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DecryptionException.html new file mode 100644 index 0000000000..422272fc92 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DecryptionException.html @@ -0,0 +1,336 @@ + + + + +DecryptionException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecryptionException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public class DecryptionException
        +extends Exception
        +
        Thrown when a non-platform component fails to decrypt data.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            errorCode

            +
            public final int errorCode
            +
            A component specific error code.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecryptionException

            +
            public DecryptionException​(int errorCode,
            +                           String message)
            +
            +
            Parameters:
            +
            errorCode - A component specific error code.
            +
            message - The detail message.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Builder.html new file mode 100644 index 0000000000..aa255b54e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Builder.html @@ -0,0 +1,515 @@ + + + + +DefaultDrmSessionManager.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDrmSessionManager.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.MissingSchemeDataException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.MissingSchemeDataException.html new file mode 100644 index 0000000000..c2089f34a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.MissingSchemeDataException.html @@ -0,0 +1,251 @@ + + + + +DefaultDrmSessionManager.MissingSchemeDataException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDrmSessionManager.MissingSchemeDataException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html new file mode 100644 index 0000000000..2ae3cd6da9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.Mode.html @@ -0,0 +1,190 @@ + + + + +DefaultDrmSessionManager.Mode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DefaultDrmSessionManager.Mode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html new file mode 100644 index 0000000000..25cf91c0c5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.html @@ -0,0 +1,787 @@ + + + + +DefaultDrmSessionManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDrmSessionManager

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DefaultDrmSessionManager
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html new file mode 100644 index 0000000000..720a0158c7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DefaultDrmSessionManagerProvider.html @@ -0,0 +1,362 @@ + + + + +DefaultDrmSessionManagerProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDrmSessionManagerProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DefaultDrmSessionManagerProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.SchemeData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.SchemeData.html new file mode 100644 index 0000000000..fb4c582dbe --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.SchemeData.html @@ -0,0 +1,628 @@ + + + + +DrmInitData.SchemeData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DrmInitData.SchemeData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DrmInitData.SchemeData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        Enclosing class:
        +
        DrmInitData
        +
        +
        +
        public static final class DrmInitData.SchemeData
        +extends Object
        +implements Parcelable
        +
        Scheme initialization data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uuid

            +
            public final UUID uuid
            +
            The UUID of the DRM scheme, or C.UUID_NIL if the data is universal (i.e. + applies to all schemes).
            +
          • +
          + + + +
            +
          • +

            licenseServerUrl

            +
            @Nullable
            +public final String licenseServerUrl
            +
            The URL of the server to which license requests should be made. May be null if unknown.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            public final String mimeType
            +
            The mimeType of data.
            +
          • +
          + + + +
            +
          • +

            data

            +
            @Nullable
            +public final byte[] data
            +
            The initialization data. May be null for scheme support checks only.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SchemeData

            +
            public SchemeData​(UUID uuid,
            +                  String mimeType,
            +                  @Nullable
            +                  byte[] data)
            +
            +
            Parameters:
            +
            uuid - The UUID of the DRM scheme, or C.UUID_NIL if the data is + universal (i.e. applies to all schemes).
            +
            mimeType - See mimeType.
            +
            data - See data.
            +
            +
          • +
          + + + +
            +
          • +

            SchemeData

            +
            public SchemeData​(UUID uuid,
            +                  @Nullable
            +                  String licenseServerUrl,
            +                  String mimeType,
            +                  @Nullable
            +                  byte[] data)
            +
            +
            Parameters:
            +
            uuid - The UUID of the DRM scheme, or C.UUID_NIL if the data is + universal (i.e. applies to all schemes).
            +
            licenseServerUrl - See licenseServerUrl.
            +
            mimeType - See mimeType.
            +
            data - See data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            matches

            +
            public boolean matches​(UUID schemeUuid)
            +
            Returns whether this initialization data applies to the specified scheme.
            +
            +
            Parameters:
            +
            schemeUuid - The scheme UUID.
            +
            Returns:
            +
            Whether this initialization data applies to the specified scheme.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            hasData

            +
            public boolean hasData()
            +
            Returns whether data is non-null.
            +
          • +
          + + + +
            +
          • +

            copyWithData

            +
            public DrmInitData.SchemeData copyWithData​(@Nullable
            +                                           byte[] data)
            +
            Returns a copy of this instance with the specified data.
            +
            +
            Parameters:
            +
            data - The data to include in the copy.
            +
            Returns:
            +
            The new instance.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.html new file mode 100644 index 0000000000..5a92bb88b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmInitData.html @@ -0,0 +1,679 @@ + + + + +DrmInitData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DrmInitData

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DrmInitData

            +
            public DrmInitData​(List<DrmInitData.SchemeData> schemeDatas)
            +
            +
            Parameters:
            +
            schemeDatas - Scheme initialization data for possibly multiple DRM schemes.
            +
            +
          • +
          + + + +
            +
          • +

            DrmInitData

            +
            public DrmInitData​(@Nullable
            +                   String schemeType,
            +                   List<DrmInitData.SchemeData> schemeDatas)
            +
            +
            Parameters:
            +
            schemeType - See schemeType.
            +
            schemeDatas - Scheme initialization data for possibly multiple DRM schemes.
            +
            +
          • +
          + + + +
            +
          • +

            DrmInitData

            +
            public DrmInitData​(DrmInitData.SchemeData... schemeDatas)
            +
            +
            Parameters:
            +
            schemeDatas - Scheme initialization data for possibly multiple DRM schemes.
            +
            +
          • +
          + + + +
            +
          • +

            DrmInitData

            +
            public DrmInitData​(@Nullable
            +                   String schemeType,
            +                   DrmInitData.SchemeData... schemeDatas)
            +
            +
            Parameters:
            +
            schemeType - See schemeType.
            +
            schemeDatas - Scheme initialization data for possibly multiple DRM schemes.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.DrmSessionException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.DrmSessionException.html new file mode 100644 index 0000000000..7948dcbecf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.DrmSessionException.html @@ -0,0 +1,297 @@ + + + + +DrmSession.DrmSessionException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DrmSession.DrmSessionException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        DrmSession
        +
        +
        +
        public static class DrmSession.DrmSessionException
        +extends IOException
        +
        Wraps the throwable which is the cause of the error state.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DrmSessionException

            +
            public DrmSessionException​(Throwable cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.State.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.State.html new file mode 100644 index 0000000000..f9acb1a439 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.State.html @@ -0,0 +1,189 @@ + + + + +DrmSession.State (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DrmSession.State

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.html new file mode 100644 index 0000000000..703c75d742 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSession.html @@ -0,0 +1,618 @@ + + + + +DrmSession (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DrmSession

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        ErrorStateDrmSession
        +
        +
        +
        public interface DrmSession
        +
        A DRM session.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            STATE_RELEASED

            +
            static final int STATE_RELEASED
            +
            The session has been released. This is a terminal state.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_ERROR

            +
            static final int STATE_ERROR
            +
            The session has encountered an error. getError() can be used to retrieve the cause. + This is a terminal state.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_OPENING

            +
            static final int STATE_OPENING
            +
            The session is being opened.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_OPENED

            +
            static final int STATE_OPENED
            +
            The session is open, but does not have keys required for decryption.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_OPENED_WITH_KEYS

            +
            static final int STATE_OPENED_WITH_KEYS
            +
            The session is open and has keys required for decryption.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            playClearSamplesWithoutKeys

            +
            default boolean playClearSamplesWithoutKeys()
            +
            Returns whether this session allows playback of clear samples prior to keys being loaded.
            +
          • +
          + + + + + + + +
            +
          • +

            getSchemeUuid

            +
            UUID getSchemeUuid()
            +
            Returns the DRM scheme UUID for this session.
            +
          • +
          + + + +
            +
          • +

            getMediaCrypto

            +
            @Nullable
            +ExoMediaCrypto getMediaCrypto()
            +
            Returns an ExoMediaCrypto for the open session, or null if called before the session + has been opened or after it's been released.
            +
          • +
          + + + +
            +
          • +

            queryKeyStatus

            +
            @Nullable
            +Map<String,String> queryKeyStatus()
            +
            Returns a map describing the key status for the session, or null if called before the session + has been opened or after it's been released. + +

            Since DRM license policies vary by vendor, the specific status field names are determined by + each DRM vendor. Refer to your DRM provider documentation for definitions of the field names + for a particular DRM engine plugin.

            +
            +
            Returns:
            +
            A map describing the key status for the session, or null if called before the session + has been opened or after it's been released.
            +
            See Also:
            +
            MediaDrm.queryKeyStatus(byte[])
            +
            +
          • +
          + + + +
            +
          • +

            getOfflineLicenseKeySetId

            +
            @Nullable
            +byte[] getOfflineLicenseKeySetId()
            +
            Returns the key set id of the offline license loaded into this session, or null if there isn't + one.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.EventDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.EventDispatcher.html new file mode 100644 index 0000000000..3509be48ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.EventDispatcher.html @@ -0,0 +1,526 @@ + + + + +DrmSessionEventListener.EventDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DrmSessionEventListener.EventDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.html new file mode 100644 index 0000000000..40fe794394 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionEventListener.html @@ -0,0 +1,420 @@ + + + + +DrmSessionEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DrmSessionEventListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onDrmSessionAcquired

            +
            default void onDrmSessionAcquired​(int windowIndex,
            +                                  @Nullable
            +                                  MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called each time a drm session is acquired.
            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysLoaded

            +
            default void onDrmKeysLoaded​(int windowIndex,
            +                             @Nullable
            +                             MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called each time keys are loaded.
            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmSessionManagerError

            +
            default void onDrmSessionManagerError​(int windowIndex,
            +                                      @Nullable
            +                                      MediaSource.MediaPeriodId mediaPeriodId,
            +                                      Exception error)
            +
            Called when a drm error occurs. + +

            This method being called does not indicate that playback has failed, or that it will fail. + The player may be able to recover from the error and continue. Hence applications should + not implement this method to display a user visible error or initiate an application + level retry (Player.EventListener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement + such behavior). This method is called to provide the application with an opportunity to log the + error if it wishes to do so.

            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            error - The corresponding exception.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysRestored

            +
            default void onDrmKeysRestored​(int windowIndex,
            +                               @Nullable
            +                               MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called each time offline keys are restored.
            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmKeysRemoved

            +
            default void onDrmKeysRemoved​(int windowIndex,
            +                              @Nullable
            +                              MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called each time offline keys are removed.
            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            +
          • +
          + + + +
            +
          • +

            onDrmSessionReleased

            +
            default void onDrmSessionReleased​(int windowIndex,
            +                                  @Nullable
            +                                  MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called each time a drm session is released.
            +
            +
            Parameters:
            +
            windowIndex - The window index in the timeline this media period belongs to.
            +
            mediaPeriodId - The MediaSource.MediaPeriodId associated with the drm session.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManager.html new file mode 100644 index 0000000000..f077200839 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManager.html @@ -0,0 +1,430 @@ + + + + +DrmSessionManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DrmSessionManager

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultDrmSessionManager
        +
        +
        +
        public interface DrmSessionManager
        +
        Manages a DRM session.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html new file mode 100644 index 0000000000..31f9019596 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DrmSessionManagerProvider.html @@ -0,0 +1,258 @@ + + + + +DrmSessionManagerProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DrmSessionManagerProvider

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DummyExoMediaDrm.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DummyExoMediaDrm.html new file mode 100644 index 0000000000..8578c902f0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/DummyExoMediaDrm.html @@ -0,0 +1,886 @@ + + + + +DummyExoMediaDrm (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummyExoMediaDrm

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.DummyExoMediaDrm
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ErrorStateDrmSession.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ErrorStateDrmSession.html new file mode 100644 index 0000000000..248e7489ba --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ErrorStateDrmSession.html @@ -0,0 +1,560 @@ + + + + +ErrorStateDrmSession (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ErrorStateDrmSession

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.ErrorStateDrmSession
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DrmSession
        +
        +
        +
        public final class ErrorStateDrmSession
        +extends Object
        +implements DrmSession
        +
        A DrmSession that's in a terminal error state.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaCrypto.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaCrypto.html new file mode 100644 index 0000000000..a2679d2d22 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaCrypto.html @@ -0,0 +1,195 @@ + + + + +ExoMediaCrypto (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaCrypto

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.AppManagedProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.AppManagedProvider.html new file mode 100644 index 0000000000..42abbce7fc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.AppManagedProvider.html @@ -0,0 +1,325 @@ + + + + +ExoMediaDrm.AppManagedProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoMediaDrm.AppManagedProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.ExoMediaDrm.AppManagedProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.RequestType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.RequestType.html new file mode 100644 index 0000000000..15f8894b5c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.RequestType.html @@ -0,0 +1,191 @@ + + + + +ExoMediaDrm.KeyRequest.RequestType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type ExoMediaDrm.KeyRequest.RequestType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.html new file mode 100644 index 0000000000..35ff6900ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyRequest.html @@ -0,0 +1,563 @@ + + + + +ExoMediaDrm.KeyRequest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoMediaDrm.KeyRequest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        ExoMediaDrm
        +
        +
        +
        public static final class ExoMediaDrm.KeyRequest
        +extends Object
        +
        Contains data used to request keys from a license server.
        +
        +
        See Also:
        +
        MediaDrm.KeyRequest
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REQUEST_TYPE_UNKNOWN

            +
            public static final int REQUEST_TYPE_UNKNOWN
            +
            Value returned from getRequestType() if the underlying key request does not specify + a type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_TYPE_INITIAL

            +
            public static final int REQUEST_TYPE_INITIAL
            +
            Key request type for an initial license request.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_TYPE_RENEWAL

            +
            public static final int REQUEST_TYPE_RENEWAL
            +
            Key request type for license renewal.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_TYPE_RELEASE

            +
            public static final int REQUEST_TYPE_RELEASE
            +
            Key request type for license release.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_TYPE_NONE

            +
            public static final int REQUEST_TYPE_NONE
            +
            Key request type if keys are already loaded and available for use. No license request is + necessary, and no key request data is returned.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_TYPE_UPDATE

            +
            public static final int REQUEST_TYPE_UPDATE
            +
            Key request type if keys have been loaded, but an additional license request is needed to + update their values.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            KeyRequest

            +
            public KeyRequest​(byte[] data,
            +                  String licenseServerUrl)
            +
            Creates an instance with REQUEST_TYPE_UNKNOWN.
            +
            +
            Parameters:
            +
            data - The opaque key request data.
            +
            licenseServerUrl - The license server URL to which the request should be made.
            +
            +
          • +
          + + + +
            +
          • +

            KeyRequest

            +
            public KeyRequest​(byte[] data,
            +                  String licenseServerUrl,
            +                  @RequestType
            +                  int requestType)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            data - The opaque key request data.
            +
            licenseServerUrl - The license server URL to which the request should be made.
            +
            requestType - The type of the request, or REQUEST_TYPE_UNKNOWN.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getData

            +
            public byte[] getData()
            +
            Returns the opaque key request data.
            +
          • +
          + + + +
            +
          • +

            getLicenseServerUrl

            +
            public String getLicenseServerUrl()
            +
            Returns the URL of the license server to which the request should be made.
            +
          • +
          + + + +
            +
          • +

            getRequestType

            +
            @RequestType
            +public int getRequestType()
            +
            Returns the type of the request, or REQUEST_TYPE_UNKNOWN if the underlying key + request does not specify a type. Note that when using a platform MediaDrm instance, + key requests only specify a type on API levels 23 and above.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyStatus.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyStatus.html new file mode 100644 index 0000000000..d9367b1992 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.KeyStatus.html @@ -0,0 +1,337 @@ + + + + +ExoMediaDrm.KeyStatus (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoMediaDrm.KeyStatus

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.ExoMediaDrm.KeyStatus
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        ExoMediaDrm
        +
        +
        +
        public static final class ExoMediaDrm.KeyStatus
        +extends Object
        +
        Defines the status of a key.
        +
        +
        See Also:
        +
        MediaDrm.KeyStatus
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            KeyStatus

            +
            public KeyStatus​(int statusCode,
            +                 byte[] keyId)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            statusCode - The status code of the key, as defined by MediaDrm.KeyStatus.getStatusCode().
            +
            keyId - The ID of the key.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getKeyId

            +
            public byte[] getKeyId()
            +
            Returns the ID of the key.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnEventListener.html new file mode 100644 index 0000000000..c665e13460 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnEventListener.html @@ -0,0 +1,276 @@ + + + + +ExoMediaDrm.OnEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaDrm.OnEventListener

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonEvent​(ExoMediaDrm mediaDrm, + byte[] sessionId, + int event, + int extra, + byte[] data) +
          Called when an event occurs that requires the app to be notified
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onEvent

            +
            void onEvent​(ExoMediaDrm mediaDrm,
            +             @Nullable
            +             byte[] sessionId,
            +             int event,
            +             int extra,
            +             @Nullable
            +             byte[] data)
            +
            Called when an event occurs that requires the app to be notified
            +
            +
            Parameters:
            +
            mediaDrm - The ExoMediaDrm object on which the event occurred.
            +
            sessionId - The DRM session ID on which the event occurred.
            +
            event - Indicates the event type.
            +
            extra - A secondary error code.
            +
            data - Optional byte array of data that may be associated with the event.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnExpirationUpdateListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnExpirationUpdateListener.html new file mode 100644 index 0000000000..a66ba86b13 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnExpirationUpdateListener.html @@ -0,0 +1,272 @@ + + + + +ExoMediaDrm.OnExpirationUpdateListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaDrm.OnExpirationUpdateListener

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonExpirationUpdate​(ExoMediaDrm mediaDrm, + byte[] sessionId, + long expirationTimeMs) +
          Called when a session expiration update occurs, to inform the app about the change in + expiration time.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onExpirationUpdate

            +
            void onExpirationUpdate​(ExoMediaDrm mediaDrm,
            +                        byte[] sessionId,
            +                        long expirationTimeMs)
            +
            Called when a session expiration update occurs, to inform the app about the change in + expiration time.
            +
            +
            Parameters:
            +
            mediaDrm - The ExoMediaDrm object on which the event occurred.
            +
            sessionId - The DRM session ID on which the event occurred
            +
            expirationTimeMs - The new expiration time for the keys in the session. The time is in + milliseconds, relative to the Unix epoch. A time of 0 indicates that the keys never + expire.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnKeyStatusChangeListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnKeyStatusChangeListener.html new file mode 100644 index 0000000000..a7b3f54de5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.OnKeyStatusChangeListener.html @@ -0,0 +1,273 @@ + + + + +ExoMediaDrm.OnKeyStatusChangeListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaDrm.OnKeyStatusChangeListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onKeyStatusChange

            +
            void onKeyStatusChange​(ExoMediaDrm mediaDrm,
            +                       byte[] sessionId,
            +                       List<ExoMediaDrm.KeyStatus> exoKeyInformation,
            +                       boolean hasNewUsableKey)
            +
            Called when the keys in a session change status, such as when the license is renewed or + expires.
            +
            +
            Parameters:
            +
            mediaDrm - The ExoMediaDrm object on which the event occurred.
            +
            sessionId - The DRM session ID on which the event occurred.
            +
            exoKeyInformation - A list of ExoMediaDrm.KeyStatus that contains key ID and status.
            +
            hasNewUsableKey - Whether a new key became usable.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.Provider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.Provider.html new file mode 100644 index 0000000000..cf2d5a4c9d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.Provider.html @@ -0,0 +1,260 @@ + + + + +ExoMediaDrm.Provider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaDrm.Provider

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            acquireExoMediaDrm

            +
            ExoMediaDrm acquireExoMediaDrm​(UUID uuid)
            +
            Returns an ExoMediaDrm instance with an incremented reference count. When the caller + no longer needs the instance, it must call ExoMediaDrm.release() to decrement the + reference count.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.ProvisionRequest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.ProvisionRequest.html new file mode 100644 index 0000000000..ebeba6d0f0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.ProvisionRequest.html @@ -0,0 +1,340 @@ + + + + +ExoMediaDrm.ProvisionRequest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoMediaDrm.ProvisionRequest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        ExoMediaDrm
        +
        +
        +
        public static final class ExoMediaDrm.ProvisionRequest
        +extends Object
        +
        Contains data to request a certificate from a provisioning server.
        +
        +
        See Also:
        +
        MediaDrm.ProvisionRequest
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ProvisionRequest

            +
            public ProvisionRequest​(byte[] data,
            +                        String defaultUrl)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            data - The opaque provisioning request data.
            +
            defaultUrl - The default URL of the provisioning server to which the request can be + made, or the empty string if not known.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getData

            +
            public byte[] getData()
            +
            Returns the opaque provisioning request data.
            +
          • +
          + + + +
            +
          • +

            getDefaultUrl

            +
            public String getDefaultUrl()
            +
            Returns the default URL of the provisioning server to which the request can be made, or the + empty string if not known.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.html new file mode 100644 index 0000000000..dbd8c33f43 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/ExoMediaDrm.html @@ -0,0 +1,984 @@ + + + + +ExoMediaDrm (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoMediaDrm

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DummyExoMediaDrm, FakeExoMediaDrm, FrameworkMediaDrm
        +
        +
        +
        public interface ExoMediaDrm
        +
        Used to obtain keys for decrypting protected media streams. + +

        Reference counting

        + +

        Access to an instance is managed by reference counting, where acquire() increments + the reference count and release() decrements it. When the reference count drops to 0 + underlying resources are released, and the instance cannot be re-used. + +

        Each new instance has an initial reference count of 1. Hence application code that creates a + new instance does not normally need to call acquire(), and must call release() + when the instance is no longer required.

        +
        +
        See Also:
        +
        MediaDrm
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EVENT_KEY_REQUIRED

            +
            static final int EVENT_KEY_REQUIRED
            +
            Event indicating that keys need to be requested from the license server.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_KEY_EXPIRED

            +
            static final int EVENT_KEY_EXPIRED
            +
            Event indicating that keys have expired, and are no longer usable.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            EVENT_PROVISION_REQUIRED

            +
            static final int EVENT_PROVISION_REQUIRED
            +
            Event indicating that a certificate needs to be requested from the provisioning server.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            KEY_TYPE_STREAMING

            +
            static final int KEY_TYPE_STREAMING
            +
            Key request type for keys that will be used for online use. Streaming keys will not be saved to + the device for subsequent use when the device is not connected to a network.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            KEY_TYPE_OFFLINE

            +
            static final int KEY_TYPE_OFFLINE
            +
            Key request type for keys that will be used for offline use. They will be saved to the device + for subsequent use when the device is not connected to a network.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            KEY_TYPE_RELEASE

            +
            static final int KEY_TYPE_RELEASE
            +
            Key request type indicating that saved offline keys should be released.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.html new file mode 100644 index 0000000000..00e7b3431e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.html @@ -0,0 +1,376 @@ + + + + +FrameworkMediaCrypto (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FrameworkMediaCrypto

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.FrameworkMediaCrypto
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            WORKAROUND_DEVICE_NEEDS_KEYS_TO_CONFIGURE_CODEC

            +
            public static final boolean WORKAROUND_DEVICE_NEEDS_KEYS_TO_CONFIGURE_CODEC
            +
            Whether the device needs keys to have been loaded into the DrmSession before codec + configuration.
            +
          • +
          + + + +
            +
          • +

            uuid

            +
            public final UUID uuid
            +
            The DRM scheme UUID.
            +
          • +
          + + + +
            +
          • +

            sessionId

            +
            public final byte[] sessionId
            +
            The DRM session id.
            +
          • +
          + + + +
            +
          • +

            forceAllowInsecureDecoderComponents

            +
            public final boolean forceAllowInsecureDecoderComponents
            +
            Whether to allow use of insecure decoder components even if the underlying platform says + otherwise.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FrameworkMediaCrypto

            +
            public FrameworkMediaCrypto​(UUID uuid,
            +                            byte[] sessionId,
            +                            boolean forceAllowInsecureDecoderComponents)
            +
            +
            Parameters:
            +
            uuid - The DRM scheme UUID.
            +
            sessionId - The DRM session id.
            +
            forceAllowInsecureDecoderComponents - Whether to allow use of insecure decoder components + even if the underlying platform says otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html new file mode 100644 index 0000000000..0293b118aa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html @@ -0,0 +1,933 @@ + + + + +FrameworkMediaDrm (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FrameworkMediaDrm

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.FrameworkMediaDrm
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.html new file mode 100644 index 0000000000..381a866fb6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.html @@ -0,0 +1,454 @@ + + + + +HttpMediaDrmCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpMediaDrmCallback

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.HttpMediaDrmCallback
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HttpMediaDrmCallback

            +
            public HttpMediaDrmCallback​(@Nullable
            +                            String defaultLicenseUrl,
            +                            HttpDataSource.Factory dataSourceFactory)
            +
            +
            Parameters:
            +
            defaultLicenseUrl - The default license URL. Used for key requests that do not specify + their own license URL. May be null if it's known that all key requests will specify + their own URLs.
            +
            dataSourceFactory - A factory from which to obtain HttpDataSource instances.
            +
            +
          • +
          + + + +
            +
          • +

            HttpMediaDrmCallback

            +
            public HttpMediaDrmCallback​(@Nullable
            +                            String defaultLicenseUrl,
            +                            boolean forceDefaultLicenseUrl,
            +                            HttpDataSource.Factory dataSourceFactory)
            +
            +
            Parameters:
            +
            defaultLicenseUrl - The default license URL. Used for key requests that do not specify + their own license URL, or for all key requests if forceDefaultLicenseUrl is set to + true. May be null if forceDefaultLicenseUrl is false and if it's + known that all key requests will specify their own URLs.
            +
            forceDefaultLicenseUrl - Whether to force use of defaultLicenseUrl for key + requests that include their own license URL.
            +
            dataSourceFactory - A factory from which to obtain HttpDataSource instances.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setKeyRequestProperty

            +
            public void setKeyRequestProperty​(String name,
            +                                  String value)
            +
            Sets a header for key requests made by the callback.
            +
            +
            Parameters:
            +
            name - The name of the header field.
            +
            value - The value of the field.
            +
            +
          • +
          + + + +
            +
          • +

            clearKeyRequestProperty

            +
            public void clearKeyRequestProperty​(String name)
            +
            Clears a header for key requests made by the callback.
            +
            +
            Parameters:
            +
            name - The name of the header field.
            +
            +
          • +
          + + + +
            +
          • +

            clearAllKeyRequestProperties

            +
            public void clearAllKeyRequestProperties()
            +
            Clears all headers for key requests made by the callback.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/KeysExpiredException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/KeysExpiredException.html new file mode 100644 index 0000000000..2d55dd86da --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/KeysExpiredException.html @@ -0,0 +1,288 @@ + + + + +KeysExpiredException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class KeysExpiredException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class KeysExpiredException
        +extends Exception
        +
        Thrown when the drm keys loaded into an open session expire.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            KeysExpiredException

            +
            public KeysExpiredException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html new file mode 100644 index 0000000000..936c12bbd3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/LocalMediaDrmCallback.html @@ -0,0 +1,355 @@ + + + + +LocalMediaDrmCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LocalMediaDrmCallback

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.LocalMediaDrmCallback
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaDrmCallback
        +
        +
        +
        public final class LocalMediaDrmCallback
        +extends Object
        +implements MediaDrmCallback
        +
        A MediaDrmCallback that provides a fixed response to key requests. Provisioning is not + supported. This implementation is primarily useful for providing locally stored keys to decrypt + ClearKey protected content. It is not suitable for use with Widevine or PlayReady protected + content.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LocalMediaDrmCallback

            +
            public LocalMediaDrmCallback​(byte[] keyResponse)
            +
            +
            Parameters:
            +
            keyResponse - The fixed response for all key requests.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallback.html new file mode 100644 index 0000000000..b36f252ede --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallback.html @@ -0,0 +1,295 @@ + + + + +MediaDrmCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaDrmCallback

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallbackException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallbackException.html new file mode 100644 index 0000000000..0d2ee34e49 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/MediaDrmCallbackException.html @@ -0,0 +1,407 @@ + + + + +MediaDrmCallbackException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaDrmCallbackException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            dataSpec

            +
            public final DataSpec dataSpec
            +
            The DataSpec associated with the request.
            +
          • +
          + + + +
            +
          • +

            uriAfterRedirects

            +
            public final Uri uriAfterRedirects
            +
            The Uri after redirections, or dataSpec.uri if no redirection + occurred.
            +
          • +
          + + + +
            +
          • +

            responseHeaders

            +
            public final Map<String,List<String>> responseHeaders
            +
            The HTTP request headers included in the response.
            +
          • +
          + + + +
            +
          • +

            bytesLoaded

            +
            public final long bytesLoaded
            +
            The number of bytes obtained from the server.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/OfflineLicenseHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/OfflineLicenseHelper.html new file mode 100644 index 0000000000..c020d8f262 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/OfflineLicenseHelper.html @@ -0,0 +1,558 @@ + + + + +OfflineLicenseHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OfflineLicenseHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.OfflineLicenseHelper
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class OfflineLicenseHelper
        +extends Object
        +
        Helper class to download, renew and release offline licenses.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.Reason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.Reason.html new file mode 100644 index 0000000000..0829cc16e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.Reason.html @@ -0,0 +1,189 @@ + + + + +UnsupportedDrmException.Reason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type UnsupportedDrmException.Reason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.html new file mode 100644 index 0000000000..cd755db0ab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedDrmException.html @@ -0,0 +1,423 @@ + + + + +UnsupportedDrmException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UnsupportedDrmException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class UnsupportedDrmException
        +extends Exception
        +
        Thrown when the requested DRM scheme is not supported.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedMediaCrypto.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedMediaCrypto.html new file mode 100644 index 0000000000..4b6ed6f66f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/UnsupportedMediaCrypto.html @@ -0,0 +1,268 @@ + + + + +UnsupportedMediaCrypto (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UnsupportedMediaCrypto

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.drm.UnsupportedMediaCrypto
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UnsupportedMediaCrypto

            +
            public UnsupportedMediaCrypto()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/WidevineUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/WidevineUtil.html new file mode 100644 index 0000000000..693f07aa63 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/WidevineUtil.html @@ -0,0 +1,340 @@ + + + + +WidevineUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WidevineUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class WidevineUtil
        +extends Object
        +
        Utility methods for Widevine.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PROPERTY_LICENSE_DURATION_REMAINING

            +
            public static final String PROPERTY_LICENSE_DURATION_REMAINING
            +
            Widevine specific key status field name for the remaining license duration, in seconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PROPERTY_PLAYBACK_DURATION_REMAINING

            +
            public static final String PROPERTY_PLAYBACK_DURATION_REMAINING
            +
            Widevine specific key status field name for the remaining playback duration, in seconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLicenseDurationRemainingSec

            +
            @Nullable
            +public static Pair<Long,Long> getLicenseDurationRemainingSec​(DrmSession drmSession)
            +
            Returns license and playback durations remaining in seconds.
            +
            +
            Parameters:
            +
            drmSession - The drm session to query.
            +
            Returns:
            +
            A Pair consisting of the remaining license and playback durations in seconds, + or null if called before the session has been opened or after it's been released.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-frame.html new file mode 100644 index 0000000000..4ce7da2f17 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-frame.html @@ -0,0 +1,75 @@ + + + + +com.google.android.exoplayer2.drm (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.drm

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-summary.html new file mode 100644 index 0000000000..6c46897e06 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-summary.html @@ -0,0 +1,439 @@ + + + + +com.google.android.exoplayer2.drm (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.drm

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-tree.html new file mode 100644 index 0000000000..744585d51d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/drm/package-tree.html @@ -0,0 +1,218 @@ + + + + +com.google.android.exoplayer2.drm Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.drm

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Decoder.html new file mode 100644 index 0000000000..3f94563fb7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Decoder.html @@ -0,0 +1,547 @@ + + + + +Gav1Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Gav1Decoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html new file mode 100644 index 0000000000..7c19f473ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1DecoderException.html @@ -0,0 +1,251 @@ + + + + +Gav1DecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Gav1DecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Library.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Library.html new file mode 100644 index 0000000000..cc9e3a7af9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Gav1Library.html @@ -0,0 +1,266 @@ + + + + +Gav1Library (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Gav1Library

      +
      +
      + +
      +
        +
      • +
        +
        public final class Gav1Library
        +extends Object
        +
        Configures and queries the underlying native library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isAvailable

            +
            public static boolean isAvailable()
            +
            Returns whether the underlying library is available, loading it if necessary.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html new file mode 100644 index 0000000000..2c871918ec --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/Libgav1VideoRenderer.html @@ -0,0 +1,654 @@ + + + + +Libgav1VideoRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Libgav1VideoRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            THREAD_COUNT_AUTODETECT

            +
            public static final int THREAD_COUNT_AUTODETECT
            +
            Attempts to use as many threads as performance processors available on the device. If the + number of performance processors cannot be detected, the number of available processors is + used.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Libgav1VideoRenderer

            +
            public Libgav1VideoRenderer​(long allowedJoiningTimeMs,
            +                            @Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            VideoRendererEventListener eventListener,
            +                            int maxDroppedFramesToNotify)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          + + + +
            +
          • +

            Libgav1VideoRenderer

            +
            public Libgav1VideoRenderer​(long allowedJoiningTimeMs,
            +                            @Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            VideoRendererEventListener eventListener,
            +                            int maxDroppedFramesToNotify,
            +                            int threads,
            +                            int numInputBuffers,
            +                            int numOutputBuffers)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            threads - Number of threads libgav1 will use to decode. If THREAD_COUNT_AUTODETECT is passed, then the number of threads to use is autodetected + based on CPU capabilities.
            +
            numInputBuffers - Number of input buffers.
            +
            numOutputBuffers - Number of output buffers.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-frame.html new file mode 100644 index 0000000000..1a43ecbbcd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-frame.html @@ -0,0 +1,33 @@ + + + + +com.google.android.exoplayer2.ext.av1 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.av1

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-summary.html new file mode 100644 index 0000000000..066df62ff5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-summary.html @@ -0,0 +1,197 @@ + + + + +com.google.android.exoplayer2.ext.av1 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.av1

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        Gav1Decoder +
        Gav1 decoder.
        +
        Gav1Library +
        Configures and queries the underlying native library.
        +
        Libgav1VideoRenderer +
        Decodes and renders video using libgav1 decoder.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Exception Summary 
        ExceptionDescription
        Gav1DecoderException +
        Thrown when a libgav1 decoder error occurs.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-tree.html new file mode 100644 index 0000000000..c84d847611 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/av1/package-tree.html @@ -0,0 +1,188 @@ + + + + +com.google.android.exoplayer2.ext.av1 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.av1

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/CastPlayer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/CastPlayer.html new file mode 100644 index 0000000000..1a75189744 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/CastPlayer.html @@ -0,0 +1,1683 @@ + + + + +CastPlayer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CastPlayer

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Player
        +
        +
        +
        public final class CastPlayer
        +extends BasePlayer
        +
        Player implementation that communicates with a Cast receiver app. + +

        The behavior of this class depends on the underlying Cast session, which is obtained from the + injected CastContext. To keep track of the session, isCastSessionAvailable() can + be queried and SessionAvailabilityListener can be implemented and attached to the player. + +

        If no session is available, the player state will remain unchanged and calls to methods that + alter it will be ignored. Querying the player state is possible even when no session is + available, in which case, the last observed receiver app state is reported. + +

        Methods should be called on the application's main thread.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CastPlayer

            +
            public CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext)
            +
            Creates a new cast player that uses a DefaultMediaItemConverter.
            +
            +
            Parameters:
            +
            castContext - The context from which the cast session is obtained.
            +
            +
          • +
          + + + +
            +
          • +

            CastPlayer

            +
            public CastPlayer​(com.google.android.gms.cast.framework.CastContext castContext,
            +                  MediaItemConverter mediaItemConverter)
            +
            Creates a new cast player.
            +
            +
            Parameters:
            +
            castContext - The context from which the cast session is obtained.
            +
            mediaItemConverter - The MediaItemConverter to use.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            loadItem

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> loadItem​(com.google.android.gms.cast.MediaQueueItem item,
            +                                                                                                                                                  long positionMs)
            +
            Deprecated. + +
            +
          • +
          + + + +
            +
          • +

            loadItems

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> loadItems​(com.google.android.gms.cast.MediaQueueItem[] items,
            +                                                                                                                                                   int startIndex,
            +                                                                                                                                                   long positionMs,
            +                                                                                                                                                   @RepeatMode
            +                                                                                                                                                   int repeatMode)
            +
            Deprecated. + +
            +
          • +
          + + + +
            +
          • +

            addItems

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> addItems​(com.google.android.gms.cast.MediaQueueItem... items)
            +
            Deprecated. +
            Use addMediaItems(List) instead.
            +
            +
          • +
          + + + +
            +
          • +

            addItems

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> addItems​(int periodId,
            +                                                                                                                                                  com.google.android.gms.cast.MediaQueueItem... items)
            +
            Deprecated. + +
            +
          • +
          + + + +
            +
          • +

            removeItem

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> removeItem​(int periodId)
            +
            Deprecated. + +
            +
          • +
          + + + +
            +
          • +

            moveItem

            +
            @Deprecated
            +@Nullable
            +public com.google.android.gms.common.api.PendingResult<com.google.android.gms.cast.framework.media.RemoteMediaClient.MediaChannelResult> moveItem​(int periodId,
            +                                                                                                                                                  int newIndex)
            +
            Deprecated. + +
            +
          • +
          + + + +
            +
          • +

            getItem

            +
            @Nullable
            +public com.google.android.gms.cast.MediaQueueItem getItem​(int periodId)
            +
            Returns the item that corresponds to the period with the given id, or null if no media queue or + period with id periodId exist.
            +
            +
            Parameters:
            +
            periodId - The id of the period (getCurrentTimeline()) that corresponds to the item + to get.
            +
            Returns:
            +
            The item that corresponds to the period with the given id, or null if no media queue or + period with id periodId exist.
            +
            +
          • +
          + + + +
            +
          • +

            isCastSessionAvailable

            +
            public boolean isCastSessionAvailable()
            +
            Returns whether a cast session is available.
            +
          • +
          + + + +
            +
          • +

            setSessionAvailabilityListener

            +
            public void setSessionAvailabilityListener​(@Nullable
            +                                           SessionAvailabilityListener listener)
            +
            Sets a listener for updates on the cast session availability.
            +
            +
            Parameters:
            +
            listener - The SessionAvailabilityListener, or null to clear the listener.
            +
            +
          • +
          + + + +
            +
          • +

            getAudioComponent

            +
            @Nullable
            +public Player.AudioComponent getAudioComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for audio output, or null if audio is not supported.
            +
          • +
          + + + +
            +
          • +

            getVideoComponent

            +
            @Nullable
            +public Player.VideoComponent getVideoComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for video output, or null if video is not supported.
            +
          • +
          + + + +
            +
          • +

            getTextComponent

            +
            @Nullable
            +public Player.TextComponent getTextComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for text output, or null if text is not supported.
            +
          • +
          + + + +
            +
          • +

            getMetadataComponent

            +
            @Nullable
            +public Player.MetadataComponent getMetadataComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for metadata output, or null if metadata is not supported.
            +
          • +
          + + + +
            +
          • +

            getDeviceComponent

            +
            @Nullable
            +public Player.DeviceComponent getDeviceComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for playback device, or null if it's not supported.
            +
          • +
          + + + +
            +
          • +

            getApplicationLooper

            +
            public Looper getApplicationLooper()
            +
            Description copied from interface: Player
            +
            Returns the Looper associated with the application thread that's used to access the + player and on which player events are received.
            +
          • +
          + + + +
            +
          • +

            addListener

            +
            public void addListener​(Player.EventListener listener)
            +
            Description copied from interface: Player
            +
            Register a listener to receive events from the player. The listener's methods will be called on + the thread that was used to construct the player. However, if the thread used to construct the + player does not have a Looper, then the listener will be called on the main thread.
            +
            +
            Parameters:
            +
            listener - The listener to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            public void removeListener​(Player.EventListener listener)
            +
            Description copied from interface: Player
            +
            Unregister a listener. The listener will no longer receive events from the player.
            +
            +
            Parameters:
            +
            listener - The listener to unregister.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setMediaItems

            +
            public void setMediaItems​(List<MediaItem> mediaItems,
            +                          int startWindowIndex,
            +                          long startPositionMs)
            +
            Description copied from interface: Player
            +
            Clears the playlist and adds the specified MediaItems.
            +
            +
            Parameters:
            +
            mediaItems - The new MediaItems.
            +
            startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is + passed, the current position is not reset.
            +
            startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if + startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the + position is not reset at all.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            public void addMediaItems​(List<MediaItem> mediaItems)
            +
            Description copied from interface: Player
            +
            Adds a list of media items to the end of the playlist.
            +
            +
            Parameters:
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            public void addMediaItems​(int index,
            +                          List<MediaItem> mediaItems)
            +
            Description copied from interface: Player
            +
            Adds a list of media items at the given index of the playlist.
            +
            +
            Parameters:
            +
            index - The index at which to add the media items.
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItems

            +
            public void moveMediaItems​(int fromIndex,
            +                           int toIndex,
            +                           int newIndex)
            +
            Description copied from interface: Player
            +
            Moves the media item range to the new index.
            +
            +
            Parameters:
            +
            fromIndex - The start of the range to move.
            +
            toIndex - The first item not to be included in the range (exclusive).
            +
            newIndex - The new index of the first media item of the range. If the new index is larger + than the size of the remaining playlist after removing the range, the range is moved to the + end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItems

            +
            public void removeMediaItems​(int fromIndex,
            +                             int toIndex)
            +
            Description copied from interface: Player
            +
            Removes a range of media items from the playlist.
            +
            +
            Parameters:
            +
            fromIndex - The index at which to start removing media items.
            +
            toIndex - The index of the first item to be kept (exclusive).
            +
            +
          • +
          + + + +
            +
          • +

            clearMediaItems

            +
            public void clearMediaItems()
            +
            Description copied from interface: Player
            +
            Clears the playlist.
            +
          • +
          + + + +
            +
          • +

            prepare

            +
            public void prepare()
            +
            Description copied from interface: Player
            +
            Prepares the player.
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setPlayWhenReady

            +
            public void setPlayWhenReady​(boolean playWhenReady)
            +
            Description copied from interface: Player
            +
            Sets whether playback should proceed when Player.getPlaybackState() == Player.STATE_READY. + +

            If the player is already in the ready state then this method pauses and resumes playback.

            +
            +
            Parameters:
            +
            playWhenReady - Whether playback should proceed when ready.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seekTo

            +
            public void seekTo​(int windowIndex,
            +                   long positionMs)
            +
            Description copied from interface: Player
            +
            Seeks to a position specified in milliseconds in the specified window.
            +
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            positionMs - The seek position in the specified window, or C.TIME_UNSET to seek to + the window's default position.
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(@Nullable
            +                                  PlaybackParameters playbackParameters)
            +
            Description copied from interface: Player
            +
            Attempts to set the playback parameters. Passing null sets the parameters to the + default, PlaybackParameters.DEFAULT, which means there is no speed or pitch adjustment. + +

            Playback parameters changes may cause the player to buffer. Player.EventListener.onPlaybackParametersChanged(PlaybackParameters) will be called whenever the + currently active playback parameters change.

            +
            +
            Parameters:
            +
            playbackParameters - The playback parameters, or null to use the defaults.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            stop

            +
            public void stop​(boolean reset)
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Player
            +
            Releases the player. This method must be called when the player is no longer required. The + player must not be used after calling this method.
            +
          • +
          + + + +
            +
          • +

            getRendererCount

            +
            public int getRendererCount()
            +
            Description copied from interface: Player
            +
            Returns the number of renderers.
            +
          • +
          + + + +
            +
          • +

            getRendererType

            +
            public int getRendererType​(int index)
            +
            Description copied from interface: Player
            +
            Returns the track type that the renderer at a given index handles. + +

            For example, a video renderer will return C.TRACK_TYPE_VIDEO, an audio renderer will + return C.TRACK_TYPE_AUDIO and a text renderer will return C.TRACK_TYPE_TEXT.

            +
            +
            Parameters:
            +
            index - The index of the renderer.
            +
            Returns:
            +
            One of the TRACK_TYPE_* constants defined in C.
            +
            +
          • +
          + + + +
            +
          • +

            setRepeatMode

            +
            public void setRepeatMode​(@RepeatMode
            +                          int repeatMode)
            +
            Description copied from interface: Player
            +
            Sets the Player.RepeatMode to be used for playback.
            +
            +
            Parameters:
            +
            repeatMode - The repeat mode.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setShuffleModeEnabled

            +
            public void setShuffleModeEnabled​(boolean shuffleModeEnabled)
            +
            Description copied from interface: Player
            +
            Sets whether shuffling of windows is enabled.
            +
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentTrackSelections

            +
            public TrackSelectionArray getCurrentTrackSelections()
            +
            Description copied from interface: Player
            +
            Returns the current track selections for each renderer. + +

            A concrete implementation may include null elements if it has a fixed number of renderer + components, wishes to report a TrackSelection for each of them, and has one or more renderer + components that is not assigned any selected tracks.

            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentStaticMetadata

            +
            public List<Metadata> getCurrentStaticMetadata()
            +
            Description copied from interface: Player
            +
            Returns the current static metadata for the track selections. + +

            The returned metadataList is an immutable list of Metadata instances, where + the elements correspond to the current track selections, + or an empty list if there are no track selections or the selected tracks contain no static + metadata. + +

            This metadata is considered static in that it comes from the tracks' declared Formats, + rather than being timed (or dynamic) metadata, which is represented within a metadata track.

            +
            +
            See Also:
            +
            Player.EventListener.onStaticMetadataChanged(List)
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentPeriodIndex

            +
            public int getCurrentPeriodIndex()
            +
            Description copied from interface: Player
            +
            Returns the index of the period currently being played.
            +
          • +
          + + + +
            +
          • +

            getCurrentWindowIndex

            +
            public int getCurrentWindowIndex()
            +
            Description copied from interface: Player
            +
            Returns the index of the current window in the timeline, or the prospective window index if the current timeline is empty.
            +
          • +
          + + + +
            +
          • +

            getDuration

            +
            public long getDuration()
            +
            Description copied from interface: Player
            +
            Returns the duration of the current content window or ad in milliseconds, or C.TIME_UNSET if the duration is not known.
            +
          • +
          + + + +
            +
          • +

            getCurrentPosition

            +
            public long getCurrentPosition()
            +
            Description copied from interface: Player
            +
            Returns the playback position in the current content window or ad, in milliseconds, or the + prospective position in milliseconds if the current timeline is + empty.
            +
          • +
          + + + +
            +
          • +

            getBufferedPosition

            +
            public long getBufferedPosition()
            +
            Description copied from interface: Player
            +
            Returns an estimate of the position in the current content window or ad up to which data is + buffered, in milliseconds.
            +
          • +
          + + + +
            +
          • +

            getTotalBufferedDuration

            +
            public long getTotalBufferedDuration()
            +
            Description copied from interface: Player
            +
            Returns an estimate of the total buffered duration from the current position, in milliseconds. + This includes pre-buffered data for subsequent ads and windows.
            +
          • +
          + + + +
            +
          • +

            isPlayingAd

            +
            public boolean isPlayingAd()
            +
            Description copied from interface: Player
            +
            Returns whether the player is currently playing an ad.
            +
          • +
          + + + +
            +
          • +

            getCurrentAdGroupIndex

            +
            public int getCurrentAdGroupIndex()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns the index of the ad group in the period + currently being played. Returns C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            getCurrentAdIndexInAdGroup

            +
            public int getCurrentAdIndexInAdGroup()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns the index of the ad in its ad group. Returns + C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            isLoading

            +
            public boolean isLoading()
            +
            Description copied from interface: Player
            +
            Whether the player is currently loading the source.
            +
            +
            Returns:
            +
            Whether the player is currently loading the source.
            +
            See Also:
            +
            Player.EventListener.onIsLoadingChanged(boolean)
            +
            +
          • +
          + + + +
            +
          • +

            getContentPosition

            +
            public long getContentPosition()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns the content position that will be + played once all ads in the ad group have finished playing, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by Player.getCurrentPosition().
            +
          • +
          + + + +
            +
          • +

            getContentBufferedPosition

            +
            public long getContentBufferedPosition()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns an estimate of the content position in + the current content window up to which data is buffered, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by Player.getBufferedPosition().
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html new file mode 100644 index 0000000000..612729b419 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultCastOptionsProvider.html @@ -0,0 +1,374 @@ + + + + +DefaultCastOptionsProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultCastOptionsProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        com.google.android.gms.cast.framework.OptionsProvider
        +
        +
        +
        public final class DefaultCastOptionsProvider
        +extends Object
        +implements com.google.android.gms.cast.framework.OptionsProvider
        +
        A convenience OptionsProvider to target the default cast receiver app.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultCastOptionsProvider

            +
            public DefaultCastOptionsProvider()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getCastOptions

            +
            public com.google.android.gms.cast.framework.CastOptions getCastOptions​(Context context)
            +
            +
            Specified by:
            +
            getCastOptions in interface com.google.android.gms.cast.framework.OptionsProvider
            +
            +
          • +
          + + + +
            +
          • +

            getAdditionalSessionProviders

            +
            public List<com.google.android.gms.cast.framework.SessionProvider> getAdditionalSessionProviders​(Context context)
            +
            +
            Specified by:
            +
            getAdditionalSessionProviders in interface com.google.android.gms.cast.framework.OptionsProvider
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.html new file mode 100644 index 0000000000..e2b634b55e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/DefaultMediaItemConverter.html @@ -0,0 +1,342 @@ + + + + +DefaultMediaItemConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultMediaItemConverter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.cast.DefaultMediaItemConverter
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultMediaItemConverter

            +
            public DefaultMediaItemConverter()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/MediaItemConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/MediaItemConverter.html new file mode 100644 index 0000000000..8e1fe27de3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/MediaItemConverter.html @@ -0,0 +1,283 @@ + + + + +MediaItemConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaItemConverter

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultMediaItemConverter
        +
        +
        +
        public interface MediaItemConverter
        +
        Converts between MediaItem and the Cast SDK's MediaQueueItem.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            toMediaQueueItem

            +
            com.google.android.gms.cast.MediaQueueItem toMediaQueueItem​(MediaItem mediaItem)
            +
            Converts a MediaItem to a MediaQueueItem.
            +
            +
            Parameters:
            +
            mediaItem - The MediaItem.
            +
            Returns:
            +
            An equivalent MediaQueueItem.
            +
            +
          • +
          + + + +
            +
          • +

            toMediaItem

            +
            MediaItem toMediaItem​(com.google.android.gms.cast.MediaQueueItem mediaQueueItem)
            +
            Converts a MediaQueueItem to a MediaItem.
            +
            +
            Parameters:
            +
            mediaQueueItem - The MediaQueueItem.
            +
            Returns:
            +
            The equivalent MediaItem.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html new file mode 100644 index 0000000000..ed84d00279 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/SessionAvailabilityListener.html @@ -0,0 +1,267 @@ + + + + +SessionAvailabilityListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionAvailabilityListener

      +
      +
      +
      +
        +
      • +
        +
        public interface SessionAvailabilityListener
        +
        Listener of changes in the cast session availability.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCastSessionAvailable

            +
            void onCastSessionAvailable()
            +
            Called when a cast session becomes available to the player.
            +
          • +
          + + + +
            +
          • +

            onCastSessionUnavailable

            +
            void onCastSessionUnavailable()
            +
            Called when the cast session becomes unavailable.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-frame.html new file mode 100644 index 0000000000..974b81ae75 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-frame.html @@ -0,0 +1,34 @@ + + + + +com.google.android.exoplayer2.ext.cast (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.cast

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-summary.html new file mode 100644 index 0000000000..fdb53a9066 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-summary.html @@ -0,0 +1,203 @@ + + + + +com.google.android.exoplayer2.ext.cast (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.cast

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-tree.html new file mode 100644 index 0000000000..f39888b4d5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cast/package-tree.html @@ -0,0 +1,172 @@ + + + + +com.google.android.exoplayer2.ext.cast Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.cast

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html new file mode 100644 index 0000000000..4f7e69a99d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.Factory.html @@ -0,0 +1,601 @@ + + + + +CronetDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CronetDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Factory

            +
            public Factory​(CronetEngineWrapper cronetEngineWrapper,
            +               Executor executor)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            cronetEngineWrapper - A CronetEngineWrapper.
            +
            executor - The Executor that will handle responses. This + may be a direct executor (i.e. executes tasks on the calling thread) in order to avoid a + thread hop from Cronet's internal network thread to the response handling thread. + However, to avoid slowing down overall network performance, care must be taken to make + sure response handling is a fast operation when using a direct executor.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.OpenException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.OpenException.html new file mode 100644 index 0000000000..797a38b13b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.OpenException.html @@ -0,0 +1,388 @@ + + + + +CronetDataSource.OpenException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CronetDataSource.OpenException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            cronetConnectionStatus

            +
            public final int cronetConnectionStatus
            +
            Returns the status of the connection establishment at the moment when the error occurred, as + defined by UrlRequest.Status.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            OpenException

            +
            public OpenException​(IOException cause,
            +                     DataSpec dataSpec,
            +                     int cronetConnectionStatus)
            +
          • +
          + + + +
            +
          • +

            OpenException

            +
            public OpenException​(String errorMessage,
            +                     DataSpec dataSpec,
            +                     int cronetConnectionStatus)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.html new file mode 100644 index 0000000000..ac239d09a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSource.html @@ -0,0 +1,990 @@ + + + + +CronetDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CronetDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html new file mode 100644 index 0000000000..5c61710960 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetDataSourceFactory.html @@ -0,0 +1,778 @@ + + + + +CronetDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CronetDataSourceFactory

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.CronetEngineSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.CronetEngineSource.html new file mode 100644 index 0000000000..0ffc3fa2c5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.CronetEngineSource.html @@ -0,0 +1,189 @@ + + + + +CronetEngineWrapper.CronetEngineSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type CronetEngineWrapper.CronetEngineSource

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html new file mode 100644 index 0000000000..6fb1a8b141 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html @@ -0,0 +1,517 @@ + + + + +CronetEngineWrapper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CronetEngineWrapper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class CronetEngineWrapper
        +extends Object
        +
        A wrapper class for a CronetEngine.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SOURCE_NATIVE

            +
            public static final int SOURCE_NATIVE
            +
            Natively bundled Cronet implementation.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SOURCE_GMS

            +
            public static final int SOURCE_GMS
            +
            Cronet implementation from GMSCore.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SOURCE_UNKNOWN

            +
            public static final int SOURCE_UNKNOWN
            +
            Other (unknown) Cronet implementation.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SOURCE_USER_PROVIDED

            +
            public static final int SOURCE_USER_PROVIDED
            +
            User-provided Cronet engine.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SOURCE_UNAVAILABLE

            +
            public static final int SOURCE_UNAVAILABLE
            +
            No Cronet implementation available. Fallback Http provider is used if possible.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CronetEngineWrapper

            +
            public CronetEngineWrapper​(Context context)
            +
            Creates a wrapper for a CronetEngine built using the most suitable CronetProvider. When natively bundled Cronet and GMSCore Cronet are both available, the + natively bundled provider is preferred.
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          + + + +
            +
          • +

            CronetEngineWrapper

            +
            public CronetEngineWrapper​(Context context,
            +                           @Nullable
            +                           String userAgent,
            +                           boolean preferGMSCoreCronet)
            +
            Creates a wrapper for a CronetEngine built using the most suitable CronetProvider. When natively bundled Cronet and GMSCore Cronet are both available, + preferGMSCoreCronet determines which is preferred.
            +
            +
            Parameters:
            +
            context - A context.
            +
            userAgent - A default user agent, or null to use a default user agent of the + CronetEngine.
            +
            preferGMSCoreCronet - Whether Cronet from GMSCore should be preferred over natively + bundled Cronet if both are available.
            +
            +
          • +
          + + + +
            +
          • +

            CronetEngineWrapper

            +
            public CronetEngineWrapper​(org.chromium.net.CronetEngine cronetEngine)
            +
            Creates a wrapper for an existing CronetEngine.
            +
            +
            Parameters:
            +
            cronetEngine - The CronetEngine to wrap.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-frame.html new file mode 100644 index 0000000000..7a427fc16c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-frame.html @@ -0,0 +1,38 @@ + + + + +com.google.android.exoplayer2.ext.cronet (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.cronet

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-summary.html new file mode 100644 index 0000000000..676820ae23 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-summary.html @@ -0,0 +1,220 @@ + + + + +com.google.android.exoplayer2.ext.cronet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.cronet

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-tree.html new file mode 100644 index 0000000000..10ebba0ca3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/cronet/package-tree.html @@ -0,0 +1,193 @@ + + + + +com.google.android.exoplayer2.ext.cronet Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.cronet

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.html new file mode 100644 index 0000000000..6a450f2a61 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioRenderer.html @@ -0,0 +1,568 @@ + + + + +FfmpegAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FfmpegAudioRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FfmpegAudioRenderer

            +
            public FfmpegAudioRenderer()
            +
          • +
          + + + +
            +
          • +

            FfmpegAudioRenderer

            +
            public FfmpegAudioRenderer​(@Nullable
            +                           Handler eventHandler,
            +                           @Nullable
            +                           AudioRendererEventListener eventListener,
            +                           AudioProcessor... audioProcessors)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioProcessors - Optional AudioProcessors that will process audio before output.
            +
            +
          • +
          + + + +
            +
          • +

            FfmpegAudioRenderer

            +
            public FfmpegAudioRenderer​(@Nullable
            +                           Handler eventHandler,
            +                           @Nullable
            +                           AudioRendererEventListener eventListener,
            +                           AudioSink audioSink)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegDecoderException.html new file mode 100644 index 0000000000..50b4c931c8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegDecoderException.html @@ -0,0 +1,251 @@ + + + + +FfmpegDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FfmpegDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.html new file mode 100644 index 0000000000..cbfe437d3f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/FfmpegLibrary.html @@ -0,0 +1,347 @@ + + + + +FfmpegLibrary (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FfmpegLibrary

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class FfmpegLibrary
        +extends Object
        +
        Configures and queries the underlying native library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setLibraries

            +
            public static void setLibraries​(String... libraries)
            +
            Override the names of the FFmpeg native libraries. If an application wishes to call this + method, it must do so before calling any other method defined by this class, and before + instantiating a FfmpegAudioRenderer instance.
            +
            +
            Parameters:
            +
            libraries - The names of the FFmpeg native libraries.
            +
            +
          • +
          + + + +
            +
          • +

            isAvailable

            +
            public static boolean isAvailable()
            +
            Returns whether the underlying library is available, loading it if necessary.
            +
          • +
          + + + +
            +
          • +

            getVersion

            +
            @Nullable
            +public static String getVersion()
            +
            Returns the version of the underlying library if available, or null otherwise.
            +
          • +
          + + + +
            +
          • +

            getInputBufferPaddingSize

            +
            public static int getInputBufferPaddingSize()
            +
            Returns the required amount of padding for input buffers in bytes, or C.LENGTH_UNSET if + the underlying library is not available.
            +
          • +
          + + + +
            +
          • +

            supportsFormat

            +
            public static boolean supportsFormat​(String mimeType)
            +
            Returns whether the underlying library supports the specified MIME type.
            +
            +
            Parameters:
            +
            mimeType - The MIME type to check.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-frame.html new file mode 100644 index 0000000000..310bb3b883 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-frame.html @@ -0,0 +1,32 @@ + + + + +com.google.android.exoplayer2.ext.ffmpeg (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.ffmpeg

      +
      +

      Classes

      + +

      Exceptions

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-summary.html new file mode 100644 index 0000000000..55eef5e859 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-summary.html @@ -0,0 +1,191 @@ + + + + +com.google.android.exoplayer2.ext.ffmpeg (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.ffmpeg

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        FfmpegAudioRenderer +
        Decodes and renders audio using FFmpeg.
        +
        FfmpegLibrary +
        Configures and queries the underlying native library.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Exception Summary 
        ExceptionDescription
        FfmpegDecoderException +
        Thrown when an FFmpeg decoder error occurs.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-tree.html new file mode 100644 index 0000000000..302bb7eda5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ffmpeg/package-tree.html @@ -0,0 +1,183 @@ + + + + +com.google.android.exoplayer2.ext.ffmpeg Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.ffmpeg

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoder.html new file mode 100644 index 0000000000..ff712029aa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoder.html @@ -0,0 +1,490 @@ + + + + +FlacDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoderException.html new file mode 100644 index 0000000000..7946fc457b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacDecoderException.html @@ -0,0 +1,251 @@ + + + + +FlacDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.Flags.html new file mode 100644 index 0000000000..06e85a299f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.Flags.html @@ -0,0 +1,189 @@ + + + + +FlacExtractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type FlacExtractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.html new file mode 100644 index 0000000000..508ec80c12 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacExtractor.html @@ -0,0 +1,572 @@ + + + + +FlacExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.flac.FlacExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class FlacExtractor
        +extends Object
        +implements Extractor
        +
        Facilitates the extraction of data from the FLAC container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_DISABLE_ID3_METADATA

            +
            public static final int FLAG_DISABLE_ID3_METADATA
            +
            Flag to disable parsing of ID3 metadata. Can be set to save memory if ID3 metadata is not + required.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlacExtractor

            +
            public FlacExtractor()
            +
            Constructs an instance with flags = 0.
            +
          • +
          + + + +
            +
          • +

            FlacExtractor

            +
            public FlacExtractor​(int flags)
            +
            Constructs an instance.
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior. Possible flags are described by + FlacExtractor.Flags.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacLibrary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacLibrary.html new file mode 100644 index 0000000000..9a59320e85 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/FlacLibrary.html @@ -0,0 +1,289 @@ + + + + +FlacLibrary (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacLibrary

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.flac.FlacLibrary
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class FlacLibrary
        +extends Object
        +
        Configures and queries the underlying native library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setLibraries

            +
            public static void setLibraries​(String... libraries)
            +
            Override the names of the Flac native libraries. If an application wishes to call this method, + it must do so before calling any other method defined by this class, and before instantiating + any LibflacAudioRenderer and FlacExtractor instances.
            +
            +
            Parameters:
            +
            libraries - The names of the Flac native libraries.
            +
            +
          • +
          + + + +
            +
          • +

            isAvailable

            +
            public static boolean isAvailable()
            +
            Returns whether the underlying library is available, loading it if necessary.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html new file mode 100644 index 0000000000..4e2d524627 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/LibflacAudioRenderer.html @@ -0,0 +1,538 @@ + + + + +LibflacAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LibflacAudioRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LibflacAudioRenderer

            +
            public LibflacAudioRenderer()
            +
          • +
          + + + +
            +
          • +

            LibflacAudioRenderer

            +
            public LibflacAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioProcessor... audioProcessors)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioProcessors - Optional AudioProcessors that will process audio before output.
            +
            +
          • +
          + + + +
            +
          • +

            LibflacAudioRenderer

            +
            public LibflacAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioSink audioSink)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-frame.html new file mode 100644 index 0000000000..d39e1b82d7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-frame.html @@ -0,0 +1,38 @@ + + + + +com.google.android.exoplayer2.ext.flac (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.flac

      +
      +

      Classes

      + +

      Exceptions

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-summary.html new file mode 100644 index 0000000000..3cf0075df5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-summary.html @@ -0,0 +1,220 @@ + + + + +com.google.android.exoplayer2.ext.flac (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.flac

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        FlacDecoder +
        Flac decoder.
        +
        FlacExtractor +
        Facilitates the extraction of data from the FLAC container format.
        +
        FlacLibrary +
        Configures and queries the underlying native library.
        +
        LibflacAudioRenderer +
        Decodes and renders audio using the native Flac decoder.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Exception Summary 
        ExceptionDescription
        FlacDecoderException +
        Thrown when an Flac decoder error occurs.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        FlacExtractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-tree.html new file mode 100644 index 0000000000..63b056dbce --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/flac/package-tree.html @@ -0,0 +1,193 @@ + + + + +com.google.android.exoplayer2.ext.flac Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.flac

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/GvrAudioProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/GvrAudioProcessor.html new file mode 100644 index 0000000000..0288cd1033 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/GvrAudioProcessor.html @@ -0,0 +1,586 @@ + + + + +GvrAudioProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GvrAudioProcessor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        AudioProcessor
        +
        +
        +
        @Deprecated
        +public class GvrAudioProcessor
        +extends Object
        +implements AudioProcessor
        +
        Deprecated. +
        If you still need this component, please contact us by filing an issue on our issue tracker.
        +
        +
        An AudioProcessor that uses GvrAudioSurround to provide binaural rendering of + surround sound and ambisonic soundfields.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            GvrAudioProcessor

            +
            public GvrAudioProcessor()
            +
            Deprecated.
            +
            Creates a new GVR audio processor.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateOrientation

            +
            public void updateOrientation​(float w,
            +                              float x,
            +                              float y,
            +                              float z)
            +
            Deprecated.
            +
            Updates the listener head orientation. May be called on any thread. See + GvrAudioSurround.updateNativeOrientation.
            +
            +
            Parameters:
            +
            w - The w component of the quaternion.
            +
            x - The x component of the quaternion.
            +
            y - The y component of the quaternion.
            +
            z - The z component of the quaternion.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isActive

            +
            public boolean isActive()
            +
            Deprecated.
            +
            Description copied from interface: AudioProcessor
            +
            Returns whether the processor is configured and will process input buffers.
            +
            +
            Specified by:
            +
            isActive in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            queueInput

            +
            public void queueInput​(ByteBuffer input)
            +
            Deprecated.
            +
            Description copied from interface: AudioProcessor
            +
            Queues audio data between the position and limit of the input buffer for processing. + buffer must be a direct byte buffer with native byte order. Its contents are treated as + read-only. Its position will be advanced by the number of bytes consumed (which may be zero). + The caller retains ownership of the provided buffer. Calling this method invalidates any + previous buffer returned by AudioProcessor.getOutput().
            +
            +
            Specified by:
            +
            queueInput in interface AudioProcessor
            +
            Parameters:
            +
            input - The input buffer to process.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getOutput

            +
            public ByteBuffer getOutput()
            +
            Deprecated.
            +
            Description copied from interface: AudioProcessor
            +
            Returns a buffer containing processed output data between its position and limit. The buffer + will always be a direct byte buffer with native byte order. Calling this method invalidates any + previously returned buffer. The buffer will be empty if no output is available.
            +
            +
            Specified by:
            +
            getOutput in interface AudioProcessor
            +
            Returns:
            +
            A buffer containing processed output data between its position and limit.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            flush

            +
            public void flush()
            +
            Deprecated.
            +
            Description copied from interface: AudioProcessor
            +
            Clears any buffered data and pending output. If the audio processor is active, also prepares + the audio processor to receive a new stream of input in the last configured (pending) format.
            +
            +
            Specified by:
            +
            flush in interface AudioProcessor
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Deprecated.
            +
            Description copied from interface: AudioProcessor
            +
            Resets the processor to its unconfigured state, releasing any resources.
            +
            +
            Specified by:
            +
            reset in interface AudioProcessor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-frame.html new file mode 100644 index 0000000000..83763e3e0b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.ext.gvr (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.gvr

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-summary.html new file mode 100644 index 0000000000..1ec2f6e2f6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.ext.gvr (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.gvr

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        GvrAudioProcessorDeprecated. +
        If you still need this component, please contact us by filing an issue on our issue tracker.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-tree.html new file mode 100644 index 0000000000..261e50d501 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/gvr/package-tree.html @@ -0,0 +1,161 @@ + + + + +com.google.android.exoplayer2.ext.gvr Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.gvr

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html new file mode 100644 index 0000000000..d6dedb5bc1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.Builder.html @@ -0,0 +1,754 @@ + + + + +ImaAdsLoader.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ImaAdsLoader.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_AD_PRELOAD_TIMEOUT_MS

            +
            public static final long DEFAULT_AD_PRELOAD_TIMEOUT_MS
            +
            The default duration in milliseconds for which the player must buffer while preloading an ad + group before that ad group is skipped and marked as having failed to load. + +

            This value should be large enough not to trigger discarding the ad when it actually might + load soon, but small enough so that user is not waiting for too long.

            +
            +
            See Also:
            +
            setAdPreloadTimeoutMs(long), +Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder​(Context context)
            +
            Creates a new builder for ImaAdsLoader.
            +
            +
            Parameters:
            +
            context - The context;
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setImaSdkSettings

            +
            public ImaAdsLoader.Builder setImaSdkSettings​(com.google.ads.interactivemedia.v3.api.ImaSdkSettings imaSdkSettings)
            +
            Sets the IMA SDK settings. The provided settings instance's player type and version fields + may be overwritten. + +

            If this method is not called the default settings will be used.

            +
            +
            Parameters:
            +
            imaSdkSettings - The ImaSdkSettings.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setAdErrorListener

            +
            public ImaAdsLoader.Builder setAdErrorListener​(com.google.ads.interactivemedia.v3.api.AdErrorEvent.AdErrorListener adErrorListener)
            +
            Sets a listener for ad errors that will be passed to AdsLoader.addAdErrorListener(AdErrorListener) and + BaseManager.addAdErrorListener(AdErrorListener).
            +
            +
            Parameters:
            +
            adErrorListener - The ad error listener.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setAdEventListener

            +
            public ImaAdsLoader.Builder setAdEventListener​(com.google.ads.interactivemedia.v3.api.AdEvent.AdEventListener adEventListener)
            +
            Sets a listener for ad events that will be passed to BaseManager.addAdEventListener(AdEventListener).
            +
            +
            Parameters:
            +
            adEventListener - The ad event listener.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setVideoAdPlayerCallback

            +
            public ImaAdsLoader.Builder setVideoAdPlayerCallback​(com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback)
            +
            Sets a callback to receive video ad player events. Note that these events are handled + internally by the IMA SDK and this ads loader. For analytics and diagnostics, new + implementations should generally use events from the top-level Player listeners + instead of setting a callback via this method.
            +
            +
            Parameters:
            +
            videoAdPlayerCallback - The callback to receive video ad player events.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            VideoAdPlayer.VideoAdPlayerCallback
            +
            +
          • +
          + + + +
            +
          • +

            setAdUiElements

            +
            public ImaAdsLoader.Builder setAdUiElements​(Set<com.google.ads.interactivemedia.v3.api.UiElement> adUiElements)
            +
            Sets the ad UI elements to be rendered by the IMA SDK.
            +
            +
            Parameters:
            +
            adUiElements - The ad UI elements to be rendered by the IMA SDK.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRenderingSettings.setUiElements(Set)
            +
            +
          • +
          + + + +
            +
          • +

            setCompanionAdSlots

            +
            public ImaAdsLoader.Builder setCompanionAdSlots​(Collection<com.google.ads.interactivemedia.v3.api.CompanionAdSlot> companionAdSlots)
            +
            Sets the slots to use for companion ads, if they are present in the loaded ad.
            +
            +
            Parameters:
            +
            companionAdSlots - The slots to use for companion ads.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            BaseDisplayContainer.setCompanionSlots(Collection)
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setEnableContinuousPlayback

            +
            public ImaAdsLoader.Builder setEnableContinuousPlayback​(boolean enableContinuousPlayback)
            +
            Sets whether to enable continuous playback. Pass true if content videos will be + played continuously, similar to a TV broadcast. This setting may modify the ads request but + does not affect ad playback behavior. The requested value is unknown by default.
            +
            +
            Parameters:
            +
            enableContinuousPlayback - Whether to enable continuous playback.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRequest.setContinuousPlayback(boolean)
            +
            +
          • +
          + + + +
            +
          • +

            setAdPreloadTimeoutMs

            +
            public ImaAdsLoader.Builder setAdPreloadTimeoutMs​(long adPreloadTimeoutMs)
            +
            Sets the duration in milliseconds for which the player must buffer while preloading an ad + group before that ad group is skipped and marked as having failed to load. Pass C.TIME_UNSET if there should be no such timeout. The default value is 10000L ms. + +

            The purpose of this timeout is to avoid playback getting stuck in the unexpected case that + the IMA SDK does not load an ad break based on the player's reported content position.

            +
            +
            Parameters:
            +
            adPreloadTimeoutMs - The timeout buffering duration in milliseconds, or C.TIME_UNSET for no timeout.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setVastLoadTimeoutMs

            +
            public ImaAdsLoader.Builder setVastLoadTimeoutMs​(int vastLoadTimeoutMs)
            +
            Sets the VAST load timeout, in milliseconds.
            +
            +
            Parameters:
            +
            vastLoadTimeoutMs - The VAST load timeout, in milliseconds.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRequest.setVastLoadTimeout(float)
            +
            +
          • +
          + + + +
            +
          • +

            setMediaLoadTimeoutMs

            +
            public ImaAdsLoader.Builder setMediaLoadTimeoutMs​(int mediaLoadTimeoutMs)
            +
            Sets the ad media load timeout, in milliseconds.
            +
            +
            Parameters:
            +
            mediaLoadTimeoutMs - The ad media load timeout, in milliseconds.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRenderingSettings.setLoadVideoTimeout(int)
            +
            +
          • +
          + + + +
            +
          • +

            setMaxMediaBitrate

            +
            public ImaAdsLoader.Builder setMaxMediaBitrate​(int bitrate)
            +
            Sets the media maximum recommended bitrate for ads, in bps.
            +
            +
            Parameters:
            +
            bitrate - The media maximum recommended bitrate for ads, in bps.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRenderingSettings.setBitrateKbps(int)
            +
            +
          • +
          + + + +
            +
          • +

            setFocusSkipButtonWhenAvailable

            +
            public ImaAdsLoader.Builder setFocusSkipButtonWhenAvailable​(boolean focusSkipButtonWhenAvailable)
            +
            Sets whether to focus the skip button (when available) on Android TV devices. The default + setting is true.
            +
            +
            Parameters:
            +
            focusSkipButtonWhenAvailable - Whether to focus the skip button (when available) on + Android TV devices.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            AdsRenderingSettings.setFocusSkipButtonWhenAvailable(boolean)
            +
            +
          • +
          + + + +
            +
          • +

            setPlayAdBeforeStartPosition

            +
            public ImaAdsLoader.Builder setPlayAdBeforeStartPosition​(boolean playAdBeforeStartPosition)
            +
            Sets whether to play an ad before the start position when beginning playback. If + true, an ad will be played if there is one at or before the start position. If + false, an ad will be played only if there is one exactly at the start position. The default + setting is true.
            +
            +
            Parameters:
            +
            playAdBeforeStartPosition - Whether to play an ad before the start position when + beginning playback.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setDebugModeEnabled

            +
            public ImaAdsLoader.Builder setDebugModeEnabled​(boolean debugModeEnabled)
            +
            Sets whether to enable outputting verbose logs for the IMA extension and IMA SDK. The default + value is false. This setting is intended for debugging only, and should not be + enabled in production applications.
            +
            +
            Parameters:
            +
            debugModeEnabled - Whether to enable outputting verbose logs for the IMA extension and + IMA SDK.
            +
            Returns:
            +
            This builder, for convenience.
            +
            See Also:
            +
            ImaSdkSettings.setDebugMode(boolean)
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html new file mode 100644 index 0000000000..e7e4064414 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html @@ -0,0 +1,763 @@ + + + + +ImaAdsLoader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ImaAdsLoader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.ima.ImaAdsLoader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Player.EventListener, AdsLoader
        +
        +
        +
        public final class ImaAdsLoader
        +extends Object
        +implements Player.EventListener, AdsLoader
        +
        AdsLoader using the IMA SDK. All methods must be called on the main thread. + +

        The player instance that will play the loaded ads must be set before playback using setPlayer(Player). If the ads loader is no longer required, it must be released by calling + release(). + +

        See https://developers.google.com/interactive-media-ads/docs/sdks/android/compatibility for + information on compatible ad tag formats. Pass the ad tag URI when setting media item playback + properties (if using the media item API) or as a DataSpec when constructing the AdsMediaSource (if using media sources directly). For the latter case, please note that this + implementation delegates loading of the data spec to the IMA SDK, so range and headers + specifications will be ignored in ad tag URIs. Literal ads responses can be encoded as data + scheme data specs, for example, by constructing the data spec using a URI generated via Util.getDataUriForString(String, String). + +

        The IMA SDK can report obstructions to the ad view for accurate viewability measurement. This + means that any overlay views that obstruct the ad overlay but are essential for playback need to + be registered via the AdsLoader.AdViewProvider passed to the AdsMediaSource. See the IMA + SDK Open Measurement documentation for more information.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdsLoader

            +
            @Nullable
            +public com.google.ads.interactivemedia.v3.api.AdsLoader getAdsLoader()
            +
            Returns the underlying AdsLoader wrapped by this + instance, or null if ads have not been requested yet.
            +
          • +
          + + + +
            +
          • +

            getAdDisplayContainer

            +
            @Nullable
            +public com.google.ads.interactivemedia.v3.api.AdDisplayContainer getAdDisplayContainer()
            +
            Returns the AdDisplayContainer used by this loader, or null if ads have not + been requested yet. + +

            Note: any video controls overlays registered via BaseDisplayContainer.registerFriendlyObstruction(FriendlyObstruction) will be unregistered + automatically when the media source detaches from this instance. It is therefore necessary to + re-register views each time the ads loader is reused. Alternatively, provide overlay views via + the AdsLoader.AdViewProvider when creating the media source to benefit from automatic + registration.

            +
          • +
          + + + +
            +
          • +

            requestAds

            +
            public void requestAds​(DataSpec adTagDataSpec,
            +                       Object adsId,
            +                       @Nullable
            +                       ViewGroup adViewGroup)
            +
            Requests ads, if they have not already been requested. Must be called on the main thread. + +

            Ads will be requested automatically when the player is prepared if this method has not been + called, so it is only necessary to call this method if you want to request ads before preparing + the player.

            +
            +
            Parameters:
            +
            adTagDataSpec - The data specification of the ad tag to load. See class javadoc for + information about compatible ad tag formats.
            +
            adsId - A opaque identifier for the ad playback state across start/stop calls.
            +
            adViewGroup - A ViewGroup on top of the player that will show any ad UI, or + null if playing audio-only ads.
            +
            +
          • +
          + + + +
            +
          • +

            skipAd

            +
            public void skipAd()
            +
            Skips the current ad. + +

            This method is intended for apps that play audio-only ads and so need to provide their own + UI for users to skip skippable ads. Apps showing video ads should not call this method, as the + IMA SDK provides the UI to skip ads in the ad view group passed via AdsLoader.AdViewProvider.

            +
          • +
          + + + +
            +
          • +

            focusSkipButton

            +
            public void focusSkipButton()
            +
            Moves UI focus to the skip button (or other interactive elements), if currently shown. See + BaseManager.focus().
            +
          • +
          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Description copied from interface: AdsLoader
            +
            Sets the player that will play the loaded ads. + +

            This method must be called before the player is prepared with media using this ads loader. + +

            This method must also be called on the main thread and only players which are accessed on + the main thread are supported (player.getApplicationLooper() == + Looper.getMainLooper()).

            +
            +
            Specified by:
            +
            setPlayer in interface AdsLoader
            +
            Parameters:
            +
            player - The player instance that will play the loaded ads. May be null to delete the + reference to a previously set player.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            start

            +
            public void start​(AdsMediaSource adsMediaSource,
            +                  DataSpec adTagDataSpec,
            +                  Object adsId,
            +                  AdsLoader.AdViewProvider adViewProvider,
            +                  AdsLoader.EventListener eventListener)
            +
            Description copied from interface: AdsLoader
            +
            Starts using the ads loader for playback. Called on the main thread by AdsMediaSource.
            +
            +
            Specified by:
            +
            start in interface AdsLoader
            +
            Parameters:
            +
            adsMediaSource - The ads media source requesting to start loading ads.
            +
            adTagDataSpec - A data spec for the ad tag to load.
            +
            adsId - An opaque identifier for the ad playback state across start/stop calls.
            +
            adViewProvider - Provider of views for the ad UI.
            +
            eventListener - Listener for ads loader events.
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public void stop​(AdsMediaSource adsMediaSource,
            +                 AdsLoader.EventListener eventListener)
            +
            Description copied from interface: AdsLoader
            +
            Stops using the ads loader for playback and deregisters the event listener. Called on the main + thread by AdsMediaSource.
            +
            +
            Specified by:
            +
            stop in interface AdsLoader
            +
            Parameters:
            +
            adsMediaSource - The ads media source requesting to stop loading/playing ads.
            +
            eventListener - The ads media source's listener for ads loader events.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: AdsLoader
            +
            Releases the loader. Must be called by the application on the main thread when the instance is + no longer needed.
            +
            +
            Specified by:
            +
            release in interface AdsLoader
            +
            +
          • +
          + + + +
            +
          • +

            handlePrepareComplete

            +
            public void handlePrepareComplete​(AdsMediaSource adsMediaSource,
            +                                  int adGroupIndex,
            +                                  int adIndexInAdGroup)
            +
            Description copied from interface: AdsLoader
            +
            Notifies the ads loader that preparation of an ad media period is complete. Called on the main + thread by AdsMediaSource.
            +
            +
            Specified by:
            +
            handlePrepareComplete in interface AdsLoader
            +
            Parameters:
            +
            adsMediaSource - The ads media source for which preparation of ad media completed.
            +
            adGroupIndex - The index of the ad group.
            +
            adIndexInAdGroup - The index of the ad in the ad group.
            +
            +
          • +
          + + + +
            +
          • +

            handlePrepareError

            +
            public void handlePrepareError​(AdsMediaSource adsMediaSource,
            +                               int adGroupIndex,
            +                               int adIndexInAdGroup,
            +                               IOException exception)
            +
            Description copied from interface: AdsLoader
            +
            Notifies the ads loader that the player was not able to prepare media for a given ad. + Implementations should update the ad playback state as the specified ad has failed to load. + Called on the main thread by AdsMediaSource.
            +
            +
            Specified by:
            +
            handlePrepareError in interface AdsLoader
            +
            Parameters:
            +
            adsMediaSource - The ads media source for which preparation of ad media failed.
            +
            adGroupIndex - The index of the ad group.
            +
            adIndexInAdGroup - The index of the ad in the ad group.
            +
            exception - The preparation error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onPositionDiscontinuity

            +
            public void onPositionDiscontinuity​(@DiscontinuityReason
            +                                    int reason)
            +
            Description copied from interface: Player.EventListener
            +
            Called when a position discontinuity occurs without a change to the timeline. A position + discontinuity occurs when the current window or period index changes (as a result of playback + transitioning from one period in the timeline to the next), or when the playback position + jumps within the period currently being played (as a result of a seek being performed, or + when the source introduces a discontinuity internally). + +

            When a position discontinuity occurs as a result of a change to the timeline this method + is not called. Player.EventListener.onTimelineChanged(Timeline, int) is called in this case. + +

            Player.EventListener.onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Specified by:
            +
            onPositionDiscontinuity in interface Player.EventListener
            +
            Parameters:
            +
            reason - The Player.DiscontinuityReason responsible for the discontinuity.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-frame.html new file mode 100644 index 0000000000..19db2d9ee9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.ext.ima (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.ima

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-summary.html new file mode 100644 index 0000000000..34ecba2768 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.ext.ima (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.ima

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-tree.html new file mode 100644 index 0000000000..1279eaf832 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/ima/package-tree.html @@ -0,0 +1,162 @@ + + + + +com.google.android.exoplayer2.ext.ima Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.ima

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.JobDispatcherSchedulerService.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.JobDispatcherSchedulerService.html new file mode 100644 index 0000000000..a6b1755226 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.JobDispatcherSchedulerService.html @@ -0,0 +1,428 @@ + + + + +JobDispatcherScheduler.JobDispatcherSchedulerService (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class JobDispatcherScheduler.JobDispatcherSchedulerService

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        ComponentCallbacks, ComponentCallbacks2
        +
        +
        +
        Enclosing class:
        +
        JobDispatcherScheduler
        +
        +
        +
        public static final class JobDispatcherScheduler.JobDispatcherSchedulerService
        +extends com.firebase.jobdispatcher.JobService
        +
        A JobService that starts the target service if the requirements are met.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            JobDispatcherSchedulerService

            +
            public JobDispatcherSchedulerService()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onStartJob

            +
            public boolean onStartJob​(com.firebase.jobdispatcher.JobParameters params)
            +
            +
            Specified by:
            +
            onStartJob in class com.firebase.jobdispatcher.JobService
            +
            +
          • +
          + + + +
            +
          • +

            onStopJob

            +
            public boolean onStopJob​(com.firebase.jobdispatcher.JobParameters params)
            +
            +
            Specified by:
            +
            onStopJob in class com.firebase.jobdispatcher.JobService
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.html new file mode 100644 index 0000000000..4484175ff5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/JobDispatcherScheduler.html @@ -0,0 +1,448 @@ + + + + +JobDispatcherScheduler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class JobDispatcherScheduler

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Scheduler
        +
        +
        +
        @Deprecated
        +public final class JobDispatcherScheduler
        +extends Object
        +implements Scheduler
        +
        Deprecated. +
        Use com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler or PlatformScheduler.
        +
        +
        A Scheduler that uses FirebaseJobDispatcher. To use this scheduler, you must add + JobDispatcherScheduler.JobDispatcherSchedulerService to your manifest: + +
        + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        + <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
        +
        + <service
        +     android:name="com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler$JobDispatcherSchedulerService"
        +     android:exported="false">
        +   <intent-filter>
        +     <action android:name="com.firebase.jobdispatcher.ACTION_EXECUTE"/>
        +   </intent-filter>
        + </service>
        + 
        + +

        This Scheduler uses Google Play services but does not do any availability checks. Any uses + should be guarded with a call to + GoogleApiAvailability#isGooglePlayServicesAvailable(android.content.Context)

        +
        +
        See Also:
        +
        GoogleApiAvailability
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            JobDispatcherScheduler

            +
            public JobDispatcherScheduler​(Context context,
            +                              String jobTag)
            +
            Deprecated.
            +
            +
            Parameters:
            +
            context - A context.
            +
            jobTag - A tag for jobs scheduled by this instance. If the same tag was used by a previous + instance, anything scheduled by the previous instance will be canceled by this instance if + schedule(Requirements, String, String) or cancel() are called.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            schedule

            +
            public boolean schedule​(Requirements requirements,
            +                        String servicePackage,
            +                        String serviceAction)
            +
            Deprecated.
            +
            Description copied from interface: Scheduler
            +
            Schedules a service to be started in the foreground when some Requirements are met. + Anything that was previously scheduled will be canceled. + +

            The service to be started must be declared in the manifest of servicePackage with an + intent filter containing serviceAction. Note that when started with + serviceAction, the service must call Service.startForeground(int, Notification) to + make itself a foreground service, as documented by ContextWrapper.startForegroundService(Intent).

            +
            +
            Specified by:
            +
            schedule in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements.
            +
            servicePackage - The package name.
            +
            serviceAction - The action with which the service will be started.
            +
            Returns:
            +
            Whether scheduling was successful.
            +
            +
          • +
          + + + +
            +
          • +

            cancel

            +
            public boolean cancel()
            +
            Deprecated.
            +
            Description copied from interface: Scheduler
            +
            Cancels anything that was previously scheduled, or else does nothing.
            +
            +
            Specified by:
            +
            cancel in interface Scheduler
            +
            Returns:
            +
            Whether cancellation was successful.
            +
            +
          • +
          + + + +
            +
          • +

            getSupportedRequirements

            +
            public Requirements getSupportedRequirements​(Requirements requirements)
            +
            Deprecated.
            +
            Description copied from interface: Scheduler
            +
            Checks whether this Scheduler supports the provided Requirements. If all of the + requirements are supported then the same Requirements instance is returned. If not then + a new instance is returned containing the subset of the requirements that are supported.
            +
            +
            Specified by:
            +
            getSupportedRequirements in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements to check.
            +
            Returns:
            +
            The supported requirements.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-frame.html new file mode 100644 index 0000000000..1841ddf618 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.ext.jobdispatcher (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.jobdispatcher

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-summary.html new file mode 100644 index 0000000000..db446baf10 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.ext.jobdispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.jobdispatcher

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-tree.html new file mode 100644 index 0000000000..a02d966bb2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/jobdispatcher/package-tree.html @@ -0,0 +1,178 @@ + + + + +com.google.android.exoplayer2.ext.jobdispatcher Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.jobdispatcher

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html new file mode 100644 index 0000000000..f36412133c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/LeanbackPlayerAdapter.html @@ -0,0 +1,619 @@ + + + + +LeanbackPlayerAdapter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LeanbackPlayerAdapter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • androidx.leanback.media.PlayerAdapter
        • +
        • +
            +
          • com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Runnable
        +
        +
        +
        public final class LeanbackPlayerAdapter
        +extends androidx.leanback.media.PlayerAdapter
        +implements Runnable
        +
        Leanback PlayerAdapter implementation for Player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LeanbackPlayerAdapter

            +
            public LeanbackPlayerAdapter​(Context context,
            +                             Player player,
            +                             int updatePeriodMs)
            +
            Builds an instance. Note that the PlayerAdapter does not manage the lifecycle of the + Player instance. The caller remains responsible for releasing the player when it's no + longer required.
            +
            +
            Parameters:
            +
            context - The current context (activity).
            +
            player - Instance of your exoplayer that needs to be configured.
            +
            updatePeriodMs - The delay between player control updates, in milliseconds.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            onAttachedToHost

            +
            public void onAttachedToHost​(androidx.leanback.media.PlaybackGlueHost host)
            +
            +
            Overrides:
            +
            onAttachedToHost in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            onDetachedFromHost

            +
            public void onDetachedFromHost()
            +
            +
            Overrides:
            +
            onDetachedFromHost in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            setProgressUpdatingEnabled

            +
            public void setProgressUpdatingEnabled​(boolean enabled)
            +
            +
            Overrides:
            +
            setProgressUpdatingEnabled in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            isPlaying

            +
            public boolean isPlaying()
            +
            +
            Overrides:
            +
            isPlaying in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            getDuration

            +
            public long getDuration()
            +
            +
            Overrides:
            +
            getDuration in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPosition

            +
            public long getCurrentPosition()
            +
            +
            Overrides:
            +
            getCurrentPosition in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            play

            +
            public void play()
            +
            +
            Specified by:
            +
            play in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            public void pause()
            +
            +
            Specified by:
            +
            pause in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            public void seekTo​(long positionMs)
            +
            +
            Overrides:
            +
            seekTo in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPosition

            +
            public long getBufferedPosition()
            +
            +
            Overrides:
            +
            getBufferedPosition in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            isPrepared

            +
            public boolean isPrepared()
            +
            +
            Overrides:
            +
            isPrepared in class androidx.leanback.media.PlayerAdapter
            +
            +
          • +
          + + + +
            +
          • +

            run

            +
            public void run()
            +
            +
            Specified by:
            +
            run in interface Runnable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-frame.html new file mode 100644 index 0000000000..4839b441bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.ext.leanback (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.leanback

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-summary.html new file mode 100644 index 0000000000..b1f062a23a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.ext.leanback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.leanback

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        LeanbackPlayerAdapter +
        Leanback PlayerAdapter implementation for Player.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-tree.html new file mode 100644 index 0000000000..3662de0dcc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/leanback/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.ext.leanback Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.leanback

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html new file mode 100644 index 0000000000..5b6080db9c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.html @@ -0,0 +1,354 @@ + + + + +DefaultMediaItemConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultMediaItemConverter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.media2.DefaultMediaItemConverter
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/MediaItemConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/MediaItemConverter.html new file mode 100644 index 0000000000..b917234be3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/MediaItemConverter.html @@ -0,0 +1,271 @@ + + + + +MediaItemConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaItemConverter

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            convertToExoPlayerMediaItem

            +
            MediaItem convertToExoPlayerMediaItem​(androidx.media2.common.MediaItem media2MediaItem)
            +
            Converts a Media2 MediaItem to an ExoPlayer MediaItem.
            +
          • +
          + + + +
            +
          • +

            convertToMedia2MediaItem

            +
            androidx.media2.common.MediaItem convertToMedia2MediaItem​(MediaItem exoPlayerMediaItem)
            +
            Converts an ExoPlayer MediaItem to a Media2 MediaItem.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html new file mode 100644 index 0000000000..6a8797a546 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.AllowedCommandProvider.html @@ -0,0 +1,354 @@ + + + + +SessionCallbackBuilder.AllowedCommandProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.AllowedCommandProvider

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          booleanacceptConnection​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called to query whether to allow connection from the controller.
          +
          androidx.media2.session.SessionCommandGroupgetAllowedCommands​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + androidx.media2.session.SessionCommandGroup baseAllowedSessionCommand) +
          Called to query allowed commands in following cases: + + + A MediaController requests to connect, and allowed commands is required to tell + initial allowed commands.
          +
          intonCommandRequest​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + androidx.media2.session.SessionCommand command) +
          Called when a MediaController has called an API that controls SessionPlayer + set to the MediaSession.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getAllowedCommands

            +
            androidx.media2.session.SessionCommandGroup getAllowedCommands​(androidx.media2.session.MediaSession session,
            +                                                               androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                                                               androidx.media2.session.SessionCommandGroup baseAllowedSessionCommand)
            +
            Called to query allowed commands in following cases: + +
              +
            • A MediaController requests to connect, and allowed commands is required to tell + initial allowed commands. +
            • Underlying SessionPlayer state changes, and allowed commands may be updated via + MediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup). +
            + +

            The provided baseAllowedSessionCommand is built automatically based on the state + of the SessionPlayer, SessionCallbackBuilder.RatingCallback, SessionCallbackBuilder.MediaItemProvider, SessionCallbackBuilder.CustomCommandProvider, and SessionCallbackBuilder.SkipCallback so may be a useful starting point for any + required customizations.

            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller for which allowed + commands are being queried.
            +
            baseAllowedSessionCommand - Base allowed session commands for customization.
            +
            Returns:
            +
            The allowed commands for the controller.
            +
            See Also:
            +
            MediaSession.SessionCallback.onConnect(MediaSession, ControllerInfo)
            +
            +
          • +
          + + + +
            +
          • +

            onCommandRequest

            +
            int onCommandRequest​(androidx.media2.session.MediaSession session,
            +                     androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                     androidx.media2.session.SessionCommand command)
            +
            Called when a MediaController has called an API that controls SessionPlayer + set to the MediaSession.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - A MediaSession.ControllerInfo that needs allowed command update.
            +
            command - A SessionCommand from the controller.
            +
            Returns:
            +
            A session result code defined in SessionResult.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCommandRequest(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.CustomCommandProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.CustomCommandProvider.html new file mode 100644 index 0000000000..d47453cb02 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.CustomCommandProvider.html @@ -0,0 +1,305 @@ + + + + +SessionCallbackBuilder.CustomCommandProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.CustomCommandProvider

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static interface SessionCallbackBuilder.CustomCommandProvider
        +
        Callbacks for querying what custom commands are supported, and for handling a custom command + when a controller sends it.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          androidx.media2.session.SessionCommandGroupgetCustomCommands​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Returns a SessionCommandGroup with custom commands to publish to the controller, or + null if no custom commands should be published.
          +
          androidx.media2.session.SessionResultonCustomCommand​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + androidx.media2.session.SessionCommand customCommand, + Bundle args) +
          Called when a controller has sent a custom command.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCustomCommand

            +
            androidx.media2.session.SessionResult onCustomCommand​(androidx.media2.session.MediaSession session,
            +                                                      androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                                                      androidx.media2.session.SessionCommand customCommand,
            +                                                      @Nullable
            +                                                      Bundle args)
            +
            Called when a controller has sent a custom command.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that sent the custom + command.
            +
            customCommand - A SessionCommand from the controller.
            +
            args - A Bundle with the extra argument.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCustomCommand(MediaSession, MediaSession.ControllerInfo, + SessionCommand, Bundle), +MediaController.sendCustomCommand(SessionCommand, Bundle)
            +
            +
          • +
          + + + +
            +
          • +

            getCustomCommands

            +
            @Nullable
            +androidx.media2.session.SessionCommandGroup getCustomCommands​(androidx.media2.session.MediaSession session,
            +                                                              androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
            +
            Returns a SessionCommandGroup with custom commands to publish to the controller, or + null if no custom commands should be published.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that is requesting custom + commands.
            +
            Returns:
            +
            The custom commands to publish, or null if no custom commands should be + published.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DefaultAllowedCommandProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DefaultAllowedCommandProvider.html new file mode 100644 index 0000000000..d884314488 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DefaultAllowedCommandProvider.html @@ -0,0 +1,461 @@ + + + + +SessionCallbackBuilder.DefaultAllowedCommandProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SessionCallbackBuilder.DefaultAllowedCommandProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SessionCallbackBuilder.AllowedCommandProvider
        +
        +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static final class SessionCallbackBuilder.DefaultAllowedCommandProvider
        +extends Object
        +implements SessionCallbackBuilder.AllowedCommandProvider
        +
        Default implementation of SessionCallbackBuilder.AllowedCommandProvider that behaves as follows: + +
          +
        • Accepts connection requests from controller if any of the following conditions are met: +
            +
          • Controller is in the same package as the session. +
          • Controller is allowed via setTrustedPackageNames(List). +
          • Controller has package name MediaSessionManager.RemoteUserInfo.LEGACY_CONTROLLER. See package name limitation for details. +
          • Controller is trusted (i.e. has MEDIA_CONTENT_CONTROL permission or has enabled + notification manager). +
          +
        • Allows all commands that the current player can handle. +
        • Accepts all command requests for allowed commands. +
        + +

        Note: this implementation matches the behavior of the ExoPlayer MediaSession extension and + MediaSessionCompat.

        +
      • +
      +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          booleanacceptConnection​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called to query whether to allow connection from the controller.
          +
          androidx.media2.session.SessionCommandGroupgetAllowedCommands​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands) +
          Called to query allowed commands in following cases: + + + A MediaController requests to connect, and allowed commands is required to tell + initial allowed commands.
          +
          intonCommandRequest​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + androidx.media2.session.SessionCommand command) +
          Called when a MediaController has called an API that controls SessionPlayer + set to the MediaSession.
          +
          voidsetTrustedPackageNames​(List<String> packageNames) +
          Sets the package names from which the session will accept incoming connections.
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultAllowedCommandProvider

            +
            public DefaultAllowedCommandProvider​(Context context)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getAllowedCommands

            +
            public androidx.media2.session.SessionCommandGroup getAllowedCommands​(androidx.media2.session.MediaSession session,
            +                                                                      androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                                                                      androidx.media2.session.SessionCommandGroup baseAllowedSessionCommands)
            +
            Description copied from interface: SessionCallbackBuilder.AllowedCommandProvider
            +
            Called to query allowed commands in following cases: + +
              +
            • A MediaController requests to connect, and allowed commands is required to tell + initial allowed commands. +
            • Underlying SessionPlayer state changes, and allowed commands may be updated via + MediaSession.setAllowedCommands(androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommandGroup). +
            + +

            The provided baseAllowedSessionCommand is built automatically based on the state + of the SessionPlayer, SessionCallbackBuilder.RatingCallback, SessionCallbackBuilder.MediaItemProvider, SessionCallbackBuilder.CustomCommandProvider, and SessionCallbackBuilder.SkipCallback so may be a useful starting point for any + required customizations.

            +
            +
            Specified by:
            +
            getAllowedCommands in interface SessionCallbackBuilder.AllowedCommandProvider
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller for which allowed + commands are being queried.
            +
            baseAllowedSessionCommands - Base allowed session commands for customization.
            +
            Returns:
            +
            The allowed commands for the controller.
            +
            See Also:
            +
            MediaSession.SessionCallback.onConnect(MediaSession, ControllerInfo)
            +
            +
          • +
          + + + +
            +
          • +

            onCommandRequest

            +
            public int onCommandRequest​(androidx.media2.session.MediaSession session,
            +                            androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                            androidx.media2.session.SessionCommand command)
            +
            Description copied from interface: SessionCallbackBuilder.AllowedCommandProvider
            +
            Called when a MediaController has called an API that controls SessionPlayer + set to the MediaSession.
            +
            +
            Specified by:
            +
            onCommandRequest in interface SessionCallbackBuilder.AllowedCommandProvider
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - A MediaSession.ControllerInfo that needs allowed command update.
            +
            command - A SessionCommand from the controller.
            +
            Returns:
            +
            A session result code defined in SessionResult.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCommandRequest(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand)
            +
            +
          • +
          + + + +
            +
          • +

            setTrustedPackageNames

            +
            public void setTrustedPackageNames​(@Nullable
            +                                   List<String> packageNames)
            +
            Sets the package names from which the session will accept incoming connections. + +

            Apps that have android.Manifest.permission.MEDIA_CONTENT_CONTROL, packages listed + in enabled_notification_listeners and the current package are always trusted, even if they + are not specified here.

            +
            +
            Parameters:
            +
            packageNames - Package names from which the session will accept incoming connections.
            +
            See Also:
            +
            MediaSession.SessionCallback.onConnect(MediaSession, MediaSession.ControllerInfo), +MediaSessionManager.isTrustedForMediaControl(RemoteUserInfo)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DisconnectedCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DisconnectedCallback.html new file mode 100644 index 0000000000..aaa7b8c403 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.DisconnectedCallback.html @@ -0,0 +1,263 @@ + + + + +SessionCallbackBuilder.DisconnectedCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.DisconnectedCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static interface SessionCallbackBuilder.DisconnectedCallback
        +
        Callback for handling controller disconnection.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonDisconnected​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called when the specified controller is disconnected.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onDisconnected

            +
            void onDisconnected​(androidx.media2.session.MediaSession session,
            +                    androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
            +
            Called when the specified controller is disconnected.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the disconnected controller.
            +
            See Also:
            +
            MediaSession.SessionCallback.onDisconnected(MediaSession, ControllerInfo)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaIdMediaItemProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaIdMediaItemProvider.html new file mode 100644 index 0000000000..f9c1757807 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaIdMediaItemProvider.html @@ -0,0 +1,335 @@ + + + + +SessionCallbackBuilder.MediaIdMediaItemProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SessionCallbackBuilder.MediaIdMediaItemProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.MediaIdMediaItemProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaIdMediaItemProvider

            +
            public MediaIdMediaItemProvider()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCreateMediaItem

            +
            @Nullable
            +public androidx.media2.common.MediaItem onCreateMediaItem​(androidx.media2.session.MediaSession session,
            +                                                          androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                                                          String mediaId)
            +
            Description copied from interface: SessionCallbackBuilder.MediaItemProvider
            +
            Called when MediaSession.SessionCallback.onCreateMediaItem(MediaSession, + ControllerInfo, String) is called.
            +
            +
            Specified by:
            +
            onCreateMediaItem in interface SessionCallbackBuilder.MediaItemProvider
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that has requested to + create the item.
            +
            Returns:
            +
            A new MediaItem that SessionPlayerConnector can play.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCreateMediaItem(MediaSession, ControllerInfo, String), +MediaController.addPlaylistItem(int, String), +MediaController.replacePlaylistItem(int, String), +MediaController.setMediaItem(String), +MediaController.setPlaylist(List, MediaMetadata)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html new file mode 100644 index 0000000000..8300c3163a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.MediaItemProvider.html @@ -0,0 +1,279 @@ + + + + +SessionCallbackBuilder.MediaItemProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.MediaItemProvider

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          androidx.media2.common.MediaItemonCreateMediaItem​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo, + String mediaId) +
          Called when MediaSession.SessionCallback.onCreateMediaItem(MediaSession, + ControllerInfo, String) is called.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCreateMediaItem

            +
            @Nullable
            +androidx.media2.common.MediaItem onCreateMediaItem​(androidx.media2.session.MediaSession session,
            +                                                   androidx.media2.session.MediaSession.ControllerInfo controllerInfo,
            +                                                   String mediaId)
            +
            Called when MediaSession.SessionCallback.onCreateMediaItem(MediaSession, + ControllerInfo, String) is called.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that has requested to + create the item.
            +
            Returns:
            +
            A new MediaItem that SessionPlayerConnector can play.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCreateMediaItem(MediaSession, ControllerInfo, String), +MediaController.addPlaylistItem(int, String), +MediaController.replacePlaylistItem(int, String), +MediaController.setMediaItem(String), +MediaController.setPlaylist(List, MediaMetadata)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.PostConnectCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.PostConnectCallback.html new file mode 100644 index 0000000000..4b3c34bfbd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.PostConnectCallback.html @@ -0,0 +1,263 @@ + + + + +SessionCallbackBuilder.PostConnectCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.PostConnectCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static interface SessionCallbackBuilder.PostConnectCallback
        +
        Callback for handling extra initialization after the connection.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonPostConnect​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called after the specified controller is connected, and you need extra initialization.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPostConnect

            +
            void onPostConnect​(androidx.media2.session.MediaSession session,
            +                   androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
            +
            Called after the specified controller is connected, and you need extra initialization.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that just connected.
            +
            See Also:
            +
            MediaSession.SessionCallback.onPostConnect(MediaSession, ControllerInfo)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.RatingCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.RatingCallback.html new file mode 100644 index 0000000000..ce3dec5e28 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.RatingCallback.html @@ -0,0 +1,270 @@ + + + + +SessionCallbackBuilder.RatingCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.RatingCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static interface SessionCallbackBuilder.RatingCallback
        +
        Callback receiving a user rating for a specified media id.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          intonSetRating​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controller, + String mediaId, + androidx.media2.common.Rating rating) +
          Called when the specified controller has set a rating for the specified media id.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSetRating

            +
            int onSetRating​(androidx.media2.session.MediaSession session,
            +                androidx.media2.session.MediaSession.ControllerInfo controller,
            +                String mediaId,
            +                androidx.media2.common.Rating rating)
            +
            Called when the specified controller has set a rating for the specified media id.
            +
            +
            Returns:
            +
            One of the SessionResult RESULT_* constants describing the success or + failure of the operation, for example, SessionResult.RESULT_SUCCESS if the + operation succeeded.
            +
            See Also:
            +
            MediaSession.SessionCallback.onSetRating(MediaSession, MediaSession.ControllerInfo, + String, Rating), +MediaController.setRating(String, Rating)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.SkipCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.SkipCallback.html new file mode 100644 index 0000000000..d3ef6b31b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.SkipCallback.html @@ -0,0 +1,301 @@ + + + + +SessionCallbackBuilder.SkipCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SessionCallbackBuilder.SkipCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SessionCallbackBuilder
        +
        +
        +
        public static interface SessionCallbackBuilder.SkipCallback
        +
        Callback receiving skip backward and skip forward.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          intonSkipBackward​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called when the specified controller has sent skip backward.
          +
          intonSkipForward​(androidx.media2.session.MediaSession session, + androidx.media2.session.MediaSession.ControllerInfo controllerInfo) +
          Called when the specified controller has sent skip forward.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSkipBackward

            +
            int onSkipBackward​(androidx.media2.session.MediaSession session,
            +                   androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
            +
            Called when the specified controller has sent skip backward.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that has requested to + skip backward.
            +
            Returns:
            +
            One of the SessionResult RESULT_* constants describing the success or + failure of the operation, for example, SessionResult.RESULT_SUCCESS if the + operation succeeded.
            +
            See Also:
            +
            MediaSession.SessionCallback.onSkipBackward(MediaSession, MediaSession.ControllerInfo), +MediaController.skipBackward()
            +
            +
          • +
          + + + +
            +
          • +

            onSkipForward

            +
            int onSkipForward​(androidx.media2.session.MediaSession session,
            +                  androidx.media2.session.MediaSession.ControllerInfo controllerInfo)
            +
            Called when the specified controller has sent skip forward.
            +
            +
            Parameters:
            +
            session - The media session.
            +
            controllerInfo - The MediaSession.ControllerInfo for the controller that has requested to + skip forward.
            +
            Returns:
            +
            One of the SessionResult RESULT_* constants describing the success or + failure of the operation, for example, SessionResult.RESULT_SUCCESS if the + operation succeeded.
            +
            See Also:
            +
            MediaSession.SessionCallback.onSkipForward(MediaSession, MediaSession.ControllerInfo), +MediaController.skipForward()
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html new file mode 100644 index 0000000000..161af048e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionCallbackBuilder.html @@ -0,0 +1,731 @@ + + + + +SessionCallbackBuilder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SessionCallbackBuilder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class SessionCallbackBuilder
        +extends Object
        +
        Builds a MediaSession.SessionCallback with various collaborators.
        +
        +
        See Also:
        +
        MediaSession.SessionCallback
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + + + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            setMediaItemProvider

            +
            public SessionCallbackBuilder setMediaItemProvider​(@Nullable
            +                                                   SessionCallbackBuilder.MediaItemProvider mediaItemProvider)
            +
            Sets the SessionCallbackBuilder.MediaItemProvider that will convert media ids to MediaItems.
            +
            +
            Parameters:
            +
            mediaItemProvider - The media item provider.
            +
            Returns:
            +
            This builder.
            +
            See Also:
            +
            MediaSession.SessionCallback.onCreateMediaItem(MediaSession, ControllerInfo, String), +MediaController.addPlaylistItem(int, String), +MediaController.replacePlaylistItem(int, String), +MediaController.setMediaItem(String), +MediaController.setPlaylist(List, MediaMetadata)
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSkipCallback

            +
            public SessionCallbackBuilder setSkipCallback​(@Nullable
            +                                              SessionCallbackBuilder.SkipCallback skipCallback)
            +
            Sets the SessionCallbackBuilder.SkipCallback to handle skip backward and skip forward.
            +
            +
            Parameters:
            +
            skipCallback - The skip callback.
            +
            Returns:
            +
            This builder.
            +
            See Also:
            +
            MediaSession.SessionCallback.onSkipBackward(MediaSession, ControllerInfo), +MediaSession.SessionCallback.onSkipForward(MediaSession, ControllerInfo), +MediaController.skipBackward(), +MediaController.skipForward()
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setRewindIncrementMs

            +
            public SessionCallbackBuilder setRewindIncrementMs​(int rewindMs)
            +
            Sets the rewind increment in milliseconds.
            +
            +
            Parameters:
            +
            rewindMs - The rewind increment in milliseconds. A non-positive value will cause the + rewind to be disabled.
            +
            Returns:
            +
            This builder.
            +
            See Also:
            +
            MediaSession.SessionCallback.onRewind(MediaSession, MediaSession.ControllerInfo), +setSeekTimeoutMs(int)
            +
            +
          • +
          + + + +
            +
          • +

            setFastForwardIncrementMs

            +
            public SessionCallbackBuilder setFastForwardIncrementMs​(int fastForwardMs)
            +
            Sets the fast forward increment in milliseconds.
            +
            +
            Parameters:
            +
            fastForwardMs - The fast forward increment in milliseconds. A non-positive value will + cause the fast forward to be disabled.
            +
            Returns:
            +
            This builder.
            +
            See Also:
            +
            MediaSession.SessionCallback.onFastForward(MediaSession, MediaSession.ControllerInfo), +setSeekTimeoutMs(int)
            +
            +
          • +
          + + + +
            +
          • +

            setSeekTimeoutMs

            +
            public SessionCallbackBuilder setSeekTimeoutMs​(int seekTimeoutMs)
            +
            Sets the timeout in milliseconds for fast forward and rewind operations, or 0 for no + timeout. If a timeout is set, controllers will receive an error if the session's call to SessionPlayer.seekTo(long) takes longer than this amount of time.
            +
            +
            Parameters:
            +
            seekTimeoutMs - A timeout for SessionPlayer.seekTo(long). A non-positive value will wait + forever.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            build

            +
            public androidx.media2.session.MediaSession.SessionCallback build()
            +
            Builds MediaSession.SessionCallback.
            +
            +
            Returns:
            +
            A new callback for a media session.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.html new file mode 100644 index 0000000000..e87a41d2bb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/SessionPlayerConnector.html @@ -0,0 +1,1028 @@ + + + + +SessionPlayerConnector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SessionPlayerConnector

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • androidx.media2.common.SessionPlayer
        • +
        • +
            +
          • com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Closeable, AutoCloseable
        +
        +
        +
        public final class SessionPlayerConnector
        +extends androidx.media2.common.SessionPlayer
        +
        An implementation of SessionPlayer that wraps a given ExoPlayer Player instance. + +

        Internally this implementation posts operations to and receives callbacks on the thread + associated with Player.getApplicationLooper(), so it is important not to block this + thread. In particular, when awaiting the result of an asynchronous session player operation, apps + should generally use ListenableFuture.addListener(Runnable, Executor) to be notified of + completion, rather than calling the blocking Future.get() method.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SessionPlayerConnector

            +
            public SessionPlayerConnector​(Player player)
            +
            Creates an instance using DefaultMediaItemConverter to convert between ExoPlayer and + media2 MediaItems and DefaultControlDispatcher to dispatch player commands.
            +
            +
            Parameters:
            +
            player - The player to wrap.
            +
            +
          • +
          + + + +
            +
          • +

            SessionPlayerConnector

            +
            public SessionPlayerConnector​(Player player,
            +                              MediaItemConverter mediaItemConverter)
            +
            Creates an instance using the provided ControlDispatcher to dispatch player commands.
            +
            +
            Parameters:
            +
            player - The player to wrap.
            +
            mediaItemConverter - The MediaItemConverter.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            play

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> play()
            +
            +
            Specified by:
            +
            play in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> pause()
            +
            +
            Specified by:
            +
            pause in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            prepare

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> prepare()
            +
            +
            Specified by:
            +
            prepare in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> seekTo​(long position)
            +
            +
            Specified by:
            +
            seekTo in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackSpeed

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setPlaybackSpeed​(float playbackSpeed)
            +
            +
            Specified by:
            +
            setPlaybackSpeed in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setAudioAttributes​(androidx.media.AudioAttributesCompat attr)
            +
            +
            Specified by:
            +
            setAudioAttributes in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getPlayerState

            +
            public int getPlayerState()
            +
            +
            Specified by:
            +
            getPlayerState in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPosition

            +
            public long getCurrentPosition()
            +
            +
            Specified by:
            +
            getCurrentPosition in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getDuration

            +
            public long getDuration()
            +
            +
            Specified by:
            +
            getDuration in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPosition

            +
            public long getBufferedPosition()
            +
            +
            Specified by:
            +
            getBufferedPosition in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getBufferingState

            +
            public int getBufferingState()
            +
            +
            Specified by:
            +
            getBufferingState in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getPlaybackSpeed

            +
            public float getPlaybackSpeed()
            +
            +
            Specified by:
            +
            getPlaybackSpeed in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getAudioAttributes

            +
            @Nullable
            +public androidx.media.AudioAttributesCompat getAudioAttributes()
            +
            +
            Specified by:
            +
            getAudioAttributes in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setMediaItem​(androidx.media2.common.MediaItem item)
            +
            + +

            FileMediaItem and CallbackMediaItem are not supported.

            +
            +
            Specified by:
            +
            setMediaItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setPlaylist

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setPlaylist​(List<androidx.media2.common.MediaItem> playlist,
            +                                                                                       @Nullable
            +                                                                                       androidx.media2.common.MediaMetadata metadata)
            +
            + +

            FileMediaItem and CallbackMediaItem are not supported.

            +
            +
            Specified by:
            +
            setPlaylist in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            addPlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> addPlaylistItem​(int index,
            +                                                                                           androidx.media2.common.MediaItem item)
            +
            + +

            FileMediaItem and CallbackMediaItem are not supported.

            +
            +
            Specified by:
            +
            addPlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            removePlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> removePlaylistItem​(int index)
            +
            +
            Specified by:
            +
            removePlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            replacePlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> replacePlaylistItem​(int index,
            +                                                                                               androidx.media2.common.MediaItem item)
            +
            + +

            FileMediaItem and CallbackMediaItem are not supported.

            +
            +
            Specified by:
            +
            replacePlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            movePlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> movePlaylistItem​(int fromIndex,
            +                                                                                            int toIndex)
            +
            +
            Overrides:
            +
            movePlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            skipToPreviousPlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> skipToPreviousPlaylistItem()
            +
            +
            Specified by:
            +
            skipToPreviousPlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            skipToNextPlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> skipToNextPlaylistItem()
            +
            +
            Specified by:
            +
            skipToNextPlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            skipToPlaylistItem

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> skipToPlaylistItem​(int index)
            +
            +
            Specified by:
            +
            skipToPlaylistItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            updatePlaylistMetadata

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> updatePlaylistMetadata​(@Nullable
            +                                                                                                  androidx.media2.common.MediaMetadata metadata)
            +
            +
            Specified by:
            +
            updatePlaylistMetadata in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setRepeatMode

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setRepeatMode​(int repeatMode)
            +
            +
            Specified by:
            +
            setRepeatMode in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleMode

            +
            public ListenableFuture<androidx.media2.common.SessionPlayer.PlayerResult> setShuffleMode​(int shuffleMode)
            +
            +
            Specified by:
            +
            setShuffleMode in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getPlaylist

            +
            @Nullable
            +public List<androidx.media2.common.MediaItem> getPlaylist()
            +
            +
            Specified by:
            +
            getPlaylist in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getPlaylistMetadata

            +
            @Nullable
            +public androidx.media2.common.MediaMetadata getPlaylistMetadata()
            +
            +
            Specified by:
            +
            getPlaylistMetadata in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getRepeatMode

            +
            public int getRepeatMode()
            +
            +
            Specified by:
            +
            getRepeatMode in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getShuffleMode

            +
            public int getShuffleMode()
            +
            +
            Specified by:
            +
            getShuffleMode in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentMediaItem

            +
            @Nullable
            +public androidx.media2.common.MediaItem getCurrentMediaItem()
            +
            +
            Specified by:
            +
            getCurrentMediaItem in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentMediaItemIndex

            +
            public int getCurrentMediaItemIndex()
            +
            +
            Specified by:
            +
            getCurrentMediaItemIndex in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousMediaItemIndex

            +
            public int getPreviousMediaItemIndex()
            +
            +
            Specified by:
            +
            getPreviousMediaItemIndex in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            getNextMediaItemIndex

            +
            public int getNextMediaItemIndex()
            +
            +
            Specified by:
            +
            getNextMediaItemIndex in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          + + + +
            +
          • +

            close

            +
            public void close()
            +
            +
            Specified by:
            +
            close in interface AutoCloseable
            +
            Specified by:
            +
            close in interface Closeable
            +
            Overrides:
            +
            close in class androidx.media2.common.SessionPlayer
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-frame.html new file mode 100644 index 0000000000..56cf5514e7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-frame.html @@ -0,0 +1,42 @@ + + + + +com.google.android.exoplayer2.ext.media2 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.media2

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-summary.html new file mode 100644 index 0000000000..196729f8cd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-summary.html @@ -0,0 +1,257 @@ + + + + +com.google.android.exoplayer2.ext.media2 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.media2

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-tree.html new file mode 100644 index 0000000000..86291c743d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/media2/package-tree.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.ext.media2 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.media2

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CaptionCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CaptionCallback.html new file mode 100644 index 0000000000..f12dbd22b1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CaptionCallback.html @@ -0,0 +1,288 @@ + + + + +MediaSessionConnector.CaptionCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.CaptionCallback

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSetCaptioningEnabled

            +
            void onSetCaptioningEnabled​(Player player,
            +                            boolean enabled)
            +
            See MediaSessionCompat.Callback.onSetCaptioningEnabled(boolean).
            +
          • +
          + + + +
            +
          • +

            hasCaptions

            +
            boolean hasCaptions​(Player player)
            +
            Returns whether the media currently being played has captions. + +

            This method is called each time the media session playback state needs to be updated and + published upon a player state change.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CommandReceiver.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CommandReceiver.html new file mode 100644 index 0000000000..ab659bc860 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CommandReceiver.html @@ -0,0 +1,285 @@ + + + + +MediaSessionConnector.CommandReceiver (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.CommandReceiver

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCommand

            +
            boolean onCommand​(Player player,
            +                  ControlDispatcher controlDispatcher,
            +                  String command,
            +                  @Nullable
            +                  Bundle extras,
            +                  @Nullable
            +                  ResultReceiver cb)
            +
            See MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver). The + receiver may handle the command, but is not required to do so. Changes to the player should + be made via the ControlDispatcher.
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            command - The command name.
            +
            extras - Optional parameters for the command, may be null.
            +
            cb - A result receiver to which a result may be sent by the command, may be null.
            +
            Returns:
            +
            Whether the receiver handled the command.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CustomActionProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CustomActionProvider.html new file mode 100644 index 0000000000..86112a9ea0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.CustomActionProvider.html @@ -0,0 +1,302 @@ + + + + +MediaSessionConnector.CustomActionProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.CustomActionProvider

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCustomAction

            +
            void onCustomAction​(Player player,
            +                    ControlDispatcher controlDispatcher,
            +                    String action,
            +                    @Nullable
            +                    Bundle extras)
            +
            Called when a custom action provided by this provider is sent to the media session.
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            action - The name of the action which was sent by a media controller.
            +
            extras - Optional extras sent by a media controller, may be null.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.DefaultMediaMetadataProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.DefaultMediaMetadataProvider.html new file mode 100644 index 0000000000..e98b470d22 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.DefaultMediaMetadataProvider.html @@ -0,0 +1,338 @@ + + + + +MediaSessionConnector.DefaultMediaMetadataProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaSessionConnector.DefaultMediaMetadataProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.DefaultMediaMetadataProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaButtonEventHandler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaButtonEventHandler.html new file mode 100644 index 0000000000..26509b13a6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaButtonEventHandler.html @@ -0,0 +1,267 @@ + + + + +MediaSessionConnector.MediaButtonEventHandler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.MediaButtonEventHandler

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MediaSessionConnector
        +
        +
        +
        public static interface MediaSessionConnector.MediaButtonEventHandler
        +
        Handles a media button event.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onMediaButtonEvent

            +
            boolean onMediaButtonEvent​(Player player,
            +                           ControlDispatcher controlDispatcher,
            +                           Intent mediaButtonEvent)
            +
            See MediaSessionCompat.Callback.onMediaButtonEvent(Intent).
            +
            +
            Parameters:
            +
            player - The Player.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            mediaButtonEvent - The Intent.
            +
            Returns:
            +
            True if the event was handled, false otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaMetadataProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaMetadataProvider.html new file mode 100644 index 0000000000..00b9272b6f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.MediaMetadataProvider.html @@ -0,0 +1,270 @@ + + + + +MediaSessionConnector.MediaMetadataProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.MediaMetadataProvider

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackActions.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackActions.html new file mode 100644 index 0000000000..4201ad42c4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackActions.html @@ -0,0 +1,188 @@ + + + + +MediaSessionConnector.PlaybackActions (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type MediaSessionConnector.PlaybackActions

      +
      +
      +
      +
        +
      • +
        +
        @Retention(SOURCE)
        +public static @interface MediaSessionConnector.PlaybackActions
        +
        Playback actions supported by the connector.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackPreparer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackPreparer.html new file mode 100644 index 0000000000..57da3f71f4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.PlaybackPreparer.html @@ -0,0 +1,418 @@ + + + + +MediaSessionConnector.PlaybackPreparer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.PlaybackPreparer

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSupportedPrepareActions

            +
            long getSupportedPrepareActions()
            +
            Returns the actions which are supported by the preparer. The supported actions must be a + bitmask combined out of PlaybackStateCompat.ACTION_PREPARE, PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID, PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH, PlaybackStateCompat.ACTION_PREPARE_FROM_URI, PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID, PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH and PlaybackStateCompat.ACTION_PLAY_FROM_URI.
            +
            +
            Returns:
            +
            The bitmask of the supported media actions.
            +
            +
          • +
          + + + +
            +
          • +

            onPrepare

            +
            void onPrepare​(boolean playWhenReady)
            +
            See MediaSessionCompat.Callback.onPrepare().
            +
            +
            Parameters:
            +
            playWhenReady - Whether playback should be started after preparation.
            +
            +
          • +
          + + + +
            +
          • +

            onPrepareFromMediaId

            +
            void onPrepareFromMediaId​(String mediaId,
            +                          boolean playWhenReady,
            +                          @Nullable
            +                          Bundle extras)
            +
            See MediaSessionCompat.Callback.onPrepareFromMediaId(String, Bundle).
            +
            +
            Parameters:
            +
            mediaId - The media id of the media item to be prepared.
            +
            playWhenReady - Whether playback should be started after preparation.
            +
            extras - A Bundle of extras passed by the media controller, may be null.
            +
            +
          • +
          + + + +
            +
          • +

            onPrepareFromSearch

            +
            void onPrepareFromSearch​(String query,
            +                         boolean playWhenReady,
            +                         @Nullable
            +                         Bundle extras)
            +
            See MediaSessionCompat.Callback.onPrepareFromSearch(String, Bundle).
            +
            +
            Parameters:
            +
            query - The search query.
            +
            playWhenReady - Whether playback should be started after preparation.
            +
            extras - A Bundle of extras passed by the media controller, may be null.
            +
            +
          • +
          + + + +
            +
          • +

            onPrepareFromUri

            +
            void onPrepareFromUri​(Uri uri,
            +                      boolean playWhenReady,
            +                      @Nullable
            +                      Bundle extras)
            +
            See MediaSessionCompat.Callback.onPrepareFromUri(Uri, Bundle).
            +
            +
            Parameters:
            +
            uri - The Uri of the media item to be prepared.
            +
            playWhenReady - Whether playback should be started after preparation.
            +
            extras - A Bundle of extras passed by the media controller, may be null.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html new file mode 100644 index 0000000000..3d06b8bcec --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueEditor.html @@ -0,0 +1,316 @@ + + + + +MediaSessionConnector.QueueEditor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.QueueEditor

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html new file mode 100644 index 0000000000..9b95ef616c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.QueueNavigator.html @@ -0,0 +1,466 @@ + + + + +MediaSessionConnector.QueueNavigator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.QueueNavigator

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSupportedQueueNavigatorActions

            +
            long getSupportedQueueNavigatorActions​(Player player)
            +
            Returns the actions which are supported by the navigator. The supported actions must be a + bitmask combined out of PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM, PlaybackStateCompat.ACTION_SKIP_TO_NEXT, PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS.
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            Returns:
            +
            The bitmask of the supported media actions.
            +
            +
          • +
          + + + +
            +
          • +

            onTimelineChanged

            +
            void onTimelineChanged​(Player player)
            +
            Called when the timeline of the player has changed.
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            +
          • +
          + + + +
            +
          • +

            onCurrentWindowIndexChanged

            +
            void onCurrentWindowIndexChanged​(Player player)
            +
            Called when the current window index changed.
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            +
          • +
          + + + +
            +
          • +

            getActiveQueueItemId

            +
            long getActiveQueueItemId​(@Nullable
            +                          Player player)
            +
            Gets the id of the currently active queue item, or MediaSessionCompat.QueueItem.UNKNOWN_ID if the active item is unknown. + +

            To let the connector publish metadata for the active queue item, the queue item with the + returned id must be available in the list of items returned by MediaControllerCompat.getQueue().

            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            Returns:
            +
            The id of the active queue item.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipToPrevious

            +
            void onSkipToPrevious​(Player player,
            +                      ControlDispatcher controlDispatcher)
            +
            See MediaSessionCompat.Callback.onSkipToPrevious().
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipToQueueItem

            +
            void onSkipToQueueItem​(Player player,
            +                       ControlDispatcher controlDispatcher,
            +                       long id)
            +
            See MediaSessionCompat.Callback.onSkipToQueueItem(long).
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            +
          • +
          + + + +
            +
          • +

            onSkipToNext

            +
            void onSkipToNext​(Player player,
            +                  ControlDispatcher controlDispatcher)
            +
            See MediaSessionCompat.Callback.onSkipToNext().
            +
            +
            Parameters:
            +
            player - The player connected to the media session.
            +
            controlDispatcher - A ControlDispatcher that should be used for dispatching + changes to the player.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html new file mode 100644 index 0000000000..fe90b51de3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.RatingCallback.html @@ -0,0 +1,290 @@ + + + + +MediaSessionConnector.RatingCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSessionConnector.RatingCallback

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html new file mode 100644 index 0000000000..fd3a810858 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html @@ -0,0 +1,1049 @@ + + + + +MediaSessionConnector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaSessionConnector

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Sets the player to be connected to the media session. Must be called on the same thread that is + used to access the player.
            +
            +
            Parameters:
            +
            player - The player to be connected to the MediaSession, or null to + disconnect the current player.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setEnabledPlaybackActions

            +
            public void setEnabledPlaybackActions​(long enabledPlaybackActions)
            +
            Sets the enabled playback actions.
            +
            +
            Parameters:
            +
            enabledPlaybackActions - The enabled playback actions.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setCustomErrorMessage

            +
            public void setCustomErrorMessage​(@Nullable
            +                                  CharSequence message)
            +
            Sets a custom error on the session. + +

            This sets the error code via PlaybackStateCompat.Builder.setErrorMessage(int, + CharSequence). By default, the error code will be set to PlaybackStateCompat.ERROR_CODE_APP_ERROR.

            +
            +
            Parameters:
            +
            message - The error string to report or null to clear the error.
            +
            +
          • +
          + + + +
            +
          • +

            setCustomErrorMessage

            +
            public void setCustomErrorMessage​(@Nullable
            +                                  CharSequence message,
            +                                  int code)
            +
            Sets a custom error on the session.
            +
            +
            Parameters:
            +
            message - The error string to report or null to clear the error.
            +
            code - The error code to report. Ignored when message is null.
            +
            +
          • +
          + + + +
            +
          • +

            setCustomErrorMessage

            +
            public void setCustomErrorMessage​(@Nullable
            +                                  CharSequence message,
            +                                  int code,
            +                                  @Nullable
            +                                  Bundle extras)
            +
            Sets a custom error on the session.
            +
            +
            Parameters:
            +
            message - The error string to report or null to clear the error.
            +
            code - The error code to report. Ignored when message is null.
            +
            extras - Extras to include in reported PlaybackStateCompat.
            +
            +
          • +
          + + + +
            +
          • +

            setCustomActionProviders

            +
            public void setCustomActionProviders​(@Nullable
            +                                     MediaSessionConnector.CustomActionProvider... customActionProviders)
            +
            Sets custom action providers. The order of the MediaSessionConnector.CustomActionProviders determines the + order in which the actions are published.
            +
            +
            Parameters:
            +
            customActionProviders - The custom action providers, or null to remove all existing custom + action providers.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaMetadataProvider

            +
            public void setMediaMetadataProvider​(@Nullable
            +                                     MediaSessionConnector.MediaMetadataProvider mediaMetadataProvider)
            +
            Sets a provider of metadata to be published to the media session. Pass null if no + metadata should be published.
            +
            +
            Parameters:
            +
            mediaMetadataProvider - The provider of metadata to publish, or null if no + metadata should be published.
            +
            +
          • +
          + + + +
            +
          • +

            invalidateMediaSessionMetadata

            +
            public final void invalidateMediaSessionMetadata()
            +
            Updates the metadata of the media session. + +

            Apps normally only need to call this method when the backing data for a given media item has + changed and the metadata should be updated immediately. + +

            The MediaMetadataCompat which is published to the session is obtained by calling + MediaSessionConnector.MediaMetadataProvider.getMetadata(Player).

            +
          • +
          + + + +
            +
          • +

            invalidateMediaSessionPlaybackState

            +
            public final void invalidateMediaSessionPlaybackState()
            +
            Updates the playback state of the media session. + +

            Apps normally only need to call this method when the custom actions provided by a MediaSessionConnector.CustomActionProvider changed and the playback state needs to be updated immediately.

            +
          • +
          + + + +
            +
          • +

            invalidateMediaSessionQueue

            +
            public final void invalidateMediaSessionQueue()
            +
            Updates the queue of the media session by calling MediaSessionConnector.QueueNavigator.onTimelineChanged(Player). + +

            Apps normally only need to call this method when the backing data for a given queue item has + changed and the queue should be updated immediately.

            +
          • +
          + + + +
            +
          • +

            registerCustomCommandReceiver

            +
            public void registerCustomCommandReceiver​(@Nullable
            +                                          MediaSessionConnector.CommandReceiver commandReceiver)
            +
            Registers a custom command receiver for responding to commands delivered via MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver). + +

            Commands are only dispatched to this receiver when a player is connected.

            +
            +
            Parameters:
            +
            commandReceiver - The command receiver to register.
            +
            +
          • +
          + + + +
            +
          • +

            unregisterCustomCommandReceiver

            +
            public void unregisterCustomCommandReceiver​(@Nullable
            +                                            MediaSessionConnector.CommandReceiver commandReceiver)
            +
            Unregisters a previously registered custom command receiver.
            +
            +
            Parameters:
            +
            commandReceiver - The command receiver to unregister.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html new file mode 100644 index 0000000000..fce2b946b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html @@ -0,0 +1,434 @@ + + + + +RepeatModeActionProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RepeatModeActionProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaIdEqualityChecker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaIdEqualityChecker.html new file mode 100644 index 0000000000..34df96bd94 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaIdEqualityChecker.html @@ -0,0 +1,306 @@ + + + + +TimelineQueueEditor.MediaIdEqualityChecker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimelineQueueEditor.MediaIdEqualityChecker

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.MediaIdEqualityChecker
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        TimelineQueueEditor
        +
        +
        +
        public static final class TimelineQueueEditor.MediaIdEqualityChecker
        +extends Object
        +
        Media description comparator comparing the media IDs. Media IDs are considered equals if both + are null.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaSourceFactory.html new file mode 100644 index 0000000000..dfa593c068 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.MediaSourceFactory.html @@ -0,0 +1,262 @@ + + + + +TimelineQueueEditor.MediaSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TimelineQueueEditor.MediaSourceFactory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.QueueDataAdapter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.QueueDataAdapter.html new file mode 100644 index 0000000000..abed1c8a11 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.QueueDataAdapter.html @@ -0,0 +1,308 @@ + + + + +TimelineQueueEditor.QueueDataAdapter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TimelineQueueEditor.QueueDataAdapter

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            remove

            +
            void remove​(int position)
            +
            Removes the item at the given position.
            +
            +
            Parameters:
            +
            position - The position at which to remove the item.
            +
            +
          • +
          + + + +
            +
          • +

            move

            +
            void move​(int from,
            +          int to)
            +
            Moves a queue item from position from to position to.
            +
            +
            Parameters:
            +
            from - The position from which to remove the item.
            +
            to - The target position to which to move the item.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.html new file mode 100644 index 0000000000..88d26375f8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueEditor.html @@ -0,0 +1,580 @@ + + + + +TimelineQueueEditor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimelineQueueEditor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html new file mode 100644 index 0000000000..5c1bd68be1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html @@ -0,0 +1,640 @@ + + + + +TimelineQueueNavigator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimelineQueueNavigator

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-frame.html new file mode 100644 index 0000000000..6493777545 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-frame.html @@ -0,0 +1,50 @@ + + + + +com.google.android.exoplayer2.ext.mediasession (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.mediasession

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-summary.html new file mode 100644 index 0000000000..adcb344dfe --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-summary.html @@ -0,0 +1,297 @@ + + + + +com.google.android.exoplayer2.ext.mediasession (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.mediasession

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-tree.html new file mode 100644 index 0000000000..e6bb28b92f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/mediasession/package-tree.html @@ -0,0 +1,187 @@ + + + + +com.google.android.exoplayer2.ext.mediasession Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.mediasession

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html new file mode 100644 index 0000000000..9434a43bd4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.Factory.html @@ -0,0 +1,492 @@ + + + + +OkHttpDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OkHttpDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html new file mode 100644 index 0000000000..3bf71805f8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html @@ -0,0 +1,783 @@ + + + + +OkHttpDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OkHttpDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.html new file mode 100644 index 0000000000..f44e6e0497 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSourceFactory.html @@ -0,0 +1,467 @@ + + + + +OkHttpDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OkHttpDataSourceFactory

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            OkHttpDataSourceFactory

            +
            public OkHttpDataSourceFactory​(okhttp3.Call.Factory callFactory)
            +
            Deprecated.
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            callFactory - A Call.Factory (typically an OkHttpClient) for use + by the sources created by the factory.
            +
            +
          • +
          + + + +
            +
          • +

            OkHttpDataSourceFactory

            +
            public OkHttpDataSourceFactory​(okhttp3.Call.Factory callFactory,
            +                               @Nullable
            +                               String userAgent)
            +
            Deprecated.
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            callFactory - A Call.Factory (typically an OkHttpClient) for use + by the sources created by the factory.
            +
            userAgent - An optional User-Agent string.
            +
            +
          • +
          + + + +
            +
          • +

            OkHttpDataSourceFactory

            +
            public OkHttpDataSourceFactory​(okhttp3.Call.Factory callFactory,
            +                               @Nullable
            +                               String userAgent,
            +                               @Nullable
            +                               okhttp3.CacheControl cacheControl)
            +
            Deprecated.
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            callFactory - A Call.Factory (typically an OkHttpClient) for use + by the sources created by the factory.
            +
            userAgent - An optional User-Agent string.
            +
            cacheControl - An optional CacheControl for setting the Cache-Control header.
            +
            +
          • +
          + + + +
            +
          • +

            OkHttpDataSourceFactory

            +
            public OkHttpDataSourceFactory​(okhttp3.Call.Factory callFactory,
            +                               @Nullable
            +                               String userAgent,
            +                               @Nullable
            +                               TransferListener listener)
            +
            Deprecated.
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            callFactory - A Call.Factory (typically an OkHttpClient) for use + by the sources created by the factory.
            +
            userAgent - An optional User-Agent string.
            +
            listener - An optional listener.
            +
            +
          • +
          + + + +
            +
          • +

            OkHttpDataSourceFactory

            +
            public OkHttpDataSourceFactory​(okhttp3.Call.Factory callFactory,
            +                               @Nullable
            +                               String userAgent,
            +                               @Nullable
            +                               TransferListener listener,
            +                               @Nullable
            +                               okhttp3.CacheControl cacheControl)
            +
            Deprecated.
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            callFactory - A Call.Factory (typically an OkHttpClient) for use + by the sources created by the factory.
            +
            userAgent - An optional User-Agent string.
            +
            listener - An optional listener.
            +
            cacheControl - An optional CacheControl for setting the Cache-Control header.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-frame.html new file mode 100644 index 0000000000..67dd46b574 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-frame.html @@ -0,0 +1,29 @@ + + + + +com.google.android.exoplayer2.ext.okhttp (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.okhttp

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-summary.html new file mode 100644 index 0000000000..1d8667b82b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-summary.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.ext.okhttp (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.okhttp

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-tree.html new file mode 100644 index 0000000000..df385e7611 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/okhttp/package-tree.html @@ -0,0 +1,171 @@ + + + + +com.google.android.exoplayer2.ext.okhttp Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.okhttp

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html new file mode 100644 index 0000000000..54972bd9bc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/LibopusAudioRenderer.html @@ -0,0 +1,538 @@ + + + + +LibopusAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LibopusAudioRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LibopusAudioRenderer

            +
            public LibopusAudioRenderer()
            +
          • +
          + + + +
            +
          • +

            LibopusAudioRenderer

            +
            public LibopusAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioProcessor... audioProcessors)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioProcessors - Optional AudioProcessors that will process audio before output.
            +
            +
          • +
          + + + +
            +
          • +

            LibopusAudioRenderer

            +
            public LibopusAudioRenderer​(@Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            AudioRendererEventListener eventListener,
            +                            AudioSink audioSink)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            audioSink - The sink to which audio will be output.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoder.html new file mode 100644 index 0000000000..f2d5ab3088 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoder.html @@ -0,0 +1,534 @@ + + + + +OpusDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OpusDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoderException.html new file mode 100644 index 0000000000..1823fde5a8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusDecoderException.html @@ -0,0 +1,251 @@ + + + + +OpusDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OpusDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusLibrary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusLibrary.html new file mode 100644 index 0000000000..64035936bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/OpusLibrary.html @@ -0,0 +1,358 @@ + + + + +OpusLibrary (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OpusLibrary

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.opus.OpusLibrary
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class OpusLibrary
        +extends Object
        +
        Configures and queries the underlying native library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setLibraries

            +
            public static void setLibraries​(Class<? extends ExoMediaCrypto> exoMediaCryptoType,
            +                                String... libraries)
            +
            Override the names of the Opus native libraries. If an application wishes to call this method, + it must do so before calling any other method defined by this class, and before instantiating a + LibopusAudioRenderer instance.
            +
            +
            Parameters:
            +
            exoMediaCryptoType - The ExoMediaCrypto type expected for decoding protected + content.
            +
            libraries - The names of the Opus native libraries.
            +
            +
          • +
          + + + +
            +
          • +

            isAvailable

            +
            public static boolean isAvailable()
            +
            Returns whether the underlying library is available, loading it if necessary.
            +
          • +
          + + + +
            +
          • +

            getVersion

            +
            @Nullable
            +public static String getVersion()
            +
            Returns the version of the underlying library if available, or null otherwise.
            +
          • +
          + + + +
            +
          • +

            matchesExpectedExoMediaCryptoType

            +
            public static boolean matchesExpectedExoMediaCryptoType​(Class<? extends ExoMediaCrypto> exoMediaCryptoType)
            +
            Returns whether the given ExoMediaCrypto type matches the one required for decoding + protected content.
            +
          • +
          + + + +
            +
          • +

            opusGetVersion

            +
            public static String opusGetVersion()
            +
          • +
          + + + +
            +
          • +

            opusIsSecureDecodeSupported

            +
            public static boolean opusIsSecureDecodeSupported()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-frame.html new file mode 100644 index 0000000000..b3d4748c40 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-frame.html @@ -0,0 +1,33 @@ + + + + +com.google.android.exoplayer2.ext.opus (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.opus

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-summary.html new file mode 100644 index 0000000000..cc03487518 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-summary.html @@ -0,0 +1,197 @@ + + + + +com.google.android.exoplayer2.ext.opus (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.opus

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        LibopusAudioRenderer +
        Decodes and renders audio using the native Opus decoder.
        +
        OpusDecoder +
        Opus decoder.
        +
        OpusLibrary +
        Configures and queries the underlying native library.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Exception Summary 
        ExceptionDescription
        OpusDecoderException +
        Thrown when an Opus decoder error occurs.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-tree.html new file mode 100644 index 0000000000..7966f7412d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/opus/package-tree.html @@ -0,0 +1,188 @@ + + + + +com.google.android.exoplayer2.ext.opus Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.opus

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html new file mode 100644 index 0000000000..4ad7c1678c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.html @@ -0,0 +1,444 @@ + + + + +RtmpDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RtmpDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RtmpDataSource

            +
            public RtmpDataSource()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws net.butterflytv.rtmp_client.RtmpClient.RtmpIOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            net.butterflytv.rtmp_client.RtmpClient.RtmpIOException
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html new file mode 100644 index 0000000000..75ab6e0384 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html @@ -0,0 +1,330 @@ + + + + +RtmpDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RtmpDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.rtmp.RtmpDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-frame.html new file mode 100644 index 0000000000..601bee6f6f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.ext.rtmp (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.rtmp

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-summary.html new file mode 100644 index 0000000000..b7661e5850 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.ext.rtmp (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.rtmp

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-tree.html new file mode 100644 index 0000000000..7e400d9bd6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/rtmp/package-tree.html @@ -0,0 +1,166 @@ + + + + +com.google.android.exoplayer2.ext.rtmp Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.rtmp

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.html new file mode 100644 index 0000000000..3620670a5d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/LibvpxVideoRenderer.html @@ -0,0 +1,635 @@ + + + + +LibvpxVideoRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LibvpxVideoRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LibvpxVideoRenderer

            +
            public LibvpxVideoRenderer​(long allowedJoiningTimeMs)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            +
          • +
          + + + +
            +
          • +

            LibvpxVideoRenderer

            +
            public LibvpxVideoRenderer​(long allowedJoiningTimeMs,
            +                           @Nullable
            +                           Handler eventHandler,
            +                           @Nullable
            +                           VideoRendererEventListener eventListener,
            +                           int maxDroppedFramesToNotify)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          + + + +
            +
          • +

            LibvpxVideoRenderer

            +
            public LibvpxVideoRenderer​(long allowedJoiningTimeMs,
            +                           @Nullable
            +                           Handler eventHandler,
            +                           @Nullable
            +                           VideoRendererEventListener eventListener,
            +                           int maxDroppedFramesToNotify,
            +                           int threads,
            +                           int numInputBuffers,
            +                           int numOutputBuffers)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            threads - Number of threads libvpx will use to decode.
            +
            numInputBuffers - Number of input buffers.
            +
            numOutputBuffers - Number of output buffers.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoder.html new file mode 100644 index 0000000000..1ccc66f6de --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoder.html @@ -0,0 +1,547 @@ + + + + +VpxDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VpxDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoderException.html new file mode 100644 index 0000000000..280877164a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxDecoderException.html @@ -0,0 +1,251 @@ + + + + +VpxDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VpxDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxLibrary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxLibrary.html new file mode 100644 index 0000000000..f41a2141b7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxLibrary.html @@ -0,0 +1,381 @@ + + + + +VpxLibrary (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VpxLibrary

      +
      +
      + +
      +
        +
      • +
        +
        public final class VpxLibrary
        +extends Object
        +
        Configures and queries the underlying native library.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setLibraries

            +
            public static void setLibraries​(Class<? extends ExoMediaCrypto> exoMediaCryptoType,
            +                                String... libraries)
            +
            Override the names of the Vpx native libraries. If an application wishes to call this method, + it must do so before calling any other method defined by this class, and before instantiating a + LibvpxVideoRenderer instance.
            +
            +
            Parameters:
            +
            exoMediaCryptoType - The ExoMediaCrypto type required for decoding protected + content.
            +
            libraries - The names of the Vpx native libraries.
            +
            +
          • +
          + + + +
            +
          • +

            isAvailable

            +
            public static boolean isAvailable()
            +
            Returns whether the underlying library is available, loading it if necessary.
            +
          • +
          + + + +
            +
          • +

            getVersion

            +
            @Nullable
            +public static String getVersion()
            +
            Returns the version of the underlying library if available, or null otherwise.
            +
          • +
          + + + +
            +
          • +

            getBuildConfig

            +
            @Nullable
            +public static String getBuildConfig()
            +
            Returns the configuration string with which the underlying library was built if available, or + null otherwise.
            +
          • +
          + + + +
            +
          • +

            isHighBitDepthSupported

            +
            public static boolean isHighBitDepthSupported()
            +
            Returns true if the underlying libvpx library supports high bit depth.
            +
          • +
          + + + +
            +
          • +

            matchesExpectedExoMediaCryptoType

            +
            public static boolean matchesExpectedExoMediaCryptoType​(Class<? extends ExoMediaCrypto> exoMediaCryptoType)
            +
            Returns whether the given ExoMediaCrypto type matches the one required for decoding + protected content.
            +
          • +
          + + + +
            +
          • +

            vpxIsSecureDecodeSupported

            +
            public static boolean vpxIsSecureDecodeSupported()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxOutputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxOutputBuffer.html new file mode 100644 index 0000000000..5322462061 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/VpxOutputBuffer.html @@ -0,0 +1,342 @@ + + + + +VpxOutputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VpxOutputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-frame.html new file mode 100644 index 0000000000..38060fc89c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-frame.html @@ -0,0 +1,34 @@ + + + + +com.google.android.exoplayer2.ext.vp9 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.vp9

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-summary.html new file mode 100644 index 0000000000..6d6e698146 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-summary.html @@ -0,0 +1,203 @@ + + + + +com.google.android.exoplayer2.ext.vp9 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.vp9

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-tree.html new file mode 100644 index 0000000000..ad83e39674 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/vp9/package-tree.html @@ -0,0 +1,201 @@ + + + + +com.google.android.exoplayer2.ext.vp9 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.vp9

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html new file mode 100644 index 0000000000..105687d805 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.SchedulerWorker.html @@ -0,0 +1,348 @@ + + + + +WorkManagerScheduler.SchedulerWorker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WorkManagerScheduler.SchedulerWorker

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • androidx.work.ListenableWorker
        • +
        • +
            +
          • androidx.work.Worker
          • +
          • +
              +
            • com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler.SchedulerWorker
            • +
            +
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        WorkManagerScheduler
        +
        +
        +
        public static final class WorkManagerScheduler.SchedulerWorker
        +extends androidx.work.Worker
        +
        A Worker that starts the target service if the requirements are met.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          +
            +
          • + + +

            Nested classes/interfaces inherited from class androidx.work.ListenableWorker

            +androidx.work.ListenableWorker.Result
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          SchedulerWorker​(Context context, + androidx.work.WorkerParameters workerParams) 
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          androidx.work.ListenableWorker.ResultdoWork() 
          +
            +
          • + + +

            Methods inherited from class androidx.work.ListenableWorker

            +getApplicationContext, getBackgroundExecutor, getId, getInputData, getNetwork, getRunAttemptCount, getTags, getTaskExecutor, getTriggeredContentAuthorities, getTriggeredContentUris, getWorkerFactory, isRunInForeground, isStopped, isUsed, onStopped, setForegroundAsync, setProgressAsync, setUsed, stop
          • +
          + +
            +
          • + + +

            Methods inherited from class androidx.work.Worker

            +startWork
          • +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SchedulerWorker

            +
            public SchedulerWorker​(Context context,
            +                       androidx.work.WorkerParameters workerParams)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            doWork

            +
            public androidx.work.ListenableWorker.Result doWork()
            +
            +
            Specified by:
            +
            doWork in class androidx.work.Worker
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html new file mode 100644 index 0000000000..63ba62a198 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/WorkManagerScheduler.html @@ -0,0 +1,434 @@ + + + + +WorkManagerScheduler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WorkManagerScheduler

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Scheduler
        +
        +
        +
        public final class WorkManagerScheduler
        +extends Object
        +implements Scheduler
        +
        A Scheduler that uses WorkManager.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            schedule

            +
            public boolean schedule​(Requirements requirements,
            +                        String servicePackage,
            +                        String serviceAction)
            +
            Description copied from interface: Scheduler
            +
            Schedules a service to be started in the foreground when some Requirements are met. + Anything that was previously scheduled will be canceled. + +

            The service to be started must be declared in the manifest of servicePackage with an + intent filter containing serviceAction. Note that when started with + serviceAction, the service must call Service.startForeground(int, Notification) to + make itself a foreground service, as documented by ContextWrapper.startForegroundService(Intent).

            +
            +
            Specified by:
            +
            schedule in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements.
            +
            servicePackage - The package name.
            +
            serviceAction - The action with which the service will be started.
            +
            Returns:
            +
            Whether scheduling was successful.
            +
            +
          • +
          + + + +
            +
          • +

            cancel

            +
            public boolean cancel()
            +
            Description copied from interface: Scheduler
            +
            Cancels anything that was previously scheduled, or else does nothing.
            +
            +
            Specified by:
            +
            cancel in interface Scheduler
            +
            Returns:
            +
            Whether cancellation was successful.
            +
            +
          • +
          + + + +
            +
          • +

            getSupportedRequirements

            +
            public Requirements getSupportedRequirements​(Requirements requirements)
            +
            Description copied from interface: Scheduler
            +
            Checks whether this Scheduler supports the provided Requirements. If all of the + requirements are supported then the same Requirements instance is returned. If not then + a new instance is returned containing the subset of the requirements that are supported.
            +
            +
            Specified by:
            +
            getSupportedRequirements in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements to check.
            +
            Returns:
            +
            The supported requirements.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-frame.html new file mode 100644 index 0000000000..ba4d92938f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.ext.workmanager (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ext.workmanager

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-summary.html new file mode 100644 index 0000000000..d9b4dbffab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.ext.workmanager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ext.workmanager

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-tree.html new file mode 100644 index 0000000000..736af9d203 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ext/workmanager/package-tree.html @@ -0,0 +1,170 @@ + + + + +com.google.android.exoplayer2.ext.workmanager Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ext.workmanager

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html new file mode 100644 index 0000000000..c461d69396 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html @@ -0,0 +1,423 @@ + + + + +BinarySearchSeeker.BinarySearchSeekMap (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinarySearchSeeker.BinarySearchSeekMap

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BinarySearchSeekMap

            +
            public BinarySearchSeekMap​(BinarySearchSeeker.SeekTimestampConverter seekTimestampConverter,
            +                           long durationUs,
            +                           long floorTimePosition,
            +                           long ceilingTimePosition,
            +                           long floorBytePosition,
            +                           long ceilingBytePosition,
            +                           long approxBytesPerFrame)
            +
            Constructs a new instance of this seek map.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.DefaultSeekTimestampConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.DefaultSeekTimestampConverter.html new file mode 100644 index 0000000000..c7d84e857a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.DefaultSeekTimestampConverter.html @@ -0,0 +1,317 @@ + + + + +BinarySearchSeeker.DefaultSeekTimestampConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinarySearchSeeker.DefaultSeekTimestampConverter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.BinarySearchSeeker.DefaultSeekTimestampConverter
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html new file mode 100644 index 0000000000..0802b4bdd6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekOperationParams.html @@ -0,0 +1,335 @@ + + + + +BinarySearchSeeker.SeekOperationParams (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinarySearchSeeker.SeekOperationParams

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekOperationParams
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        BinarySearchSeeker
        +
        +
        +
        protected static class BinarySearchSeeker.SeekOperationParams
        +extends Object
        +
        Contains parameters for a pending seek operation by BinarySearchSeeker. + +

        This class holds parameters for a binary-search for the targetTimePosition in the + range [floorPosition, ceilingPosition).

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + +
          Constructors 
          ModifierConstructorDescription
          protected SeekOperationParams​(long seekTimeUs, + long targetTimePosition, + long floorTimePosition, + long ceilingTimePosition, + long floorBytePosition, + long ceilingBytePosition, + long approxBytesPerFrame) 
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeekOperationParams

            +
            protected SeekOperationParams​(long seekTimeUs,
            +                              long targetTimePosition,
            +                              long floorTimePosition,
            +                              long ceilingTimePosition,
            +                              long floorBytePosition,
            +                              long ceilingBytePosition,
            +                              long approxBytesPerFrame)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            calculateNextSearchBytePosition

            +
            protected static long calculateNextSearchBytePosition​(long targetTimePosition,
            +                                                      long floorTimePosition,
            +                                                      long ceilingTimePosition,
            +                                                      long floorBytePosition,
            +                                                      long ceilingBytePosition,
            +                                                      long approxBytesPerFrame)
            +
            Returns the next position in the stream to search for target frame, given [floorBytePosition, + ceilingBytePosition), with corresponding [floorTimePosition, ceilingTimePosition).
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html new file mode 100644 index 0000000000..b42f1ecc6b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.SeekTimestampConverter.html @@ -0,0 +1,258 @@ + + + + +BinarySearchSeeker.SeekTimestampConverter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface BinarySearchSeeker.SeekTimestampConverter

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            timeUsToTargetTime

            +
            long timeUsToTargetTime​(long timeUs)
            +
            Converts a seek time in microseconds into target timestamp for the BinarySearchSeeker.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSearchResult.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSearchResult.html new file mode 100644 index 0000000000..d66c9c5562 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSearchResult.html @@ -0,0 +1,440 @@ + + + + +BinarySearchSeeker.TimestampSearchResult (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinarySearchSeeker.TimestampSearchResult

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            TYPE_TARGET_TIMESTAMP_FOUND

            +
            public static final int TYPE_TARGET_TIMESTAMP_FOUND
            +
            The search found a timestamp that it deems close enough to the given target.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_POSITION_OVERESTIMATED

            +
            public static final int TYPE_POSITION_OVERESTIMATED
            +
            The search found only timestamps larger than the target timestamp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_POSITION_UNDERESTIMATED

            +
            public static final int TYPE_POSITION_UNDERESTIMATED
            +
            The search found only timestamps smaller than the target timestamp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_NO_TIMESTAMP

            +
            public static final int TYPE_NO_TIMESTAMP
            +
            The search didn't find any timestamps.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html new file mode 100644 index 0000000000..6c520e2267 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.TimestampSeeker.html @@ -0,0 +1,285 @@ + + + + +BinarySearchSeeker.TimestampSeeker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface BinarySearchSeeker.TimestampSeeker

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        BinarySearchSeeker
        +
        +
        +
        protected static interface BinarySearchSeeker.TimestampSeeker
        +
        A seeker that looks for a given timestamp from an input.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            searchForTimestamp

            +
            BinarySearchSeeker.TimestampSearchResult searchForTimestamp​(ExtractorInput input,
            +                                                            long targetTimestamp)
            +                                                     throws IOException
            +
            Searches a limited window of the provided input for a target timestamp. The size of the + window is implementation specific, but should be small enough such that it's reasonable for + multiple such reads to occur during a seek operation.
            +
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked.
            +
            targetTimestamp - The target timestamp.
            +
            Returns:
            +
            A BinarySearchSeeker.TimestampSearchResult that describes the result of the search.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            onSeekFinished

            +
            default void onSeekFinished()
            +
            Called when a seek operation finishes.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.html new file mode 100644 index 0000000000..784ecdb749 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.html @@ -0,0 +1,629 @@ + + + + +BinarySearchSeeker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinarySearchSeeker

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.BinarySearchSeeker
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public abstract class BinarySearchSeeker
        +extends Object
        +
        A seeker that supports seeking within a stream by searching for the target frame using binary + search. + +

        This seeker operates on a stream that contains multiple frames (or samples). Each frame is + associated with some kind of timestamps, such as stream time, or frame indices. Given a target + seek time, the seeker will find the corresponding target timestamp, and perform a search + operation within the stream to identify the target frame and return the byte position in the + stream of the target frame.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BinarySearchSeeker

            +
            protected BinarySearchSeeker​(BinarySearchSeeker.SeekTimestampConverter seekTimestampConverter,
            +                             BinarySearchSeeker.TimestampSeeker timestampSeeker,
            +                             long durationUs,
            +                             long floorTimePosition,
            +                             long ceilingTimePosition,
            +                             long floorBytePosition,
            +                             long ceilingBytePosition,
            +                             long approxBytesPerFrame,
            +                             int minimumSearchRange)
            +
            Constructs an instance.
            +
            +
            Parameters:
            +
            seekTimestampConverter - The BinarySearchSeeker.SeekTimestampConverter that converts seek time in + stream time into target timestamp.
            +
            timestampSeeker - A BinarySearchSeeker.TimestampSeeker that will be used to search for timestamps + within the stream.
            +
            durationUs - The duration of the stream in microseconds.
            +
            floorTimePosition - The minimum timestamp value (inclusive) in the stream.
            +
            ceilingTimePosition - The minimum timestamp value (exclusive) in the stream.
            +
            floorBytePosition - The starting position of the frame with minimum timestamp value + (inclusive) in the stream.
            +
            ceilingBytePosition - The position after the frame with maximum timestamp value in the + stream.
            +
            approxBytesPerFrame - Approximated bytes per frame.
            +
            minimumSearchRange - The minimum byte range that this binary seeker will operate on. If + the remaining search range is smaller than this value, the search will stop, and the seeker + will return the position at the floor of the range as the result.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSeekMap

            +
            public final SeekMap getSeekMap()
            +
            Returns the seek map for the stream.
            +
          • +
          + + + +
            +
          • +

            setSeekTargetUs

            +
            public final void setSeekTargetUs​(long timeUs)
            +
            Sets the target time in microseconds within the stream to seek to.
            +
            +
            Parameters:
            +
            timeUs - The target time in microseconds within the stream.
            +
            +
          • +
          + + + +
            +
          • +

            isSeeking

            +
            public final boolean isSeeking()
            +
            Returns whether the last operation set by setSeekTargetUs(long) is still pending.
            +
          • +
          + + + +
            +
          • +

            handlePendingSeek

            +
            public int handlePendingSeek​(ExtractorInput input,
            +                             PositionHolder seekPositionHolder)
            +                      throws IOException
            +
            Continues to handle the pending seek operation. Returns one of the RESULT_ values from + Extractor.
            +
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPositionHolder - If Extractor.RESULT_SEEK is returned, this holder is updated + to hold the position of the required seek.
            +
            Returns:
            +
            One of the RESULT_ values defined in Extractor.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            markSeekOperationFinished

            +
            protected final void markSeekOperationFinished​(boolean foundTargetFrame,
            +                                               long resultPosition)
            +
          • +
          + + + +
            +
          • +

            onSeekOperationFinished

            +
            protected void onSeekOperationFinished​(boolean foundTargetFrame,
            +                                       long resultPosition)
            +
          • +
          + + + + + + + +
            +
          • +

            seekToPosition

            +
            protected final int seekToPosition​(ExtractorInput input,
            +                                   long position,
            +                                   PositionHolder seekPositionHolder)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/CeaUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/CeaUtil.html new file mode 100644 index 0000000000..fd5cacc9a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/CeaUtil.html @@ -0,0 +1,365 @@ + + + + +CeaUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CeaUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class CeaUtil
        +extends Object
        +
        Utility methods for handling CEA-608/708 messages. Defined in A/53 Part 4:2009.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            USER_DATA_IDENTIFIER_GA94

            +
            public static final int USER_DATA_IDENTIFIER_GA94
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            USER_DATA_TYPE_CODE_MPEG_CC

            +
            public static final int USER_DATA_TYPE_CODE_MPEG_CC
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            consume

            +
            public static void consume​(long presentationTimeUs,
            +                           ParsableByteArray seiBuffer,
            +                           TrackOutput[] outputs)
            +
            Consumes the unescaped content of an SEI NAL unit, writing the content of any CEA-608/708 + messages as samples to all of the provided outputs.
            +
            +
            Parameters:
            +
            presentationTimeUs - The presentation time in microseconds for any samples.
            +
            seiBuffer - The unescaped SEI NAL unit data, excluding the NAL unit start code and type.
            +
            outputs - The outputs to which any samples should be written.
            +
            +
          • +
          + + + +
            +
          • +

            consumeCcData

            +
            public static void consumeCcData​(long presentationTimeUs,
            +                                 ParsableByteArray ccDataBuffer,
            +                                 TrackOutput[] outputs)
            +
            Consumes caption data (cc_data), writing the content as samples to all of the provided outputs.
            +
            +
            Parameters:
            +
            presentationTimeUs - The presentation time in microseconds for any samples.
            +
            ccDataBuffer - The buffer containing the caption data.
            +
            outputs - The outputs to which any samples should be written.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ChunkIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ChunkIndex.html new file mode 100644 index 0000000000..87a95fa5a8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ChunkIndex.html @@ -0,0 +1,548 @@ + + + + +ChunkIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChunkIndex

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ChunkIndex
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SeekMap
        +
        +
        +
        public final class ChunkIndex
        +extends Object
        +implements SeekMap
        +
        Defines chunks of samples within a media stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            length

            +
            public final int length
            +
            The number of chunks.
            +
          • +
          + + + +
            +
          • +

            sizes

            +
            public final int[] sizes
            +
            The chunk sizes, in bytes.
            +
          • +
          + + + +
            +
          • +

            offsets

            +
            public final long[] offsets
            +
            The chunk byte offsets.
            +
          • +
          + + + +
            +
          • +

            durationsUs

            +
            public final long[] durationsUs
            +
            The chunk durations, in microseconds.
            +
          • +
          + + + +
            +
          • +

            timesUs

            +
            public final long[] timesUs
            +
            The start time of each chunk, in microseconds.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ChunkIndex

            +
            public ChunkIndex​(int[] sizes,
            +                  long[] offsets,
            +                  long[] durationsUs,
            +                  long[] timesUs)
            +
            +
            Parameters:
            +
            sizes - The chunk sizes, in bytes.
            +
            offsets - The chunk byte offsets.
            +
            durationsUs - The chunk durations, in microseconds.
            +
            timesUs - The start time of each chunk, in microseconds.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getChunkIndex

            +
            public int getChunkIndex​(long timeUs)
            +
            Obtains the index of the chunk corresponding to a given time.
            +
            +
            Parameters:
            +
            timeUs - The time, in microseconds.
            +
            Returns:
            +
            The index of the corresponding chunk.
            +
            +
          • +
          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ConstantBitrateSeekMap.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ConstantBitrateSeekMap.html new file mode 100644 index 0000000000..69ddba7649 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ConstantBitrateSeekMap.html @@ -0,0 +1,427 @@ + + + + +ConstantBitrateSeekMap (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ConstantBitrateSeekMap

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SeekMap
        +
        +
        +
        public class ConstantBitrateSeekMap
        +extends Object
        +implements SeekMap
        +
        A SeekMap implementation that assumes the stream has a constant bitrate and consists of + multiple independent frames of the same size. Seek points are calculated to be at frame + boundaries.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ConstantBitrateSeekMap

            +
            public ConstantBitrateSeekMap​(long inputLength,
            +                              long firstFrameBytePosition,
            +                              int bitrate,
            +                              int frameSize)
            +
            Constructs a new instance from a stream.
            +
            +
            Parameters:
            +
            inputLength - The length of the stream in bytes, or C.LENGTH_UNSET if unknown.
            +
            firstFrameBytePosition - The byte-position of the first frame in the stream.
            +
            bitrate - The bitrate (which is assumed to be constant in the stream).
            +
            frameSize - The size of each frame in the stream in bytes. May be C.LENGTH_UNSET + if unknown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getTimeUsAtPosition

            +
            public long getTimeUsAtPosition​(long position)
            +
            Returns the stream time in microseconds for a given position.
            +
            +
            Parameters:
            +
            position - The stream byte-position.
            +
            Returns:
            +
            The stream time in microseconds for the given position.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorInput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorInput.html new file mode 100644 index 0000000000..0a8807056d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorInput.html @@ -0,0 +1,842 @@ + + + + +DefaultExtractorInput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultExtractorInput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.DefaultExtractorInput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultExtractorInput

            +
            public DefaultExtractorInput​(DataReader dataReader,
            +                             long position,
            +                             long length)
            +
            +
            Parameters:
            +
            dataReader - The wrapped DataReader.
            +
            position - The initial position in the stream.
            +
            length - The length of the stream, or C.LENGTH_UNSET if it is unknown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            read

            +
            public int read​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Reads up to length bytes from the input and resets the peek position. + +

            This method blocks until at least one byte of data can be read, the end of the input is + detected, or an exception is thrown.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Specified by:
            +
            read in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public boolean readFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.read(byte[], int, int), but reads the requested length in full.
            +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the read was successful. False if allowEndOfInput=true and the end of + the input was encountered having read no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the read + (i.e. having read at least one byte, but fewer than length), or if no bytes were + read and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public void readFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            skipFully

            +
            public boolean skipFully​(int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.readFully(byte[], int, int, boolean), except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            skipFully in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes to skip from the input.
            +
            allowEndOfInput - True if encountering the end of the input having skipped no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the skip was successful. False if allowEndOfInput=true and the end of + the input was encountered having skipped no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the skip + (i.e. having skipped at least one byte, but fewer than length), or if no bytes were + skipped and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            peek

            +
            public int peek​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Peeks up to length bytes from the peek position. The current read position is left + unchanged. + +

            This method blocks until at least one byte of data can be peeked, the end of the input is + detected, or an exception is thrown. + +

            Calling ExtractorInput.resetPeekPosition() resets the peek position to equal the current read + position, so the caller can peek the same data again. Reading or skipping also resets the peek + position.

            +
            +
            Specified by:
            +
            peek in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to peek from the input.
            +
            Returns:
            +
            The number of bytes peeked, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public boolean peekFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.peek(byte[], int, int), but peeks the requested length in full.
            +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            allowEndOfInput - True if encountering the end of the input having peeked no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the peek was successful. False if allowEndOfInput=true and the end of + the input was encountered having peeked no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the peek + (i.e. having peeked at least one byte, but fewer than length), or if no bytes were + peeked and allowEndOfInput is false.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public void peekFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            advancePeekPosition

            +
            public boolean advancePeekPosition​(int length,
            +                                   boolean allowEndOfInput)
            +                            throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Advances the peek position by length bytes. Like ExtractorInput.peekFully(byte[], int, int, + boolean) except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            advancePeekPosition in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes by which to advance the peek position.
            +
            allowEndOfInput - True if encountering the end of the input before advancing is allowed, + and should result in false being returned. False if it should be considered an + error, causing an EOFException to be thrown. See note in class Javadoc.
            +
            Returns:
            +
            True if advancing the peek position was successful. False if + allowEndOfInput=true and the end of the input was encountered before advancing over any + data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially advanced (i.e. having + advanced by at least one byte, but fewer than length), or if the end of input was + encountered before advancing and allowEndOfInput is false.
            +
            IOException - If an error occurs advancing the peek position.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            resetPeekPosition

            +
            public void resetPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Resets the peek position to equal the current read position.
            +
            +
            Specified by:
            +
            resetPeekPosition in interface ExtractorInput
            +
            +
          • +
          + + + +
            +
          • +

            getPeekPosition

            +
            public long getPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current peek position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPeekPosition in interface ExtractorInput
            +
            Returns:
            +
            The peek position (byte offset) in the stream.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public long getPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current read position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPosition in interface ExtractorInput
            +
            Returns:
            +
            The read position (byte offset) in the stream.
            +
            +
          • +
          + + + + + + + + + +
            +
          • +

            setRetryPosition

            +
            public <E extends Throwable> void setRetryPosition​(long position,
            +                                                   E e)
            +                                            throws E extends Throwable
            +
            Description copied from interface: ExtractorInput
            +
            Called when reading fails and the required retry position is different from the last position. + After setting the retry position it throws the given Throwable.
            +
            +
            Specified by:
            +
            setRetryPosition in interface ExtractorInput
            +
            Type Parameters:
            +
            E - Type of Throwable to be thrown.
            +
            Parameters:
            +
            position - The required retry position.
            +
            e - Throwable to be thrown.
            +
            Throws:
            +
            E - The given Throwable object.
            +
            E extends Throwable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html new file mode 100644 index 0000000000..0dc431e25a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DefaultExtractorsFactory.html @@ -0,0 +1,676 @@ + + + + +DefaultExtractorsFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultExtractorsFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultExtractorsFactory

            +
            public DefaultExtractorsFactory()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyExtractorOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyExtractorOutput.html new file mode 100644 index 0000000000..61a55e8040 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyExtractorOutput.html @@ -0,0 +1,386 @@ + + + + +DummyExtractorOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummyExtractorOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.DummyExtractorOutput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DummyExtractorOutput

            +
            public DummyExtractorOutput()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyTrackOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyTrackOutput.html new file mode 100644 index 0000000000..11b5ba2452 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/DummyTrackOutput.html @@ -0,0 +1,466 @@ + + + + +DummyTrackOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummyTrackOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.DummyTrackOutput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DummyTrackOutput

            +
            public DummyTrackOutput()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            format

            +
            public void format​(Format format)
            +
            Description copied from interface: TrackOutput
            +
            Called when the Format of the track has been extracted from the stream.
            +
            +
            Specified by:
            +
            format in interface TrackOutput
            +
            Parameters:
            +
            format - The extracted Format.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public int sampleData​(DataReader input,
            +                      int length,
            +                      boolean allowEndOfInput,
            +                      @SampleDataPart
            +                      int sampleDataPart)
            +               throws IOException
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            input - A DataReader from which to read the sample data.
            +
            length - The maximum length to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it + should be considered an error, causing an EOFException to be thrown.
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            Returns:
            +
            The number of bytes appended.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public void sampleData​(ParsableByteArray data,
            +                       int length,
            +                       @SampleDataPart
            +                       int sampleDataPart)
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            data - A ParsableByteArray from which to read the sample data.
            +
            length - The number of bytes to read, starting from data.getPosition().
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.ReadResult.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.ReadResult.html new file mode 100644 index 0000000000..bcb5bcfb73 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.ReadResult.html @@ -0,0 +1,190 @@ + + + + +Extractor.ReadResult (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Extractor.ReadResult

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.html new file mode 100644 index 0000000000..b680dde585 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Extractor.html @@ -0,0 +1,499 @@ + + + + +Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Extractor

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorInput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorInput.html new file mode 100644 index 0000000000..dd1d09663b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorInput.html @@ -0,0 +1,774 @@ + + + + +ExtractorInput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExtractorInput

      +
      +
      +
      +
        +
      • +
        +
        All Superinterfaces:
        +
        DataReader
        +
        +
        +
        All Known Implementing Classes:
        +
        DefaultExtractorInput, FakeExtractorInput, ForwardingExtractorInput
        +
        +
        +
        public interface ExtractorInput
        +extends DataReader
        +
        Provides data to be consumed by an Extractor. + +

        This interface provides two modes of accessing the underlying input. See the subheadings below + for more info about each mode. + +

          +
        • The read()/peek() and skip() methods provide InputStream-like + byte-level access operations. +
        • The read/skip/peekFully() and advancePeekPosition() methods assume the user + wants to read an entire block/frame/header of known length. +
        + +

        InputStream-like methods

        + +

        The read()/peek() and skip() methods provide InputStream-like + byte-level access operations. The length parameter is a maximum, and each method returns + the number of bytes actually processed. This may be less than length because the end of + the input was reached, or the method was interrupted, or the operation was aborted early for + another reason. + +

        Block-based methods

        + +

        The read/skip/peekFully() and advancePeekPosition() methods assume the user + wants to read an entire block/frame/header of known length. + +

        These methods all have a variant that takes a boolean allowEndOfInput parameter. This + parameter is intended to be set to true when the caller believes the input might be fully + exhausted before the call is made (i.e. they've previously read/skipped/peeked the final + block/frame/header). It's not intended to allow a partial read (i.e. greater than 0 bytes, + but less than length) to succeed - this will always throw an EOFException from + these methods (a partial read is assumed to indicate a malformed block/frame/header - and + therefore a malformed file). + +

        The expected behaviour of the block-based methods is therefore: + +

          +
        • Already at end-of-input and allowEndOfInput=false: Throw EOFException. +
        • Already at end-of-input and allowEndOfInput=true: Return false. +
        • Encounter end-of-input during read/skip/peek/advance: Throw EOFException + (regardless of allowEndOfInput). +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            read

            +
            int read​(byte[] target,
            +         int offset,
            +         int length)
            +  throws IOException
            +
            Reads up to length bytes from the input and resets the peek position. + +

            This method blocks until at least one byte of data can be read, the end of the input is + detected, or an exception is thrown.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            boolean readFully​(byte[] target,
            +                  int offset,
            +                  int length,
            +                  boolean allowEndOfInput)
            +           throws IOException
            +
            Like read(byte[], int, int), but reads the requested length in full.
            +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the read was successful. False if allowEndOfInput=true and the end of + the input was encountered having read no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the read + (i.e. having read at least one byte, but fewer than length), or if no bytes were + read and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            void readFully​(byte[] target,
            +               int offset,
            +               int length)
            +        throws IOException
            + +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            skip

            +
            int skip​(int length)
            +  throws IOException
            +
            Like read(byte[], int, int), except the data is skipped instead of read.
            +
            +
            Parameters:
            +
            length - The maximum number of bytes to skip from the input.
            +
            Returns:
            +
            The number of bytes skipped, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            skipFully

            +
            boolean skipFully​(int length,
            +                  boolean allowEndOfInput)
            +           throws IOException
            +
            Like readFully(byte[], int, int, boolean), except the data is skipped instead of read.
            +
            +
            Parameters:
            +
            length - The number of bytes to skip from the input.
            +
            allowEndOfInput - True if encountering the end of the input having skipped no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the skip was successful. False if allowEndOfInput=true and the end of + the input was encountered having skipped no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the skip + (i.e. having skipped at least one byte, but fewer than length), or if no bytes were + skipped and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            skipFully

            +
            void skipFully​(int length)
            +        throws IOException
            +
            Like readFully(byte[], int, int), except the data is skipped instead of read. + +

            Encountering the end of input is always considered an error, and will result in an EOFException being thrown.

            +
            +
            Parameters:
            +
            length - The number of bytes to skip from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peek

            +
            int peek​(byte[] target,
            +         int offset,
            +         int length)
            +  throws IOException
            +
            Peeks up to length bytes from the peek position. The current read position is left + unchanged. + +

            This method blocks until at least one byte of data can be peeked, the end of the input is + detected, or an exception is thrown. + +

            Calling resetPeekPosition() resets the peek position to equal the current read + position, so the caller can peek the same data again. Reading or skipping also resets the peek + position.

            +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to peek from the input.
            +
            Returns:
            +
            The number of bytes peeked, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            boolean peekFully​(byte[] target,
            +                  int offset,
            +                  int length,
            +                  boolean allowEndOfInput)
            +           throws IOException
            +
            Like peek(byte[], int, int), but peeks the requested length in full.
            +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            allowEndOfInput - True if encountering the end of the input having peeked no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the peek was successful. False if allowEndOfInput=true and the end of + the input was encountered having peeked no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the peek + (i.e. having peeked at least one byte, but fewer than length), or if no bytes were + peeked and allowEndOfInput is false.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            void peekFully​(byte[] target,
            +               int offset,
            +               int length)
            +        throws IOException
            + +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            advancePeekPosition

            +
            boolean advancePeekPosition​(int length,
            +                            boolean allowEndOfInput)
            +                     throws IOException
            +
            Advances the peek position by length bytes. Like peekFully(byte[], int, int, + boolean) except the data is skipped instead of read.
            +
            +
            Parameters:
            +
            length - The number of bytes by which to advance the peek position.
            +
            allowEndOfInput - True if encountering the end of the input before advancing is allowed, + and should result in false being returned. False if it should be considered an + error, causing an EOFException to be thrown. See note in class Javadoc.
            +
            Returns:
            +
            True if advancing the peek position was successful. False if + allowEndOfInput=true and the end of the input was encountered before advancing over any + data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially advanced (i.e. having + advanced by at least one byte, but fewer than length), or if the end of input was + encountered before advancing and allowEndOfInput is false.
            +
            IOException - If an error occurs advancing the peek position.
            +
            +
          • +
          + + + +
            +
          • +

            advancePeekPosition

            +
            void advancePeekPosition​(int length)
            +                  throws IOException
            +
            Advances the peek position by length bytes. Like peekFully(byte[], int, int) + except the data is skipped instead of read.
            +
            +
            Parameters:
            +
            length - The number of bytes to peek from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            resetPeekPosition

            +
            void resetPeekPosition()
            +
            Resets the peek position to equal the current read position.
            +
          • +
          + + + +
            +
          • +

            getPeekPosition

            +
            long getPeekPosition()
            +
            Returns the current peek position (byte offset) in the stream.
            +
            +
            Returns:
            +
            The peek position (byte offset) in the stream.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            long getPosition()
            +
            Returns the current read position (byte offset) in the stream.
            +
            +
            Returns:
            +
            The read position (byte offset) in the stream.
            +
            +
          • +
          + + + +
            +
          • +

            getLength

            +
            long getLength()
            +
            Returns the length of the source stream, or C.LENGTH_UNSET if it is unknown.
            +
            +
            Returns:
            +
            The length of the source stream, or C.LENGTH_UNSET.
            +
            +
          • +
          + + + + + +
            +
          • +

            setRetryPosition

            +
            <E extends Throwable> void setRetryPosition​(long position,
            +                                            E e)
            +                                     throws E extends Throwable
            +
            Called when reading fails and the required retry position is different from the last position. + After setting the retry position it throws the given Throwable.
            +
            +
            Type Parameters:
            +
            E - Type of Throwable to be thrown.
            +
            Parameters:
            +
            position - The required retry position.
            +
            e - Throwable to be thrown.
            +
            Throws:
            +
            E - The given Throwable object.
            +
            E extends Throwable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorOutput.html new file mode 100644 index 0000000000..265ab6d57e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorOutput.html @@ -0,0 +1,348 @@ + + + + +ExtractorOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExtractorOutput

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            track

            +
            TrackOutput track​(int id,
            +                  int type)
            +
            Called by the Extractor to get the TrackOutput for a specific track. + +

            The same TrackOutput is returned if multiple calls are made with the same + id.

            +
            +
            Parameters:
            +
            id - A track identifier.
            +
            type - The type of the track. Typically one of the C + TRACK_TYPE_* constants.
            +
            Returns:
            +
            The TrackOutput for the given track identifier.
            +
            +
          • +
          + + + +
            +
          • +

            endTracks

            +
            void endTracks()
            +
            Called when all tracks have been identified, meaning no new trackId values will be + passed to track(int, int).
            +
          • +
          + + + +
            +
          • +

            seekMap

            +
            void seekMap​(SeekMap seekMap)
            +
            Called when a SeekMap has been extracted from the stream.
            +
            +
            Parameters:
            +
            seekMap - The extracted SeekMap.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorsFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorsFactory.html new file mode 100644 index 0000000000..262af3d42a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ExtractorsFactory.html @@ -0,0 +1,322 @@ + + + + +ExtractorsFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExtractorsFactory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EMPTY

            +
            static final ExtractorsFactory EMPTY
            +
            Extractor factory that returns an empty list of extractors. Can be used whenever Extractors are not required.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createExtractors

            +
            Extractor[] createExtractors()
            +
            Returns an array of new Extractor instances.
            +
          • +
          + + + +
            +
          • +

            createExtractors

            +
            default Extractor[] createExtractors​(Uri uri,
            +                                     Map<String,List<String>> responseHeaders)
            +
            Returns an array of new Extractor instances.
            +
            +
            Parameters:
            +
            uri - The Uri of the media to extract.
            +
            responseHeaders - The response headers of the media to extract, or an empty map if there + are none. The map lookup should be case-insensitive.
            +
            Returns:
            +
            The Extractor instances.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.SampleNumberHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.SampleNumberHolder.html new file mode 100644 index 0000000000..56a0aae7f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.SampleNumberHolder.html @@ -0,0 +1,308 @@ + + + + +FlacFrameReader.SampleNumberHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacFrameReader.SampleNumberHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacFrameReader.SampleNumberHolder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        FlacFrameReader
        +
        +
        +
        public static final class FlacFrameReader.SampleNumberHolder
        +extends Object
        +
        Holds a sample number.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            sampleNumber

            +
            public long sampleNumber
            +
            The sample number.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SampleNumberHolder

            +
            public SampleNumberHolder()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.html new file mode 100644 index 0000000000..15baad14c3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacFrameReader.html @@ -0,0 +1,411 @@ + + + + +FlacFrameReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacFrameReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacFrameReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            checkAndReadFrameHeader

            +
            public static boolean checkAndReadFrameHeader​(ParsableByteArray data,
            +                                              FlacStreamMetadata flacStreamMetadata,
            +                                              int frameStartMarker,
            +                                              FlacFrameReader.SampleNumberHolder sampleNumberHolder)
            +
            Checks whether the given FLAC frame header is valid and, if so, reads it and writes the frame + first sample number in sampleNumberHolder. + +

            If the header is valid, the position of data is moved to the byte following it. + Otherwise, there is no guarantee on the position.

            +
            +
            Parameters:
            +
            data - The array to read the data from, whose position must correspond to the frame + header.
            +
            flacStreamMetadata - The stream metadata.
            +
            frameStartMarker - The frame start marker of the stream.
            +
            sampleNumberHolder - The holder used to contain the sample number.
            +
            Returns:
            +
            Whether the frame header is valid.
            +
            +
          • +
          + + + +
            +
          • +

            checkFrameHeaderFromPeek

            +
            public static boolean checkFrameHeaderFromPeek​(ExtractorInput input,
            +                                               FlacStreamMetadata flacStreamMetadata,
            +                                               int frameStartMarker,
            +                                               FlacFrameReader.SampleNumberHolder sampleNumberHolder)
            +                                        throws IOException
            +
            Checks whether the given FLAC frame header is valid and, if so, writes the frame first sample + number in sampleNumberHolder. + +

            The input peek position is left unchanged.

            +
            +
            Parameters:
            +
            input - The input to get the data from, whose peek position must correspond to the frame + header.
            +
            flacStreamMetadata - The stream metadata.
            +
            frameStartMarker - The frame start marker of the stream.
            +
            sampleNumberHolder - The holder used to contain the sample number.
            +
            Returns:
            +
            Whether the frame header is valid.
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + +
            +
          • +

            getFirstSampleNumber

            +
            public static long getFirstSampleNumber​(ExtractorInput input,
            +                                        FlacStreamMetadata flacStreamMetadata)
            +                                 throws IOException
            +
            Returns the number of the first sample in the given frame. + +

            The read position of input is left unchanged. + +

            If no exception is thrown, the peek position is aligned with the read position. Otherwise, + there is no guarantee on the peek position.

            +
            +
            Parameters:
            +
            input - Input stream to get the sample number from (starting from the read position).
            +
            Returns:
            +
            The frame first sample number.
            +
            Throws:
            +
            ParserException - If an error occurs parsing the sample number.
            +
            IOException - If peeking from the input fails.
            +
            +
          • +
          + + + +
            +
          • +

            readFrameBlockSizeSamplesFromKey

            +
            public static int readFrameBlockSizeSamplesFromKey​(ParsableByteArray data,
            +                                                   int blockSizeKey)
            +
            Reads the given block size.
            +
            +
            Parameters:
            +
            data - The array to read the data from, whose position must correspond to the block size + bits.
            +
            blockSizeKey - The key in the block size lookup table.
            +
            Returns:
            +
            The block size in samples, or -1 if the blockSizeKey is invalid.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.FlacStreamMetadataHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.FlacStreamMetadataHolder.html new file mode 100644 index 0000000000..8200475f22 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.FlacStreamMetadataHolder.html @@ -0,0 +1,310 @@ + + + + +FlacMetadataReader.FlacStreamMetadataHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacMetadataReader.FlacStreamMetadataHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacMetadataReader.FlacStreamMetadataHolder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            flacStreamMetadata

            +
            @Nullable
            +public FlacStreamMetadata flacStreamMetadata
            +
            The FLAC stream metadata.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlacStreamMetadataHolder

            +
            public FlacStreamMetadataHolder​(@Nullable
            +                                FlacStreamMetadata flacStreamMetadata)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.html new file mode 100644 index 0000000000..73792ea3f4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacMetadataReader.html @@ -0,0 +1,490 @@ + + + + +FlacMetadataReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacMetadataReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacMetadataReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            peekId3Metadata

            +
            @Nullable
            +public static Metadata peekId3Metadata​(ExtractorInput input,
            +                                       boolean parseData)
            +                                throws IOException
            +
            Peeks ID3 Data.
            +
            +
            Parameters:
            +
            input - Input stream to peek the ID3 data from.
            +
            parseData - Whether to parse the ID3 frames.
            +
            Returns:
            +
            The parsed ID3 data, or null if there is no such data or if parseData + is false.
            +
            Throws:
            +
            IOException - If peeking from the input fails. In this case, there is no guarantee on the + peek position.
            +
            +
          • +
          + + + +
            +
          • +

            checkAndPeekStreamMarker

            +
            public static boolean checkAndPeekStreamMarker​(ExtractorInput input)
            +                                        throws IOException
            +
            Peeks the FLAC stream marker.
            +
            +
            Parameters:
            +
            input - Input stream to peek the stream marker from.
            +
            Returns:
            +
            Whether the data peeked is the FLAC stream marker.
            +
            Throws:
            +
            IOException - If peeking from the input fails. In this case, the peek position is left + unchanged.
            +
            +
          • +
          + + + +
            +
          • +

            readId3Metadata

            +
            @Nullable
            +public static Metadata readId3Metadata​(ExtractorInput input,
            +                                       boolean parseData)
            +                                throws IOException
            +
            Reads ID3 Data. + +

            If no exception is thrown, the peek position of input is aligned with the read + position.

            +
            +
            Parameters:
            +
            input - Input stream to read the ID3 data from.
            +
            parseData - Whether to parse the ID3 frames.
            +
            Returns:
            +
            The parsed ID3 data, or null if there is no such data or if parseData + is false.
            +
            Throws:
            +
            IOException - If reading from the input fails. In this case, the read position is left + unchanged and there is no guarantee on the peek position.
            +
            +
          • +
          + + + +
            +
          • +

            readStreamMarker

            +
            public static void readStreamMarker​(ExtractorInput input)
            +                             throws IOException
            +
            Reads the FLAC stream marker.
            +
            +
            Parameters:
            +
            input - Input stream to read the stream marker from.
            +
            Throws:
            +
            ParserException - If an error occurs parsing the stream marker. In this case, the + position of input is advanced by FlacConstants.STREAM_MARKER_SIZE bytes.
            +
            IOException - If reading from the input fails. In this case, the position is left + unchanged.
            +
            +
          • +
          + + + +
            +
          • +

            readMetadataBlock

            +
            public static boolean readMetadataBlock​(ExtractorInput input,
            +                                        FlacMetadataReader.FlacStreamMetadataHolder metadataHolder)
            +                                 throws IOException
            +
            Reads one FLAC metadata block. + +

            If no exception is thrown, the peek position of input is aligned with the read + position.

            +
            +
            Parameters:
            +
            input - Input stream to read the metadata block from (header included).
            +
            metadataHolder - A holder for the metadata read. If the stream info block (which must be + the first metadata block) is read, the holder contains a new instance representing the + stream info data. If the block read is a Vorbis comment block or a picture block, the + holder contains a copy of the existing stream metadata with the corresponding metadata + added. Otherwise, the metadata in the holder is unchanged.
            +
            Returns:
            +
            Whether the block read is the last metadata block.
            +
            Throws:
            +
            IllegalArgumentException - If the block read is not a stream info block and the metadata + in metadataHolder is null. In this case, the read position will be at the + start of a metadata block and there is no guarantee on the peek position.
            +
            IOException - If reading from the input fails. In this case, the read position will be at + the start of a metadata block and there is no guarantee on the peek position.
            +
            +
          • +
          + + + +
            +
          • +

            readSeekTableMetadataBlock

            +
            public static FlacStreamMetadata.SeekTable readSeekTableMetadataBlock​(ParsableByteArray data)
            +
            Reads a FLAC seek table metadata block. + +

            The position of data is moved to the byte following the seek table metadata block + (placeholder points included).

            +
            +
            Parameters:
            +
            data - The array to read the data from, whose position must correspond to the seek table + metadata block (header included).
            +
            Returns:
            +
            The seek table, without the placeholder points.
            +
            +
          • +
          + + + +
            +
          • +

            getFrameStartMarker

            +
            public static int getFrameStartMarker​(ExtractorInput input)
            +                               throws IOException
            +
            Returns the frame start marker, consisting of the 2 first bytes of the first frame. + +

            The read position of input is left unchanged and the peek position is aligned with + the read position.

            +
            +
            Parameters:
            +
            input - Input stream to get the start marker from (starting from the read position).
            +
            Returns:
            +
            The frame start marker (which must be the same for all the frames in the stream).
            +
            Throws:
            +
            ParserException - If an error occurs parsing the frame start marker.
            +
            IOException - If peeking from the input fails.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacSeekTableSeekMap.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacSeekTableSeekMap.html new file mode 100644 index 0000000000..35fcca22cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacSeekTableSeekMap.html @@ -0,0 +1,395 @@ + + + + +FlacSeekTableSeekMap (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacSeekTableSeekMap

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacSeekTableSeekMap
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SeekMap
        +
        +
        +
        public final class FlacSeekTableSeekMap
        +extends Object
        +implements SeekMap
        +
        A SeekMap implementation for FLAC streams that contain a seek table.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlacSeekTableSeekMap

            +
            public FlacSeekTableSeekMap​(FlacStreamMetadata flacStreamMetadata,
            +                            long firstFrameOffset)
            +
            Creates a seek map from the FLAC stream seek table.
            +
            +
            Parameters:
            +
            flacStreamMetadata - The stream metadata.
            +
            firstFrameOffset - The byte offset of the first frame in the stream.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.SeekTable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.SeekTable.html new file mode 100644 index 0000000000..5baf441a88 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.SeekTable.html @@ -0,0 +1,327 @@ + + + + +FlacStreamMetadata.SeekTable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacStreamMetadata.SeekTable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacStreamMetadata.SeekTable
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        FlacStreamMetadata
        +
        +
        +
        public static class FlacStreamMetadata.SeekTable
        +extends Object
        +
        A FLAC seek table.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            pointSampleNumbers

            +
            public final long[] pointSampleNumbers
            +
            Seek points sample numbers.
            +
          • +
          + + + +
            +
          • +

            pointOffsets

            +
            public final long[] pointOffsets
            +
            Seek points byte offsets from the first frame.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeekTable

            +
            public SeekTable​(long[] pointSampleNumbers,
            +                 long[] pointOffsets)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.html new file mode 100644 index 0000000000..79035d2dc9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/FlacStreamMetadata.html @@ -0,0 +1,800 @@ + + + + +FlacStreamMetadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacStreamMetadata

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.FlacStreamMetadata
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            NOT_IN_LOOKUP_TABLE

            +
            public static final int NOT_IN_LOOKUP_TABLE
            +
            Indicates that a value is not in the corresponding lookup table.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            minBlockSizeSamples

            +
            public final int minBlockSizeSamples
            +
            Minimum number of samples per block.
            +
          • +
          + + + +
            +
          • +

            maxBlockSizeSamples

            +
            public final int maxBlockSizeSamples
            +
            Maximum number of samples per block.
            +
          • +
          + + + +
            +
          • +

            minFrameSize

            +
            public final int minFrameSize
            +
            Minimum frame size in bytes, or 0 if the value is unknown.
            +
          • +
          + + + +
            +
          • +

            maxFrameSize

            +
            public final int maxFrameSize
            +
            Maximum frame size in bytes, or 0 if the value is unknown.
            +
          • +
          + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            Sample rate in Hertz.
            +
          • +
          + + + +
            +
          • +

            sampleRateLookupKey

            +
            public final int sampleRateLookupKey
            +
            Lookup key corresponding to the stream sample rate, or NOT_IN_LOOKUP_TABLE if it is + not in the lookup table. + +

            This key is used to indicate the sample rate in the frame header for the most common values. + +

            The sample rate lookup table is described in https://xiph.org/flac/format.html#frame_header.

            +
          • +
          + + + +
            +
          • +

            channels

            +
            public final int channels
            +
            Number of audio channels.
            +
          • +
          + + + +
            +
          • +

            bitsPerSample

            +
            public final int bitsPerSample
            +
            Number of bits per sample.
            +
          • +
          + + + +
            +
          • +

            bitsPerSampleLookupKey

            +
            public final int bitsPerSampleLookupKey
            +
            Lookup key corresponding to the number of bits per sample of the stream, or NOT_IN_LOOKUP_TABLE if it is not in the lookup table. + +

            This key is used to indicate the number of bits per sample in the frame header for the most + common values. + +

            The sample size lookup table is described in https://xiph.org/flac/format.html#frame_header.

            +
          • +
          + + + +
            +
          • +

            totalSamples

            +
            public final long totalSamples
            +
            Total number of samples, or 0 if the value is unknown.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlacStreamMetadata

            +
            public FlacStreamMetadata​(byte[] data,
            +                          int offset)
            +
            Parses binary FLAC stream info metadata.
            +
            +
            Parameters:
            +
            data - An array containing binary FLAC stream info block.
            +
            offset - The offset of the stream info block in data, excluding the header (i.e. + the offset points to the first byte of the minimum block size).
            +
            +
          • +
          + + + +
            +
          • +

            FlacStreamMetadata

            +
            public FlacStreamMetadata​(int minBlockSizeSamples,
            +                          int maxBlockSizeSamples,
            +                          int minFrameSize,
            +                          int maxFrameSize,
            +                          int sampleRate,
            +                          int channels,
            +                          int bitsPerSample,
            +                          long totalSamples,
            +                          ArrayList<String> vorbisComments,
            +                          ArrayList<PictureFrame> pictureFrames)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getMaxDecodedFrameSize

            +
            public int getMaxDecodedFrameSize()
            +
            Returns the maximum size for a decoded frame from the FLAC stream.
            +
          • +
          + + + +
            +
          • +

            getDecodedBitrate

            +
            public int getDecodedBitrate()
            +
            Returns the bitrate of the stream after it's decoded into PCM.
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Returns the duration of the FLAC stream in microseconds, or C.TIME_UNSET if the total + number of samples if unknown.
            +
          • +
          + + + +
            +
          • +

            getSampleNumber

            +
            public long getSampleNumber​(long timeUs)
            +
            Returns the sample number of the sample at a given time.
            +
            +
            Parameters:
            +
            timeUs - Time position in microseconds in the FLAC stream.
            +
            Returns:
            +
            The sample number corresponding to the time position.
            +
            +
          • +
          + + + +
            +
          • +

            getApproxBytesPerFrame

            +
            public long getApproxBytesPerFrame()
            +
            Returns the approximate number of bytes per frame for the current FLAC stream.
            +
          • +
          + + + +
            +
          • +

            getFormat

            +
            public Format getFormat​(byte[] streamMarkerAndInfoBlock,
            +                        @Nullable
            +                        Metadata id3Metadata)
            +
            Returns a Format extracted from the FLAC stream metadata. + +

            streamMarkerAndInfoBlock is updated to set the bit corresponding to the stream info + last metadata block flag to true.

            +
            +
            Parameters:
            +
            streamMarkerAndInfoBlock - An array containing the FLAC stream marker followed by the + stream info block.
            +
            id3Metadata - The ID3 metadata of the stream, or null if there is no such data.
            +
            Returns:
            +
            The extracted Format.
            +
            +
          • +
          + + + +
            +
          • +

            getMetadataCopyWithAppendedEntriesFrom

            +
            @Nullable
            +public Metadata getMetadataCopyWithAppendedEntriesFrom​(@Nullable
            +                                                       Metadata other)
            +
            Returns a copy of the content metadata with entries from other appended.
            +
          • +
          + + + + + + + +
            +
          • +

            copyWithVorbisComments

            +
            public FlacStreamMetadata copyWithVorbisComments​(List<String> vorbisComments)
            +
            Returns a copy of this with the given Vorbis comments added to the metadata.
            +
          • +
          + + + +
            +
          • +

            copyWithPictureFrames

            +
            public FlacStreamMetadata copyWithPictureFrames​(List<PictureFrame> pictureFrames)
            +
            Returns a copy of this with the given picture frames added to the metadata.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ForwardingExtractorInput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ForwardingExtractorInput.html new file mode 100644 index 0000000000..18c97ec525 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ForwardingExtractorInput.html @@ -0,0 +1,832 @@ + + + + +ForwardingExtractorInput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ForwardingExtractorInput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ForwardingExtractorInput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ForwardingExtractorInput

            +
            public ForwardingExtractorInput​(ExtractorInput input)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            read

            +
            public int read​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Reads up to length bytes from the input and resets the peek position. + +

            This method blocks until at least one byte of data can be read, the end of the input is + detected, or an exception is thrown.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Specified by:
            +
            read in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public boolean readFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.read(byte[], int, int), but reads the requested length in full.
            +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the read was successful. False if allowEndOfInput=true and the end of + the input was encountered having read no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the read + (i.e. having read at least one byte, but fewer than length), or if no bytes were + read and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public void readFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            skipFully

            +
            public boolean skipFully​(int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.readFully(byte[], int, int, boolean), except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            skipFully in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes to skip from the input.
            +
            allowEndOfInput - True if encountering the end of the input having skipped no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the skip was successful. False if allowEndOfInput=true and the end of + the input was encountered having skipped no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the skip + (i.e. having skipped at least one byte, but fewer than length), or if no bytes were + skipped and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            peek

            +
            public int peek​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Peeks up to length bytes from the peek position. The current read position is left + unchanged. + +

            This method blocks until at least one byte of data can be peeked, the end of the input is + detected, or an exception is thrown. + +

            Calling ExtractorInput.resetPeekPosition() resets the peek position to equal the current read + position, so the caller can peek the same data again. Reading or skipping also resets the peek + position.

            +
            +
            Specified by:
            +
            peek in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to peek from the input.
            +
            Returns:
            +
            The number of bytes peeked, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public boolean peekFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.peek(byte[], int, int), but peeks the requested length in full.
            +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            allowEndOfInput - True if encountering the end of the input having peeked no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the peek was successful. False if allowEndOfInput=true and the end of + the input was encountered having peeked no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the peek + (i.e. having peeked at least one byte, but fewer than length), or if no bytes were + peeked and allowEndOfInput is false.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public void peekFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            advancePeekPosition

            +
            public boolean advancePeekPosition​(int length,
            +                                   boolean allowEndOfInput)
            +                            throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Advances the peek position by length bytes. Like ExtractorInput.peekFully(byte[], int, int, + boolean) except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            advancePeekPosition in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes by which to advance the peek position.
            +
            allowEndOfInput - True if encountering the end of the input before advancing is allowed, + and should result in false being returned. False if it should be considered an + error, causing an EOFException to be thrown. See note in class Javadoc.
            +
            Returns:
            +
            True if advancing the peek position was successful. False if + allowEndOfInput=true and the end of the input was encountered before advancing over any + data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially advanced (i.e. having + advanced by at least one byte, but fewer than length), or if the end of input was + encountered before advancing and allowEndOfInput is false.
            +
            IOException - If an error occurs advancing the peek position.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            resetPeekPosition

            +
            public void resetPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Resets the peek position to equal the current read position.
            +
            +
            Specified by:
            +
            resetPeekPosition in interface ExtractorInput
            +
            +
          • +
          + + + +
            +
          • +

            getPeekPosition

            +
            public long getPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current peek position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPeekPosition in interface ExtractorInput
            +
            Returns:
            +
            The peek position (byte offset) in the stream.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public long getPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current read position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPosition in interface ExtractorInput
            +
            Returns:
            +
            The read position (byte offset) in the stream.
            +
            +
          • +
          + + + + + + + + + +
            +
          • +

            setRetryPosition

            +
            public <E extends Throwable> void setRetryPosition​(long position,
            +                                                   E e)
            +                                            throws E extends Throwable
            +
            Description copied from interface: ExtractorInput
            +
            Called when reading fails and the required retry position is different from the last position. + After setting the retry position it throws the given Throwable.
            +
            +
            Specified by:
            +
            setRetryPosition in interface ExtractorInput
            +
            Type Parameters:
            +
            E - Type of Throwable to be thrown.
            +
            Parameters:
            +
            position - The required retry position.
            +
            e - Throwable to be thrown.
            +
            Throws:
            +
            E - The given Throwable object.
            +
            E extends Throwable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/GaplessInfoHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/GaplessInfoHolder.html new file mode 100644 index 0000000000..8e1aefb38f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/GaplessInfoHolder.html @@ -0,0 +1,413 @@ + + + + +GaplessInfoHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GaplessInfoHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.GaplessInfoHolder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class GaplessInfoHolder
        +extends Object
        +
        Holder for gapless playback information.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            encoderDelay

            +
            public int encoderDelay
            +
            The number of samples to trim from the start of the decoded audio stream, or + Format.NO_VALUE if not set.
            +
          • +
          + + + +
            +
          • +

            encoderPadding

            +
            public int encoderPadding
            +
            The number of samples to trim from the end of the decoded audio stream, or + Format.NO_VALUE if not set.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            GaplessInfoHolder

            +
            public GaplessInfoHolder()
            +
            Creates a new holder for gapless playback information.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setFromXingHeaderValue

            +
            public boolean setFromXingHeaderValue​(int value)
            +
            Populates the holder with data from an MP3 Xing header, if valid and non-zero.
            +
            +
            Parameters:
            +
            value - The 24-bit value to decode.
            +
            Returns:
            +
            Whether the holder was populated.
            +
            +
          • +
          + + + +
            +
          • +

            setFromMetadata

            +
            public boolean setFromMetadata​(Metadata metadata)
            +
            Populates the holder with data parsed from ID3 Metadata.
            +
            +
            Parameters:
            +
            metadata - The metadata from which to parse the gapless information.
            +
            Returns:
            +
            Whether the holder was populated.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Id3Peeker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Id3Peeker.html new file mode 100644 index 0000000000..67614cf699 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/Id3Peeker.html @@ -0,0 +1,318 @@ + + + + +Id3Peeker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Id3Peeker

      +
      +
      + +
      +
        +
      • +
        +
        public final class Id3Peeker
        +extends Object
        +
        Peeks data from the beginning of an ExtractorInput to determine if there is any ID3 tag.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Id3Peeker

            +
            public Id3Peeker()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            peekId3Data

            +
            @Nullable
            +public Metadata peekId3Data​(ExtractorInput input,
            +                            @Nullable
            +                            Id3Decoder.FramePredicate id3FramePredicate)
            +                     throws IOException
            +
            Peeks ID3 data from the input and parses the first ID3 tag.
            +
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked.
            +
            id3FramePredicate - Determines which ID3 frames are decoded. May be null to decode all + frames.
            +
            Returns:
            +
            The first ID3 tag decoded into a Metadata object. May be null if ID3 tag is not + present in the input.
            +
            Throws:
            +
            IOException - If an error occurred peeking from the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/IndexSeekMap.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/IndexSeekMap.html new file mode 100644 index 0000000000..e8e0fdf03b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/IndexSeekMap.html @@ -0,0 +1,399 @@ + + + + +IndexSeekMap (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IndexSeekMap

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.IndexSeekMap
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SeekMap
        +
        +
        +
        public final class IndexSeekMap
        +extends Object
        +implements SeekMap
        +
        A SeekMap implementation based on a mapping between times and positions in the input + stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IndexSeekMap

            +
            public IndexSeekMap​(long[] positions,
            +                    long[] timesUs,
            +                    long durationUs)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            positions - The positions in the stream corresponding to timesUs, in bytes.
            +
            timesUs - The times corresponding to positions, in microseconds.
            +
            durationUs - The duration of the input stream, or C.TIME_UNSET if it is unknown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/PositionHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/PositionHolder.html new file mode 100644 index 0000000000..1dbbf57e3e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/PositionHolder.html @@ -0,0 +1,304 @@ + + + + +PositionHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PositionHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.PositionHolder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class PositionHolder
        +extends Object
        +
        Holds a position in the stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            position

            +
            public long position
            +
            The held position.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PositionHolder

            +
            public PositionHolder()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.SeekPoints.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.SeekPoints.html new file mode 100644 index 0000000000..6fb8f68a2e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.SeekPoints.html @@ -0,0 +1,426 @@ + + + + +SeekMap.SeekPoints (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SeekMap.SeekPoints

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        SeekMap
        +
        +
        +
        public static final class SeekMap.SeekPoints
        +extends Object
        +
        Contains one or two SeekPoints.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            first

            +
            public final SeekPoint first
            +
            The first seek point.
            +
          • +
          + + + +
            +
          • +

            second

            +
            public final SeekPoint second
            +
            The second seek point, or first if there's only one seek point.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeekPoints

            +
            public SeekPoints​(SeekPoint point)
            +
            +
            Parameters:
            +
            point - The single seek point.
            +
            +
          • +
          + + + +
            +
          • +

            SeekPoints

            +
            public SeekPoints​(SeekPoint first,
            +                  SeekPoint second)
            +
            +
            Parameters:
            +
            first - The first seek point.
            +
            second - The second seek point.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.Unseekable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.Unseekable.html new file mode 100644 index 0000000000..eab80434c8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.Unseekable.html @@ -0,0 +1,415 @@ + + + + +SeekMap.Unseekable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SeekMap.Unseekable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.SeekMap.Unseekable
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        SeekMap
        +
        +
        +
        Enclosing interface:
        +
        SeekMap
        +
        +
        +
        public static class SeekMap.Unseekable
        +extends Object
        +implements SeekMap
        +
        A SeekMap that does not support seeking.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Unseekable

            +
            public Unseekable​(long durationUs)
            +
            +
            Parameters:
            +
            durationUs - The duration of the stream in microseconds, or C.TIME_UNSET if the + duration is unknown.
            +
            +
          • +
          + + + +
            +
          • +

            Unseekable

            +
            public Unseekable​(long durationUs,
            +                  long startPosition)
            +
            +
            Parameters:
            +
            durationUs - The duration of the stream in microseconds, or C.TIME_UNSET if the + duration is unknown.
            +
            startPosition - The position (byte offset) of the start of the media.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.html new file mode 100644 index 0000000000..ec2898d0ac --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekMap.html @@ -0,0 +1,338 @@ + + + + +SeekMap (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SeekMap

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSeekable

            +
            boolean isSeekable()
            +
            Returns whether seeking is supported.
            +
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            long getDurationUs()
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekPoint.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekPoint.html new file mode 100644 index 0000000000..aa159f0611 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/SeekPoint.html @@ -0,0 +1,422 @@ + + + + +SeekPoint (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SeekPoint

      +
      +
      + +
      +
        +
      • +
        +
        public final class SeekPoint
        +extends Object
        +
        Defines a seek point in a media stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            START

            +
            public static final SeekPoint START
            +
            A SeekPoint whose time and byte offset are both set to 0.
            +
          • +
          + + + +
            +
          • +

            timeUs

            +
            public final long timeUs
            +
            The time of the seek point, in microseconds.
            +
          • +
          + + + +
            +
          • +

            position

            +
            public final long position
            +
            The byte offset of the seek point.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeekPoint

            +
            public SeekPoint​(long timeUs,
            +                 long position)
            +
            +
            Parameters:
            +
            timeUs - The time of the seek point, in microseconds.
            +
            position - The byte offset of the seek point.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.CryptoData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.CryptoData.html new file mode 100644 index 0000000000..02d5892cad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.CryptoData.html @@ -0,0 +1,437 @@ + + + + +TrackOutput.CryptoData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackOutput.CryptoData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        TrackOutput
        +
        +
        +
        public static final class TrackOutput.CryptoData
        +extends Object
        +
        Holds data required to decrypt a sample.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          intclearBlocks +
          The number of clear blocks in the encryption pattern, 0 if pattern encryption does not + apply.
          +
          intcryptoMode +
          The encryption mode used for the sample.
          +
          intencryptedBlocks +
          The number of encrypted blocks in the encryption pattern, 0 if pattern encryption does not + apply.
          +
          byte[]encryptionKey +
          The encryption key associated with the sample.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          CryptoData​(int cryptoMode, + byte[] encryptionKey, + int encryptedBlocks, + int clearBlocks) 
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            cryptoMode

            +
            @CryptoMode
            +public final int cryptoMode
            +
            The encryption mode used for the sample.
            +
          • +
          + + + +
            +
          • +

            encryptionKey

            +
            public final byte[] encryptionKey
            +
            The encryption key associated with the sample. Its contents must not be modified.
            +
          • +
          + + + +
            +
          • +

            encryptedBlocks

            +
            public final int encryptedBlocks
            +
            The number of encrypted blocks in the encryption pattern, 0 if pattern encryption does not + apply.
            +
          • +
          + + + +
            +
          • +

            clearBlocks

            +
            public final int clearBlocks
            +
            The number of clear blocks in the encryption pattern, 0 if pattern encryption does not + apply.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.SampleDataPart.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.SampleDataPart.html new file mode 100644 index 0000000000..9473fab5f2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.SampleDataPart.html @@ -0,0 +1,189 @@ + + + + +TrackOutput.SampleDataPart (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TrackOutput.SampleDataPart

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.html new file mode 100644 index 0000000000..13f2f57ae9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/TrackOutput.html @@ -0,0 +1,561 @@ + + + + +TrackOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackOutput

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SAMPLE_DATA_PART_MAIN

            +
            static final int SAMPLE_DATA_PART_MAIN
            +
            Main media sample data.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SAMPLE_DATA_PART_ENCRYPTION

            +
            static final int SAMPLE_DATA_PART_ENCRYPTION
            +
            Sample encryption data. + +

            The format for encryption information is: + +

              +
            • (1 byte) encryption_signal_byte: Most significant bit signals whether the + encryption data contains subsample encryption data. The remaining bits contain + initialization_vector_size. +
            • (initialization_vector_size bytes) Initialization vector. +
            • If subsample encryption data is present, as per encryption_signal_byte, the + encryption data also contains: +
                +
              • (2 bytes) subsample_encryption_data_length. +
              • (subsample_encryption_data_length * 6 bytes) Subsample encryption data + (repeated subsample_encryption_data_length times: +
                  +
                • (2 bytes) Size of a clear section in sample. +
                • (4 bytes) Size of an encryption section in sample. +
                +
              +
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SAMPLE_DATA_PART_SUPPLEMENTAL

            +
            static final int SAMPLE_DATA_PART_SUPPLEMENTAL
            +
            Sample supplemental data. + +

            If a sample contains supplemental data, the format of the entire sample data will be: + +

              +
            • If the sample has the C.BUFFER_FLAG_ENCRYPTED flag set, all encryption + information. +
            • (4 bytes) sample_data_size: The size of the actual sample data, not including + supplemental data or encryption information. +
            • (sample_data_size bytes): The media sample data. +
            • (remaining bytes) The supplemental data. +
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            format

            +
            void format​(Format format)
            +
            Called when the Format of the track has been extracted from the stream.
            +
            +
            Parameters:
            +
            format - The extracted Format.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            sampleData

            +
            int sampleData​(DataReader input,
            +               int length,
            +               boolean allowEndOfInput,
            +               @SampleDataPart
            +               int sampleDataPart)
            +        throws IOException
            +
            Called to write sample data to the output.
            +
            +
            Parameters:
            +
            input - A DataReader from which to read the sample data.
            +
            length - The maximum length to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it + should be considered an error, causing an EOFException to be thrown.
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            Returns:
            +
            The number of bytes appended.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            void sampleData​(ParsableByteArray data,
            +                int length,
            +                @SampleDataPart
            +                int sampleDataPart)
            +
            Called to write sample data to the output.
            +
            +
            Parameters:
            +
            data - A ParsableByteArray from which to read the sample data.
            +
            length - The number of bytes to read, starting from data.getPosition().
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            +
          • +
          + + + +
            +
          • +

            sampleMetadata

            +
            void sampleMetadata​(long timeUs,
            +                    @BufferFlags
            +                    int flags,
            +                    int size,
            +                    int offset,
            +                    @Nullable
            +                    TrackOutput.CryptoData encryptionData)
            +
            Called when metadata associated with a sample has been extracted from the stream. + +

            The corresponding sample data will have already been passed to the output via calls to + sampleData(DataReader, int, boolean) or sampleData(ParsableByteArray, int).

            +
            +
            Parameters:
            +
            timeUs - The media timestamp associated with the sample, in microseconds.
            +
            flags - Flags associated with the sample. See C.BUFFER_FLAG_*.
            +
            size - The size of the sample data, in bytes.
            +
            offset - The number of bytes that have been passed to sampleData(DataReader, int, + boolean) or sampleData(ParsableByteArray, int) since the last byte belonging to + the sample whose metadata is being passed.
            +
            encryptionData - The encryption data required to decrypt the sample. May be null.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisBitArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisBitArray.html new file mode 100644 index 0000000000..abe04a6760 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisBitArray.html @@ -0,0 +1,434 @@ + + + + +VorbisBitArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisBitArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.VorbisBitArray
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class VorbisBitArray
        +extends Object
        +
        Wraps a byte array, providing methods that allow it to be read as a Vorbis bitstream.
        +
        +
        See Also:
        +
        Vorbis bitpacking + specification
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            VorbisBitArray

            +
            public VorbisBitArray​(byte[] data)
            +
            Creates a new instance that wraps an existing array.
            +
            +
            Parameters:
            +
            data - the array to wrap.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Resets the reading position to zero.
            +
          • +
          + + + +
            +
          • +

            readBit

            +
            public boolean readBit()
            +
            Reads a single bit.
            +
            +
            Returns:
            +
            true if the bit is set, false otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            readBits

            +
            public int readBits​(int numBits)
            +
            Reads up to 32 bits.
            +
            +
            Parameters:
            +
            numBits - The number of bits to read.
            +
            Returns:
            +
            An integer whose bottom numBits bits hold the read data.
            +
            +
          • +
          + + + +
            +
          • +

            skipBits

            +
            public void skipBits​(int numBits)
            +
            Skips numberOfBits bits.
            +
            +
            Parameters:
            +
            numBits - The number of bits to skip.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public int getPosition()
            +
            Returns the reading position in bits.
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public void setPosition​(int position)
            +
            Sets the reading position in bits.
            +
            +
            Parameters:
            +
            position - The new reading position in bits.
            +
            +
          • +
          + + + +
            +
          • +

            bitsLeft

            +
            public int bitsLeft()
            +
            Returns the number of remaining bits.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html new file mode 100644 index 0000000000..96ba1388a2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.CommentHeader.html @@ -0,0 +1,337 @@ + + + + +VorbisUtil.CommentHeader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisUtil.CommentHeader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.VorbisUtil.CommentHeader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        VorbisUtil
        +
        +
        +
        public static final class VorbisUtil.CommentHeader
        +extends Object
        +
        Vorbis comment header.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            vendor

            +
            public final String vendor
            +
          • +
          + + + +
            +
          • +

            comments

            +
            public final String[] comments
            +
          • +
          + + + +
            +
          • +

            length

            +
            public final int length
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CommentHeader

            +
            public CommentHeader​(String vendor,
            +                     String[] comments,
            +                     int length)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html new file mode 100644 index 0000000000..14b7f90a1a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.Mode.html @@ -0,0 +1,353 @@ + + + + +VorbisUtil.Mode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisUtil.Mode

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.VorbisUtil.Mode
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        VorbisUtil
        +
        +
        +
        public static final class VorbisUtil.Mode
        +extends Object
        +
        Vorbis setup header modes.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            blockFlag

            +
            public final boolean blockFlag
            +
          • +
          + + + +
            +
          • +

            windowType

            +
            public final int windowType
            +
          • +
          + + + +
            +
          • +

            transformType

            +
            public final int transformType
            +
          • +
          + + + +
            +
          • +

            mapping

            +
            public final int mapping
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Mode

            +
            public Mode​(boolean blockFlag,
            +            int windowType,
            +            int transformType,
            +            int mapping)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.VorbisIdHeader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.VorbisIdHeader.html new file mode 100644 index 0000000000..3d27cb65a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.VorbisIdHeader.html @@ -0,0 +1,497 @@ + + + + +VorbisUtil.VorbisIdHeader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisUtil.VorbisIdHeader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            version

            +
            public final int version
            +
            The vorbis_version field.
            +
          • +
          + + + +
            +
          • +

            channels

            +
            public final int channels
            +
            The audio_channels field.
            +
          • +
          + + + +
            +
          • +

            sampleRate

            +
            public final int sampleRate
            +
            The audio_sample_rate field.
            +
          • +
          + + + +
            +
          • +

            bitrateMaximum

            +
            public final int bitrateMaximum
            +
            The bitrate_maximum field, or Format.NO_VALUE if not greater than zero.
            +
          • +
          + + + +
            +
          • +

            bitrateNominal

            +
            public final int bitrateNominal
            +
            The bitrate_nominal field, or Format.NO_VALUE if not greater than zero.
            +
          • +
          + + + +
            +
          • +

            bitrateMinimum

            +
            public final int bitrateMinimum
            +
            The bitrate_minimum field, or Format.NO_VALUE if not greater than zero.
            +
          • +
          + + + +
            +
          • +

            blockSize0

            +
            public final int blockSize0
            +
            The blocksize_0 field.
            +
          • +
          + + + +
            +
          • +

            blockSize1

            +
            public final int blockSize1
            +
            The blocksize_1 field.
            +
          • +
          + + + +
            +
          • +

            framingFlag

            +
            public final boolean framingFlag
            +
            The framing_flag field.
            +
          • +
          + + + +
            +
          • +

            data

            +
            public final byte[] data
            +
            The raw header data.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            VorbisIdHeader

            +
            public VorbisIdHeader​(int version,
            +                      int channels,
            +                      int sampleRate,
            +                      int bitrateMaximum,
            +                      int bitrateNominal,
            +                      int bitrateMinimum,
            +                      int blockSize0,
            +                      int blockSize1,
            +                      boolean framingFlag,
            +                      byte[] data)
            +
            +
            Parameters:
            +
            version - See version.
            +
            channels - See channels.
            +
            sampleRate - See sampleRate.
            +
            bitrateMaximum - See bitrateMaximum.
            +
            bitrateNominal - See bitrateNominal.
            +
            bitrateMinimum - See bitrateMinimum.
            +
            blockSize0 - See version.
            +
            blockSize1 - See blockSize1.
            +
            framingFlag - See framingFlag.
            +
            data - See data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.html new file mode 100644 index 0000000000..fc4442fb29 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/VorbisUtil.html @@ -0,0 +1,476 @@ + + + + +VorbisUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.VorbisUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class VorbisUtil
        +extends Object
        +
        Utility methods for parsing Vorbis streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            iLog

            +
            public static int iLog​(int x)
            +
            Returns ilog(x), which is the index of the highest set bit in x.
            +
            +
            Parameters:
            +
            x - the value of which the ilog should be calculated.
            +
            Returns:
            +
            ilog(x)
            +
            See Also:
            +
            + Vorbis spec
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            readVorbisCommentHeader

            +
            public static VorbisUtil.CommentHeader readVorbisCommentHeader​(ParsableByteArray headerData,
            +                                                               boolean hasMetadataHeader,
            +                                                               boolean hasFramingBit)
            +                                                        throws ParserException
            +
            Reads a Vorbis comment header. + +

            The data provided may not contain the Vorbis metadata common header and the framing bit.

            +
            +
            Parameters:
            +
            headerData - A ParsableByteArray wrapping the header data.
            +
            hasMetadataHeader - Whether the headerData contains a Vorbis metadata common + header preceding the comment header.
            +
            hasFramingBit - Whether the headerData contains a framing bit.
            +
            Returns:
            +
            A VorbisUtil.CommentHeader with all the comments.
            +
            Throws:
            +
            ParserException - If an error occurs parsing the comment header.
            +
            See Also:
            +
            Vorbis + spec/Comment header
            +
            +
          • +
          + + + +
            +
          • +

            verifyVorbisHeaderCapturePattern

            +
            public static boolean verifyVorbisHeaderCapturePattern​(int headerType,
            +                                                       ParsableByteArray header,
            +                                                       boolean quiet)
            +                                                throws ParserException
            +
            Verifies whether the next bytes in header are a Vorbis header of the given + headerType.
            +
            +
            Parameters:
            +
            headerType - the type of the header expected.
            +
            header - the alleged header bytes.
            +
            quiet - if true no exceptions are thrown. Instead false is returned.
            +
            Returns:
            +
            the number of bytes read.
            +
            Throws:
            +
            ParserException - thrown if header type or capture pattern is not as expected.
            +
            +
          • +
          + + + +
            +
          • +

            readVorbisModes

            +
            public static VorbisUtil.Mode[] readVorbisModes​(ParsableByteArray headerData,
            +                                                int channels)
            +                                         throws ParserException
            +
            This method reads the modes which are located at the very end of the Vorbis setup header. + That's why we need to partially decode or at least read the entire setup header to know where + to start reading the modes.
            +
            +
            Parameters:
            +
            headerData - a ParsableByteArray containing setup header data.
            +
            channels - the number of channels.
            +
            Returns:
            +
            an array of VorbisUtil.Modes.
            +
            Throws:
            +
            ParserException - thrown if bit stream is invalid.
            +
            See Also:
            +
            Vorbis + spec/Setup header
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html new file mode 100644 index 0000000000..e9f529f6b4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.Flags.html @@ -0,0 +1,189 @@ + + + + +AmrExtractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AmrExtractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.html new file mode 100644 index 0000000000..65ed18e603 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/AmrExtractor.html @@ -0,0 +1,570 @@ + + + + +AmrExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AmrExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.amr.AmrExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class AmrExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the AMR containers format (either AMR or AMR-WB). This follows RFC-4867, + section 5. + +

        This extractor only supports single-channel AMR container formats.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_ENABLE_CONSTANT_BITRATE_SEEKING

            +
            public static final int FLAG_ENABLE_CONSTANT_BITRATE_SEEKING
            +
            Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AmrExtractor

            +
            public AmrExtractor()
            +
          • +
          + + + +
            +
          • +

            AmrExtractor

            +
            public AmrExtractor​(@Flags
            +                    int flags)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-frame.html new file mode 100644 index 0000000000..4b16c726f6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-frame.html @@ -0,0 +1,31 @@ + + + + +com.google.android.exoplayer2.extractor.amr (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.amr

      +
      +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-summary.html new file mode 100644 index 0000000000..3e5d366f2e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-summary.html @@ -0,0 +1,185 @@ + + + + +com.google.android.exoplayer2.extractor.amr (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.amr

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        AmrExtractor +
        Extracts data from the AMR containers format (either AMR or AMR-WB).
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        AmrExtractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-tree.html new file mode 100644 index 0000000000..66a08f9866 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/amr/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.extractor.amr Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.amr

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.amr.AmrExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.Flags.html new file mode 100644 index 0000000000..f3a4c9d4e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.Flags.html @@ -0,0 +1,189 @@ + + + + +FlacExtractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type FlacExtractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html new file mode 100644 index 0000000000..df8bfb6ee0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html @@ -0,0 +1,575 @@ + + + + +FlacExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.flac.FlacExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class FlacExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from FLAC container format. + +

        The format specification can be found at https://xiph.org/flac/format.html.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_DISABLE_ID3_METADATA

            +
            public static final int FLAG_DISABLE_ID3_METADATA
            +
            Flag to disable parsing of ID3 metadata. Can be set to save memory if ID3 metadata is not + required.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlacExtractor

            +
            public FlacExtractor()
            +
            Constructs an instance with flags = 0.
            +
          • +
          + + + +
            +
          • +

            FlacExtractor

            +
            public FlacExtractor​(int flags)
            +
            Constructs an instance.
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior. Possible flags are described by + FlacExtractor.Flags.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            read

            +
            @ReadResult
            +public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-frame.html new file mode 100644 index 0000000000..097a13a350 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-frame.html @@ -0,0 +1,31 @@ + + + + +com.google.android.exoplayer2.extractor.flac (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.flac

      +
      +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-summary.html new file mode 100644 index 0000000000..ada515845b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-summary.html @@ -0,0 +1,185 @@ + + + + +com.google.android.exoplayer2.extractor.flac (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.flac

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        FlacExtractor +
        Extracts data from FLAC container format.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        FlacExtractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-tree.html new file mode 100644 index 0000000000..da41eaf004 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flac/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.extractor.flac Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.flac

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.flac.FlacExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/FlvExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/FlvExtractor.html new file mode 100644 index 0000000000..bab12bb24f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/FlvExtractor.html @@ -0,0 +1,511 @@ + + + + +FlvExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlvExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.flv.FlvExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class FlvExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the FLV container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FlvExtractor

            +
            public FlvExtractor()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-frame.html new file mode 100644 index 0000000000..3ea8d1c63e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.extractor.flv (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.flv

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-summary.html new file mode 100644 index 0000000000..b3959d523d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.extractor.flv (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.flv

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        FlvExtractor +
        Extracts data from the FLV container format.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-tree.html new file mode 100644 index 0000000000..8f11b7d299 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/flv/package-tree.html @@ -0,0 +1,161 @@ + + + + +com.google.android.exoplayer2.extractor.flv Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.flv

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.flv.FlvExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html new file mode 100644 index 0000000000..9dda3785ce --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html @@ -0,0 +1,479 @@ + + + + +JpegExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class JpegExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class JpegExtractor
        +extends Object
        +implements Extractor
        +
        Extracts JPEG image using the Exif format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            JpegExtractor

            +
            public JpegExtractor()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            read

            +
            @ReadResult
            +public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/StartOffsetExtractorOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/StartOffsetExtractorOutput.html new file mode 100644 index 0000000000..5eb3d8f91d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/StartOffsetExtractorOutput.html @@ -0,0 +1,396 @@ + + + + +StartOffsetExtractorOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StartOffsetExtractorOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.jpeg.StartOffsetExtractorOutput
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        ExtractorOutput
        +
        +
        +
        public final class StartOffsetExtractorOutput
        +extends Object
        +implements ExtractorOutput
        +
        An extractor output that wraps another extractor output and applies a give start byte offset to + seek positions. + +

        This is useful for extracting from a container that's concatenated after some prefix data but + where the container's extractor doesn't handle a non-zero start offset (for example, because it + seeks to absolute positions read from the container data).

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StartOffsetExtractorOutput

            +
            public StartOffsetExtractorOutput​(long startOffset,
            +                                  ExtractorOutput extractorOutput)
            +
            Creates a new wrapper reading from the given start byte offset.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-frame.html new file mode 100644 index 0000000000..b7fc5cc16a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.extractor.jpeg (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.jpeg

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-summary.html new file mode 100644 index 0000000000..8366928d23 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-summary.html @@ -0,0 +1,175 @@ + + + + +com.google.android.exoplayer2.extractor.jpeg (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.jpeg

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        JpegExtractor +
        Extracts JPEG image using the Exif format.
        +
        StartOffsetExtractorOutput +
        An extractor output that wraps another extractor output and applies a give start byte offset to + seek positions.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-tree.html new file mode 100644 index 0000000000..f86e44765e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/jpeg/package-tree.html @@ -0,0 +1,162 @@ + + + + +com.google.android.exoplayer2.extractor.jpeg Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.jpeg

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html new file mode 100644 index 0000000000..38980a9cd2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.ElementType.html @@ -0,0 +1,190 @@ + + + + +EbmlProcessor.ElementType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type EbmlProcessor.ElementType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html new file mode 100644 index 0000000000..ac92a99165 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html @@ -0,0 +1,635 @@ + + + + +EbmlProcessor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface EbmlProcessor

      +
      +
      +
      +
        +
      • +
        +
        public interface EbmlProcessor
        +
        Defines EBML element IDs/types and processes events.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeInterfaceDescription
          static interface EbmlProcessor.ElementType +
          EBML element types.
          +
          +
        • +
        + + + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidbinaryElement​(int id, + int contentsSize, + ExtractorInput input) +
          Called when a binary element is encountered.
          +
          voidendMasterElement​(int id) +
          Called when the end of a master element is encountered.
          +
          voidfloatElement​(int id, + double value) +
          Called when a float element is encountered.
          +
          intgetElementType​(int id) +
          Maps an element ID to a corresponding type.
          +
          voidintegerElement​(int id, + long value) +
          Called when an integer element is encountered.
          +
          booleanisLevel1Element​(int id) +
          Checks if the given id is that of a level 1 element.
          +
          voidstartMasterElement​(int id, + long contentPosition, + long contentSize) +
          Called when the start of a master element is encountered.
          +
          voidstringElement​(int id, + String value) +
          Called when a string element is encountered.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            ELEMENT_TYPE_UNKNOWN

            +
            static final int ELEMENT_TYPE_UNKNOWN
            +
            Type for unknown elements.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ELEMENT_TYPE_MASTER

            +
            static final int ELEMENT_TYPE_MASTER
            +
            Type for elements that contain child elements.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ELEMENT_TYPE_UNSIGNED_INT

            +
            static final int ELEMENT_TYPE_UNSIGNED_INT
            +
            Type for integer value elements of up to 8 bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ELEMENT_TYPE_STRING

            +
            static final int ELEMENT_TYPE_STRING
            +
            Type for string elements.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ELEMENT_TYPE_BINARY

            +
            static final int ELEMENT_TYPE_BINARY
            +
            Type for binary elements.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ELEMENT_TYPE_FLOAT

            +
            static final int ELEMENT_TYPE_FLOAT
            +
            Type for IEEE floating point value elements of either 4 or 8 bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            isLevel1Element

            +
            boolean isLevel1Element​(int id)
            +
            Checks if the given id is that of a level 1 element.
            +
            +
            Parameters:
            +
            id - The element ID.
            +
            Returns:
            +
            Whether the given id is that of a level 1 element.
            +
            +
          • +
          + + + +
            +
          • +

            startMasterElement

            +
            void startMasterElement​(int id,
            +                        long contentPosition,
            +                        long contentSize)
            +                 throws ParserException
            +
            Called when the start of a master element is encountered. +

            + Following events should be considered as taking place within this element until a matching call + to endMasterElement(int) is made. +

            + Note that it is possible for another master element of the same element ID to be nested within + itself.

            +
            +
            Parameters:
            +
            id - The element ID.
            +
            contentPosition - The position of the start of the element's content in the stream.
            +
            contentSize - The size of the element's content in bytes.
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            endMasterElement

            +
            void endMasterElement​(int id)
            +               throws ParserException
            +
            Called when the end of a master element is encountered.
            +
            +
            Parameters:
            +
            id - The element ID.
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            integerElement

            +
            void integerElement​(int id,
            +                    long value)
            +             throws ParserException
            +
            Called when an integer element is encountered.
            +
            +
            Parameters:
            +
            id - The element ID.
            +
            value - The integer value that the element contains.
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            floatElement

            +
            void floatElement​(int id,
            +                  double value)
            +           throws ParserException
            +
            Called when a float element is encountered.
            +
            +
            Parameters:
            +
            id - The element ID.
            +
            value - The float value that the element contains
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            stringElement

            +
            void stringElement​(int id,
            +                   String value)
            +            throws ParserException
            +
            Called when a string element is encountered.
            +
            +
            Parameters:
            +
            id - The element ID.
            +
            value - The string value that the element contains.
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            binaryElement

            +
            void binaryElement​(int id,
            +                   int contentsSize,
            +                   ExtractorInput input)
            +            throws IOException
            +
            Called when a binary element is encountered. + +

            The element header (containing the element ID and content size) will already have been read. + Implementations are required to consume the whole remainder of the element, which is + contentSize bytes in length, before returning. Implementations are permitted to fail (by + throwing an exception) having partially consumed the data, however if they do this, they must + consume the remainder of the content when called again.

            +
            +
            Parameters:
            +
            id - The element ID.
            +
            contentsSize - The element's content size.
            +
            input - The ExtractorInput from which data should be read.
            +
            Throws:
            +
            ParserException - If a parsing error occurs.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html new file mode 100644 index 0000000000..dbbfcc6260 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.Flags.html @@ -0,0 +1,189 @@ + + + + +MatroskaExtractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type MatroskaExtractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html new file mode 100644 index 0000000000..510c342bec --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html @@ -0,0 +1,824 @@ + + + + +MatroskaExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MatroskaExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public class MatroskaExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the Matroska and WebM container formats.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_DISABLE_SEEK_FOR_CUES

            +
            public static final int FLAG_DISABLE_SEEK_FOR_CUES
            +
            Flag to disable seeking for cues. +

            + Normally (i.e. when this flag is not set) the extractor will seek to the cues element if its + position is specified in the seek head and if it's after the first cluster. Setting this flag + disables seeking to the cues element. If the cues element is after the first cluster then the + media is treated as being unseekable.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MatroskaExtractor

            +
            public MatroskaExtractor()
            +
          • +
          + + + +
            +
          • +

            MatroskaExtractor

            +
            public MatroskaExtractor​(@Flags
            +                         int flags)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-frame.html new file mode 100644 index 0000000000..1d003483b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-frame.html @@ -0,0 +1,36 @@ + + + + +com.google.android.exoplayer2.extractor.mkv (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.mkv

      +
      +

      Interfaces

      + +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-summary.html new file mode 100644 index 0000000000..e57760300e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-summary.html @@ -0,0 +1,208 @@ + + + + +com.google.android.exoplayer2.extractor.mkv (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.mkv

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Interface Summary 
        InterfaceDescription
        EbmlProcessor +
        Defines EBML element IDs/types and processes events.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        MatroskaExtractor +
        Extracts data from the Matroska and WebM container formats.
        +
        +
      • +
      • + + + + + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        EbmlProcessor.ElementType +
        EBML element types.
        +
        MatroskaExtractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-tree.html new file mode 100644 index 0000000000..9a9dd3c70e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mkv/package-tree.html @@ -0,0 +1,170 @@ + + + + +com.google.android.exoplayer2.extractor.mkv Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.mkv

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.Flags.html new file mode 100644 index 0000000000..3cc8cb2152 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.Flags.html @@ -0,0 +1,189 @@ + + + + +Mp3Extractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Mp3Extractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html new file mode 100644 index 0000000000..c81032f9c5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/Mp3Extractor.html @@ -0,0 +1,662 @@ + + + + +Mp3Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Mp3Extractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class Mp3Extractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the MP3 container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_ENABLE_CONSTANT_BITRATE_SEEKING

            +
            public static final int FLAG_ENABLE_CONSTANT_BITRATE_SEEKING
            +
            Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible. + +

            This flag is ignored if FLAG_ENABLE_INDEX_SEEKING is set.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_ENABLE_INDEX_SEEKING

            +
            public static final int FLAG_ENABLE_INDEX_SEEKING
            +
            Flag to force index seeking, in which a time-to-byte mapping is built as the file is read. + +

            This seeker may require to scan a significant portion of the file to compute a seek point. + Therefore, it should only be used if one of the following is true: + +

              +
            • The file is small. +
            • The bitrate is variable (or it's unknown whether it's variable) and the file does not + provide precise enough seeking metadata. +
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_DISABLE_ID3_METADATA

            +
            public static final int FLAG_DISABLE_ID3_METADATA
            +
            Flag to disable parsing of ID3 metadata. Can be set to save memory if ID3 metadata is not + required.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Mp3Extractor

            +
            public Mp3Extractor()
            +
          • +
          + + + +
            +
          • +

            Mp3Extractor

            +
            public Mp3Extractor​(@Flags
            +                    int flags)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            +
          • +
          + + + +
            +
          • +

            Mp3Extractor

            +
            public Mp3Extractor​(@Flags
            +                    int flags,
            +                    long forcedFirstSampleTimestampUs)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            forcedFirstSampleTimestampUs - A timestamp to force for the first sample, or + C.TIME_UNSET if forcing is not required.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-frame.html new file mode 100644 index 0000000000..6cceb34d4c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-frame.html @@ -0,0 +1,31 @@ + + + + +com.google.android.exoplayer2.extractor.mp3 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.mp3

      +
      +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-summary.html new file mode 100644 index 0000000000..ff63a67ad4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-summary.html @@ -0,0 +1,185 @@ + + + + +com.google.android.exoplayer2.extractor.mp3 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.mp3

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        Mp3Extractor +
        Extracts data from the MP3 container format.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        Mp3Extractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-tree.html new file mode 100644 index 0000000000..436b48eabb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp3/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.extractor.mp3 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.mp3

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.mp3.Mp3Extractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html new file mode 100644 index 0000000000..e3b6bb9f3c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.Flags.html @@ -0,0 +1,190 @@ + + + + +FragmentedMp4Extractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type FragmentedMp4Extractor.Flags

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html new file mode 100644 index 0000000000..ab741abede --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.html @@ -0,0 +1,766 @@ + + + + +FragmentedMp4Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FragmentedMp4Extractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public class FragmentedMp4Extractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the FMP4 container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME

            +
            public static final int FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME
            +
            Flag to work around an issue in some video streams where every frame is marked as a sync frame. + The workaround overrides the sync frame flags in the stream, forcing them to false except for + the first sample in each segment. +

            + This flag does nothing if the stream is not a video stream.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_WORKAROUND_IGNORE_TFDT_BOX

            +
            public static final int FLAG_WORKAROUND_IGNORE_TFDT_BOX
            +
            Flag to ignore any tfdt boxes in the stream.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_ENABLE_EMSG_TRACK

            +
            public static final int FLAG_ENABLE_EMSG_TRACK
            +
            Flag to indicate that the extractor should output an event message metadata track. Any event + messages in the stream will be delivered as samples to this track.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_WORKAROUND_IGNORE_EDIT_LISTS

            +
            public static final int FLAG_WORKAROUND_IGNORE_EDIT_LISTS
            +
            Flag to ignore any edit lists in the stream.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor()
            +
          • +
          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor​(@Flags
            +                              int flags)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            +
          • +
          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor​(@Flags
            +                              int flags,
            +                              @Nullable
            +                              TimestampAdjuster timestampAdjuster)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            timestampAdjuster - Adjusts sample timestamps. May be null if no adjustment is needed.
            +
            +
          • +
          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor​(@Flags
            +                              int flags,
            +                              @Nullable
            +                              TimestampAdjuster timestampAdjuster,
            +                              @Nullable
            +                              Track sideloadedTrack)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            timestampAdjuster - Adjusts sample timestamps. May be null if no adjustment is needed.
            +
            sideloadedTrack - Sideloaded track information, in the case that the extractor will not + receive a moov box in the input data. Null if a moov box is expected.
            +
            +
          • +
          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor​(@Flags
            +                              int flags,
            +                              @Nullable
            +                              TimestampAdjuster timestampAdjuster,
            +                              @Nullable
            +                              Track sideloadedTrack,
            +                              List<Format> closedCaptionFormats)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            timestampAdjuster - Adjusts sample timestamps. May be null if no adjustment is needed.
            +
            sideloadedTrack - Sideloaded track information, in the case that the extractor will not + receive a moov box in the input data. Null if a moov box is expected.
            +
            closedCaptionFormats - For tracks that contain SEI messages, the formats of the closed + caption channels to expose.
            +
            +
          • +
          + + + +
            +
          • +

            FragmentedMp4Extractor

            +
            public FragmentedMp4Extractor​(@Flags
            +                              int flags,
            +                              @Nullable
            +                              TimestampAdjuster timestampAdjuster,
            +                              @Nullable
            +                              Track sideloadedTrack,
            +                              List<Format> closedCaptionFormats,
            +                              @Nullable
            +                              TrackOutput additionalEmsgTrackOutput)
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            timestampAdjuster - Adjusts sample timestamps. May be null if no adjustment is needed.
            +
            sideloadedTrack - Sideloaded track information, in the case that the extractor will not + receive a moov box in the input data. Null if a moov box is expected.
            +
            closedCaptionFormats - For tracks that contain SEI messages, the formats of the closed + caption channels to expose.
            +
            additionalEmsgTrackOutput - An extra track output that will receive all emsg messages + targeting the player, even if FLAG_ENABLE_EMSG_TRACK is not set. Null if special + handling of emsg messages for players is not required.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            modifyTrack

            +
            @Nullable
            +protected Track modifyTrack​(@Nullable
            +                            Track track)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.Flags.html new file mode 100644 index 0000000000..b080494d60 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.Flags.html @@ -0,0 +1,189 @@ + + + + +Mp4Extractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Mp4Extractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html new file mode 100644 index 0000000000..8f065ba3dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Mp4Extractor.html @@ -0,0 +1,709 @@ + + + + +Mp4Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Mp4Extractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_WORKAROUND_IGNORE_EDIT_LISTS

            +
            public static final int FLAG_WORKAROUND_IGNORE_EDIT_LISTS
            +
            Flag to ignore any edit lists in the stream.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_READ_MOTION_PHOTO_METADATA

            +
            public static final int FLAG_READ_MOTION_PHOTO_METADATA
            +
            Flag to extract MotionPhotoMetadata from HEIC motion photos following the Google Photos + Motion Photo File Format V1.1. + +

            As playback is not supported for motion photos, this flag should only be used for metadata + retrieval use cases.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_READ_SEF_DATA

            +
            public static final int FLAG_READ_SEF_DATA
            +
            Flag to extract SlowMotionData metadata from Samsung Extension Format (SEF) slow motion + videos.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Mp4Extractor

            +
            public Mp4Extractor()
            +
            Creates a new extractor for unfragmented MP4 streams.
            +
          • +
          + + + +
            +
          • +

            Mp4Extractor

            +
            public Mp4Extractor​(@Flags
            +                    int flags)
            +
            Creates a new extractor for unfragmented MP4 streams, using the specified flags to control the + extractor's behavior.
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            isSeekable

            +
            public boolean isSeekable()
            +
            Description copied from interface: SeekMap
            +
            Returns whether seeking is supported.
            +
            +
            Specified by:
            +
            isSeekable in interface SeekMap
            +
            Returns:
            +
            Whether seeking is supported.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs()
            +
            Description copied from interface: SeekMap
            +
            Returns the duration of the stream in microseconds.
            +
            +
            Specified by:
            +
            getDurationUs in interface SeekMap
            +
            Returns:
            +
            The duration of the stream in microseconds, or C.TIME_UNSET if the duration is + unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getSeekPoints

            +
            public SeekMap.SeekPoints getSeekPoints​(long timeUs)
            +
            Description copied from interface: SeekMap
            +
            Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points. + +

            Two seek points [A, B] are returned in the case that seeking can only be performed to + discrete points in time, there does not exist a seek point at exactly the requested time, and + there exist seek points on both sides of it. In this case A and B are the closest seek points + before and after the requested time. A single seek point is returned in all other cases.

            +
            +
            Specified by:
            +
            getSeekPoints in interface SeekMap
            +
            Parameters:
            +
            timeUs - A seek time in microseconds.
            +
            Returns:
            +
            The corresponding seek points.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html new file mode 100644 index 0000000000..067c506e2e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html @@ -0,0 +1,414 @@ + + + + +PsshAtomUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PsshAtomUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class PsshAtomUtil
        +extends Object
        +
        Utility methods for handling PSSH atoms.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildPsshAtom

            +
            public static byte[] buildPsshAtom​(UUID systemId,
            +                                   @Nullable
            +                                   byte[] data)
            +
            Builds a version 0 PSSH atom for a given system id, containing the given data.
            +
            +
            Parameters:
            +
            systemId - The system id of the scheme.
            +
            data - The scheme specific data.
            +
            Returns:
            +
            The PSSH atom.
            +
            +
          • +
          + + + +
            +
          • +

            buildPsshAtom

            +
            public static byte[] buildPsshAtom​(UUID systemId,
            +                                   @Nullable
            +                                   UUID[] keyIds,
            +                                   @Nullable
            +                                   byte[] data)
            +
            Builds a PSSH atom for the given system id, containing the given key ids and data.
            +
            +
            Parameters:
            +
            systemId - The system id of the scheme.
            +
            keyIds - The key ids for a version 1 PSSH atom, or null for a version 0 PSSH atom.
            +
            data - The scheme specific data.
            +
            Returns:
            +
            The PSSH atom.
            +
            +
          • +
          + + + +
            +
          • +

            isPsshAtom

            +
            public static boolean isPsshAtom​(byte[] data)
            +
            Returns whether the data is a valid PSSH atom.
            +
            +
            Parameters:
            +
            data - The data to parse.
            +
            Returns:
            +
            Whether the data is a valid PSSH atom.
            +
            +
          • +
          + + + +
            +
          • +

            parseUuid

            +
            @Nullable
            +public static UUID parseUuid​(byte[] atom)
            +
            Parses the UUID from a PSSH atom. Version 0 and 1 PSSH atoms are supported. + +

            The UUID is only parsed if the data is a valid PSSH atom.

            +
            +
            Parameters:
            +
            atom - The atom to parse.
            +
            Returns:
            +
            The parsed UUID. Null if the input is not a valid PSSH atom, or if the PSSH atom has an + unsupported version.
            +
            +
          • +
          + + + +
            +
          • +

            parseVersion

            +
            public static int parseVersion​(byte[] atom)
            +
            Parses the version from a PSSH atom. Version 0 and 1 PSSH atoms are supported. +

            + The version is only parsed if the data is a valid PSSH atom.

            +
            +
            Parameters:
            +
            atom - The atom to parse.
            +
            Returns:
            +
            The parsed version. -1 if the input is not a valid PSSH atom, or if the PSSH atom has + an unsupported version.
            +
            +
          • +
          + + + +
            +
          • +

            parseSchemeSpecificData

            +
            @Nullable
            +public static byte[] parseSchemeSpecificData​(byte[] atom,
            +                                             UUID uuid)
            +
            Parses the scheme specific data from a PSSH atom. Version 0 and 1 PSSH atoms are supported. + +

            The scheme specific data is only parsed if the data is a valid PSSH atom matching the given + UUID, or if the data is a valid PSSH atom of any type in the case that the passed UUID is null.

            +
            +
            Parameters:
            +
            atom - The atom to parse.
            +
            uuid - The required UUID of the PSSH atom, or null to accept any UUID.
            +
            Returns:
            +
            The parsed scheme specific data. Null if the input is not a valid PSSH atom, or if the + PSSH atom has an unsupported version, or if the PSSH atom does not match the passed UUID.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.Transformation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.Transformation.html new file mode 100644 index 0000000000..2eeaa8f0cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.Transformation.html @@ -0,0 +1,189 @@ + + + + +Track.Transformation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Track.Transformation

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.html new file mode 100644 index 0000000000..7060f0174a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/Track.html @@ -0,0 +1,612 @@ + + + + +Track (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      + +
      +
        +
      • +
        +
        public final class Track
        +extends Object
        +
        Encapsulates information describing an MP4 track.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            TRANSFORMATION_NONE

            +
            public static final int TRANSFORMATION_NONE
            +
            A no-op sample transformation.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TRANSFORMATION_CEA608_CDAT

            +
            public static final int TRANSFORMATION_CEA608_CDAT
            +
            A transformation for caption samples in cdat atoms.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            id

            +
            public final int id
            +
            The track identifier.
            +
          • +
          + + + + + + + +
            +
          • +

            timescale

            +
            public final long timescale
            +
            The track timescale, defined as the number of time units that pass in one second.
            +
          • +
          + + + +
            +
          • +

            movieTimescale

            +
            public final long movieTimescale
            +
            The movie timescale.
            +
          • +
          + + + +
            +
          • +

            durationUs

            +
            public final long durationUs
            +
            The duration of the track in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            The format.
            +
          • +
          + + + +
            +
          • +

            sampleTransformation

            +
            @Transformation
            +public final int sampleTransformation
            +
            One of TRANSFORMATION_*. Defines the transformation to apply before outputting each + sample.
            +
          • +
          + + + +
            +
          • +

            editListDurations

            +
            @Nullable
            +public final long[] editListDurations
            +
            Durations of edit list segments in the movie timescale. Null if there is no edit list.
            +
          • +
          + + + +
            +
          • +

            editListMediaTimes

            +
            @Nullable
            +public final long[] editListMediaTimes
            +
            Media times for edit list segments in the track timescale. Null if there is no edit list.
            +
          • +
          + + + +
            +
          • +

            nalUnitLengthFieldLength

            +
            public final int nalUnitLengthFieldLength
            +
            For H264 video tracks, the length in bytes of the NALUnitLength field in each sample. 0 for + other track types.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Track

            +
            public Track​(int id,
            +             int type,
            +             long timescale,
            +             long movieTimescale,
            +             long durationUs,
            +             Format format,
            +             @Transformation
            +             int sampleTransformation,
            +             @Nullable
            +             TrackEncryptionBox[] sampleDescriptionEncryptionBoxes,
            +             int nalUnitLengthFieldLength,
            +             @Nullable
            +             long[] editListDurations,
            +             @Nullable
            +             long[] editListMediaTimes)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSampleDescriptionEncryptionBox

            +
            @Nullable
            +public TrackEncryptionBox getSampleDescriptionEncryptionBox​(int sampleDescriptionIndex)
            +
            Returns the TrackEncryptionBox for the given sample description index.
            +
            +
            Parameters:
            +
            sampleDescriptionIndex - The given sample description index
            +
            Returns:
            +
            The TrackEncryptionBox for the given sample description index. Maybe null if no + such entry exists.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithFormat

            +
            public Track copyWithFormat​(Format format)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/TrackEncryptionBox.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/TrackEncryptionBox.html new file mode 100644 index 0000000000..3141983848 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/TrackEncryptionBox.html @@ -0,0 +1,403 @@ + + + + +TrackEncryptionBox (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackEncryptionBox

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TrackEncryptionBox
        +extends Object
        +
        Encapsulates information parsed from a track encryption (tenc) box or sample group description + (sgpd) box in an MP4 stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            isEncrypted

            +
            public final boolean isEncrypted
            +
            Indicates the encryption state of the samples in the sample group.
            +
          • +
          + + + +
            +
          • +

            schemeType

            +
            @Nullable
            +public final String schemeType
            +
            The protection scheme type, as defined by the 'schm' box, or null if unknown.
            +
          • +
          + + + + + + + +
            +
          • +

            perSampleIvSize

            +
            public final int perSampleIvSize
            +
            The initialization vector size in bytes for the samples in the corresponding sample group.
            +
          • +
          + + + +
            +
          • +

            defaultInitializationVector

            +
            @Nullable
            +public final byte[] defaultInitializationVector
            +
            If perSampleIvSize is 0, holds the default initialization vector as defined in the + track encryption box or sample group description box. Null otherwise.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-frame.html new file mode 100644 index 0000000000..3f411c1204 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.extractor.mp4 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.mp4

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-summary.html new file mode 100644 index 0000000000..243e0f101d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-summary.html @@ -0,0 +1,222 @@ + + + + +com.google.android.exoplayer2.extractor.mp4 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.mp4

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        FragmentedMp4Extractor +
        Extracts data from the FMP4 container format.
        +
        Mp4Extractor +
        Extracts data from the MP4 container format.
        +
        PsshAtomUtil +
        Utility methods for handling PSSH atoms.
        +
        Track +
        Encapsulates information describing an MP4 track.
        +
        TrackEncryptionBox +
        Encapsulates information parsed from a track encryption (tenc) box or sample group description + (sgpd) box in an MP4 stream.
        +
        +
      • +
      • + + + + + + + + + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        FragmentedMp4Extractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        Mp4Extractor.Flags +
        Flags controlling the behavior of the extractor.
        +
        Track.Transformation +
        The transformation to apply to samples in the track, if any.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-tree.html new file mode 100644 index 0000000000..d7c7a59e5a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/mp4/package-tree.html @@ -0,0 +1,171 @@ + + + + +com.google.android.exoplayer2.extractor.mp4 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.mp4

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        • com.google.android.exoplayer2.extractor.mp4.Mp4Extractor (implements com.google.android.exoplayer2.extractor.Extractor, com.google.android.exoplayer2.extractor.SeekMap)
        • +
        • com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
        • +
        • com.google.android.exoplayer2.extractor.mp4.Track
        • +
        • com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
        • +
        +
      • +
      +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/OggExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/OggExtractor.html new file mode 100644 index 0000000000..682bfba0f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/OggExtractor.html @@ -0,0 +1,511 @@ + + + + +OggExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OggExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ogg.OggExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public class OggExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the Ogg container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            OggExtractor

            +
            public OggExtractor()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-frame.html new file mode 100644 index 0000000000..6f70e66863 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.extractor.ogg (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.ogg

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-summary.html new file mode 100644 index 0000000000..3521febe20 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.extractor.ogg (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.ogg

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        OggExtractor +
        Extracts data from the Ogg container format.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-tree.html new file mode 100644 index 0000000000..a4d79e1b0c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ogg/package-tree.html @@ -0,0 +1,161 @@ + + + + +com.google.android.exoplayer2.extractor.ogg Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.ogg

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.ogg.OggExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-frame.html new file mode 100644 index 0000000000..eb9410f6b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-frame.html @@ -0,0 +1,75 @@ + + + + +com.google.android.exoplayer2.extractor (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-summary.html new file mode 100644 index 0000000000..09db070068 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-summary.html @@ -0,0 +1,466 @@ + + + + +com.google.android.exoplayer2.extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-tree.html new file mode 100644 index 0000000000..5697aa21b5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/package-tree.html @@ -0,0 +1,213 @@ + + + + +com.google.android.exoplayer2.extractor Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/RawCcExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/RawCcExtractor.html new file mode 100644 index 0000000000..515dbf4ecb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/RawCcExtractor.html @@ -0,0 +1,478 @@ + + + + +RawCcExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RawCcExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class RawCcExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the RawCC container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RawCcExtractor

            +
            public RawCcExtractor​(Format format)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-frame.html new file mode 100644 index 0000000000..3f32af5e18 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.extractor.rawcc (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.rawcc

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-summary.html new file mode 100644 index 0000000000..e1cb076ea0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.extractor.rawcc (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.rawcc

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        RawCcExtractor +
        Extracts data from the RawCC container format.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-tree.html new file mode 100644 index 0000000000..66963d8c88 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/rawcc/package-tree.html @@ -0,0 +1,161 @@ + + + + +com.google.android.exoplayer2.extractor.rawcc Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.rawcc

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html new file mode 100644 index 0000000000..11ac0574de --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Extractor.html @@ -0,0 +1,514 @@ + + + + +Ac3Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac3Extractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.Ac3Extractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class Ac3Extractor
        +extends Object
        +implements Extractor
        +
        Extracts data from (E-)AC-3 bitstreams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Ac3Extractor

            +
            public Ac3Extractor()
            +
            Creates a new extractor for AC-3 bitstreams.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Reader.html new file mode 100644 index 0000000000..300dad0ec9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac3Reader.html @@ -0,0 +1,438 @@ + + + + +Ac3Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac3Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.Ac3Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html new file mode 100644 index 0000000000..3747c9866b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Extractor.html @@ -0,0 +1,514 @@ + + + + +Ac4Extractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac4Extractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.Ac4Extractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class Ac4Extractor
        +extends Object
        +implements Extractor
        +
        Extracts data from AC-4 bitstreams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Ac4Extractor

            +
            public Ac4Extractor()
            +
            Creates a new extractor for AC-4 bitstreams.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Reader.html new file mode 100644 index 0000000000..3a36843227 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Ac4Reader.html @@ -0,0 +1,438 @@ + + + + +Ac4Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Ac4Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.Ac4Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.Flags.html new file mode 100644 index 0000000000..58e4dc991f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.Flags.html @@ -0,0 +1,189 @@ + + + + +AdtsExtractor.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AdtsExtractor.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html new file mode 100644 index 0000000000..199cd0ebcd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsExtractor.html @@ -0,0 +1,576 @@ + + + + +AdtsExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdtsExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.AdtsExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class AdtsExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from AAC bit streams with ADTS framing.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            FLAG_ENABLE_CONSTANT_BITRATE_SEEKING

            +
            public static final int FLAG_ENABLE_CONSTANT_BITRATE_SEEKING
            +
            Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible. + +

            Note that this approach may result in approximated stream duration and seek position that + are not precise, especially when the stream bitrate varies a lot.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdtsExtractor

            +
            public AdtsExtractor()
            +
            Creates a new extractor for ADTS bitstreams.
            +
          • +
          + + + +
            +
          • +

            AdtsExtractor

            +
            public AdtsExtractor​(@Flags
            +                     int flags)
            +
            Creates a new extractor for ADTS bitstreams.
            +
            +
            Parameters:
            +
            flags - Flags that control the extractor's behavior.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsReader.html new file mode 100644 index 0000000000..7b314be43b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/AdtsReader.html @@ -0,0 +1,478 @@ + + + + +AdtsReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdtsReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.AdtsReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html new file mode 100644 index 0000000000..299f0d3f53 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.Flags.html @@ -0,0 +1,189 @@ + + + + +DefaultTsPayloadReaderFactory.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DefaultTsPayloadReaderFactory.Flags

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html new file mode 100644 index 0000000000..5ef0dd00c9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html @@ -0,0 +1,603 @@ + + + + +DefaultTsPayloadReaderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTsPayloadReaderFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            FLAG_ALLOW_NON_IDR_KEYFRAMES

            +
            public static final int FLAG_ALLOW_NON_IDR_KEYFRAMES
            +
            When extracting H.264 samples, whether to treat samples consisting of non-IDR I slices as + synchronization samples (key-frames).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_IGNORE_AAC_STREAM

            +
            public static final int FLAG_IGNORE_AAC_STREAM
            +
            Prevents the creation of AdtsReader and LatmReader instances. This flag should + be enabled if the transport stream contains no packets for an AAC elementary stream that is + declared in the PMT.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_IGNORE_H264_STREAM

            +
            public static final int FLAG_IGNORE_H264_STREAM
            +
            Prevents the creation of H264Reader instances. This flag should be enabled if the + transport stream contains no packets for an H.264 elementary stream that is declared in the + PMT.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_DETECT_ACCESS_UNITS

            +
            public static final int FLAG_DETECT_ACCESS_UNITS
            +
            When extracting H.264 samples, whether to split the input stream into access units (samples) + based on slice headers. This flag should be disabled if the stream contains access unit + delimiters (AUDs).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_IGNORE_SPLICE_INFO_STREAM

            +
            public static final int FLAG_IGNORE_SPLICE_INFO_STREAM
            +
            Prevents the creation of SectionPayloadReaders for splice information sections + (SCTE-35).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_OVERRIDE_CAPTION_DESCRIPTORS

            +
            public static final int FLAG_OVERRIDE_CAPTION_DESCRIPTORS
            +
            Whether the list of closedCaptionFormats passed to DefaultTsPayloadReaderFactory(int, List) should be used in spite + of any closed captions service descriptors. If this flag is disabled, + closedCaptionFormats will be ignored if the PMT contains closed captions service descriptors.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS

            +
            public static final int FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS
            +
            Sets whether HDMV DTS audio streams will be handled. If this flag is set, SCTE subtitles will + not be detected, as they share the same elementary stream type as HDMV DTS.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultTsPayloadReaderFactory

            +
            public DefaultTsPayloadReaderFactory()
            +
          • +
          + + + +
            +
          • +

            DefaultTsPayloadReaderFactory

            +
            public DefaultTsPayloadReaderFactory​(@Flags
            +                                     int flags)
            +
            +
            Parameters:
            +
            flags - A combination of FLAG_* values that control the behavior of the created + readers.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultTsPayloadReaderFactory

            +
            public DefaultTsPayloadReaderFactory​(@Flags
            +                                     int flags,
            +                                     List<Format> closedCaptionFormats)
            +
            +
            Parameters:
            +
            flags - A combination of FLAG_* values that control the behavior of the created + readers.
            +
            closedCaptionFormats - Formats to be exposed by payload readers for streams with + embedded closed captions when no caption service descriptors are provided. If + FLAG_OVERRIDE_CAPTION_DESCRIPTORS is set, closedCaptionFormats overrides + any descriptor information. If not set, and closedCaptionFormats is empty, a + closed caption track with Format.accessibilityChannel Format.NO_VALUE will + be exposed.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DtsReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DtsReader.html new file mode 100644 index 0000000000..98c11f6290 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DtsReader.html @@ -0,0 +1,422 @@ + + + + +DtsReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DtsReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.DtsReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html new file mode 100644 index 0000000000..bb0b6e8bea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/DvbSubtitleReader.html @@ -0,0 +1,418 @@ + + + + +DvbSubtitleReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DvbSubtitleReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html new file mode 100644 index 0000000000..37008787ef --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/ElementaryStreamReader.html @@ -0,0 +1,345 @@ + + + + +ElementaryStreamReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ElementaryStreamReader

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            seek

            +
            void seek()
            +
            Notifies the reader that a seek has occurred.
            +
          • +
          + + + + + + + +
            +
          • +

            packetStarted

            +
            void packetStarted​(long pesTimeUs,
            +                   @Flags
            +                   int flags)
            +
            Called when a packet starts.
            +
            +
            Parameters:
            +
            pesTimeUs - The timestamp associated with the packet.
            +
            flags - See TsPayloadReader.Flags.
            +
            +
          • +
          + + + +
            +
          • +

            consume

            +
            void consume​(ParsableByteArray data)
            +      throws ParserException
            +
            Consumes (possibly partial) data from the current packet.
            +
            +
            Parameters:
            +
            data - The data to consume.
            +
            Throws:
            +
            ParserException - If the data could not be parsed.
            +
            +
          • +
          + + + +
            +
          • +

            packetFinished

            +
            void packetFinished()
            +
            Called when a packet ends.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H262Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H262Reader.html new file mode 100644 index 0000000000..e21c653cee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H262Reader.html @@ -0,0 +1,414 @@ + + + + +H262Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class H262Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.H262Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H263Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H263Reader.html new file mode 100644 index 0000000000..c0fa967cb5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H263Reader.html @@ -0,0 +1,418 @@ + + + + +H263Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class H263Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.H263Reader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        ElementaryStreamReader
        +
        +
        +
        public final class H263Reader
        +extends Object
        +implements ElementaryStreamReader
        +
        Parses an ISO/IEC 14496-2 (MPEG-4 Part 2) or ITU-T Recommendation H.263 byte stream and extracts + individual frames.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H264Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H264Reader.html new file mode 100644 index 0000000000..239745fff9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H264Reader.html @@ -0,0 +1,426 @@ + + + + +H264Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class H264Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.H264Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H265Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H265Reader.html new file mode 100644 index 0000000000..a88f90fa85 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/H265Reader.html @@ -0,0 +1,418 @@ + + + + +H265Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class H265Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.H265Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Id3Reader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Id3Reader.html new file mode 100644 index 0000000000..88bf6b040a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/Id3Reader.html @@ -0,0 +1,414 @@ + + + + +Id3Reader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Id3Reader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.Id3Reader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/LatmReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/LatmReader.html new file mode 100644 index 0000000000..cf9f02c238 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/LatmReader.html @@ -0,0 +1,422 @@ + + + + +LatmReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LatmReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.LatmReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html new file mode 100644 index 0000000000..314431d582 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/MpegAudioReader.html @@ -0,0 +1,428 @@ + + + + +MpegAudioReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MpegAudioReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.MpegAudioReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PassthroughSectionPayloadReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PassthroughSectionPayloadReader.html new file mode 100644 index 0000000000..95d6dfcc4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PassthroughSectionPayloadReader.html @@ -0,0 +1,356 @@ + + + + +PassthroughSectionPayloadReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PassthroughSectionPayloadReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.PassthroughSectionPayloadReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PesReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PesReader.html new file mode 100644 index 0000000000..c4ca4b2ae2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PesReader.html @@ -0,0 +1,408 @@ + + + + +PesReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PesReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.PesReader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PsExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PsExtractor.html new file mode 100644 index 0000000000..0f45b3bdd6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/PsExtractor.html @@ -0,0 +1,614 @@ + + + + +PsExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PsExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.PsExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class PsExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the MPEG-2 PS container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PsExtractor

            +
            public PsExtractor()
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html new file mode 100644 index 0000000000..1be620e2d5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionPayloadReader.html @@ -0,0 +1,288 @@ + + + + +SectionPayloadReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SectionPayloadReader

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            consume

            +
            void consume​(ParsableByteArray sectionData)
            +
            Called by a SectionReader when a full section is received.
            +
            +
            Parameters:
            +
            sectionData - The data belonging to a section starting from the table_id. If + section_syntax_indicator is set to '1', sectionData excludes the CRC_32 field. + Otherwise, all bytes belonging to the table section are included.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionReader.html new file mode 100644 index 0000000000..d767753939 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SectionReader.html @@ -0,0 +1,406 @@ + + + + +SectionReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SectionReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.SectionReader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        TsPayloadReader
        +
        +
        +
        public final class SectionReader
        +extends Object
        +implements TsPayloadReader
        +
        Reads section data packets and feeds the whole sections to a given SectionPayloadReader. + Useful information on PSI sections can be found in ISO/IEC 13818-1, section 2.4.4.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SeiReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SeiReader.html new file mode 100644 index 0000000000..f8239ddb11 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/SeiReader.html @@ -0,0 +1,321 @@ + + + + +SeiReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SeiReader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.SeiReader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class SeiReader
        +extends Object
        +
        Consumes SEI buffers, outputting contained CEA-608/708 messages to a TrackOutput.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SeiReader

            +
            public SeiReader​(List<Format> closedCaptionFormats)
            +
            +
            Parameters:
            +
            closedCaptionFormats - A list of formats for the closed caption channels to expose.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.Mode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.Mode.html new file mode 100644 index 0000000000..bd79ede1cd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.Mode.html @@ -0,0 +1,189 @@ + + + + +TsExtractor.Mode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TsExtractor.Mode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.html new file mode 100644 index 0000000000..5b27323ebd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsExtractor.html @@ -0,0 +1,1065 @@ + + + + +TsExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TsExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.TsExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class TsExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from the MPEG-2 TS container format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TsExtractor

            +
            public TsExtractor()
            +
          • +
          + + + +
            +
          • +

            TsExtractor

            +
            public TsExtractor​(@Flags
            +                   int defaultTsPayloadReaderFlags)
            +
            +
            Parameters:
            +
            defaultTsPayloadReaderFlags - A combination of DefaultTsPayloadReaderFactory + FLAG_* values that control the behavior of the payload readers.
            +
            +
          • +
          + + + +
            +
          • +

            TsExtractor

            +
            public TsExtractor​(@Mode
            +                   int mode,
            +                   @Flags
            +                   int defaultTsPayloadReaderFlags,
            +                   int timestampSearchBytes)
            +
            +
            Parameters:
            +
            mode - Mode for the extractor. One of MODE_MULTI_PMT, MODE_SINGLE_PMT + and MODE_HLS.
            +
            defaultTsPayloadReaderFlags - A combination of DefaultTsPayloadReaderFactory + FLAG_* values that control the behavior of the payload readers.
            +
            timestampSearchBytes - The number of bytes searched from a given position in the stream to + find a PCR timestamp. If this value is too small, the duration might be unknown and seeking + might not be supported for high bitrate progressive streams. Setting a large value for this + field might be inefficient though because the extractor stores a buffer of + timestampSearchBytes bytes when determining the duration or when performing a seek + operation. The default value is DEFAULT_TIMESTAMP_SEARCH_BYTES. If the number of + bytes left in the stream from the current position is less than + timestampSearchBytes, the search is performed on the bytes left.
            +
            +
          • +
          + + + +
            +
          • +

            TsExtractor

            +
            public TsExtractor​(@Mode
            +                   int mode,
            +                   TimestampAdjuster timestampAdjuster,
            +                   TsPayloadReader.Factory payloadReaderFactory)
            +
            +
            Parameters:
            +
            mode - Mode for the extractor. One of MODE_MULTI_PMT, MODE_SINGLE_PMT + and MODE_HLS.
            +
            timestampAdjuster - A timestamp adjuster for offsetting and scaling sample timestamps.
            +
            payloadReaderFactory - Factory for injecting a custom set of payload readers.
            +
            +
          • +
          + + + +
            +
          • +

            TsExtractor

            +
            public TsExtractor​(@Mode
            +                   int mode,
            +                   TimestampAdjuster timestampAdjuster,
            +                   TsPayloadReader.Factory payloadReaderFactory,
            +                   int timestampSearchBytes)
            +
            +
            Parameters:
            +
            mode - Mode for the extractor. One of MODE_MULTI_PMT, MODE_SINGLE_PMT + and MODE_HLS.
            +
            timestampAdjuster - A timestamp adjuster for offsetting and scaling sample timestamps.
            +
            payloadReaderFactory - Factory for injecting a custom set of payload readers.
            +
            timestampSearchBytes - The number of bytes searched from a given position in the stream to + find a PCR timestamp. If this value is too small, the duration might be unknown and seeking + might not be supported for high bitrate progressive streams. Setting a large value for this + field might be inefficient though because the extractor stores a buffer of + timestampSearchBytes bytes when determining the duration or when performing a seek + operation. The default value is DEFAULT_TIMESTAMP_SEARCH_BYTES. If the number of + bytes left in the stream from the current position is less than + timestampSearchBytes, the search is performed on the bytes left.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            @ReadResult
            +public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.DvbSubtitleInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.DvbSubtitleInfo.html new file mode 100644 index 0000000000..5157d8ece2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.DvbSubtitleInfo.html @@ -0,0 +1,343 @@ + + + + +TsPayloadReader.DvbSubtitleInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TsPayloadReader.DvbSubtitleInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.TsPayloadReader.DvbSubtitleInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        TsPayloadReader
        +
        +
        +
        public static final class TsPayloadReader.DvbSubtitleInfo
        +extends Object
        +
        Holds information about a DVB subtitle, as defined in ETSI EN 300 468 V1.11.1 section 6.2.41.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            language

            +
            public final String language
            +
          • +
          + + + +
            +
          • +

            type

            +
            public final int type
            +
          • +
          + + + +
            +
          • +

            initializationData

            +
            public final byte[] initializationData
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DvbSubtitleInfo

            +
            public DvbSubtitleInfo​(String language,
            +                       int type,
            +                       byte[] initializationData)
            +
            +
            Parameters:
            +
            language - The ISO 639-2 three-letter language code.
            +
            type - The subtitling type.
            +
            initializationData - The composition and ancillary page ids.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.EsInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.EsInfo.html new file mode 100644 index 0000000000..d23927e5e2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.EsInfo.html @@ -0,0 +1,364 @@ + + + + +TsPayloadReader.EsInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TsPayloadReader.EsInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        TsPayloadReader
        +
        +
        +
        public static final class TsPayloadReader.EsInfo
        +extends Object
        +
        Holds information associated with a PMT entry.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            streamType

            +
            public final int streamType
            +
          • +
          + + + +
            +
          • +

            language

            +
            @Nullable
            +public final String language
            +
          • +
          + + + + + + + +
            +
          • +

            descriptorBytes

            +
            public final byte[] descriptorBytes
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EsInfo

            +
            public EsInfo​(int streamType,
            +              @Nullable
            +              String language,
            +              @Nullable
            +              List<TsPayloadReader.DvbSubtitleInfo> dvbSubtitleInfos,
            +              byte[] descriptorBytes)
            +
            +
            Parameters:
            +
            streamType - The type of the stream as defined by the TsExtractor + .TS_STREAM_TYPE_*.
            +
            language - The language of the stream, as defined by ISO/IEC 13818-1, section 2.6.18.
            +
            dvbSubtitleInfos - Information about DVB subtitles associated to the stream.
            +
            descriptorBytes - The descriptor bytes associated to the stream.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html new file mode 100644 index 0000000000..43c4e45401 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Factory.html @@ -0,0 +1,293 @@ + + + + +TsPayloadReader.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TsPayloadReader.Factory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createInitialPayloadReaders

            +
            SparseArray<TsPayloadReader> createInitialPayloadReaders()
            +
            Returns the initial mapping from PIDs to payload readers. +

            + This method allows the injection of payload readers for reserved PIDs, excluding PID 0.

            +
            +
            Returns:
            +
            A SparseArray that maps PIDs to payload readers.
            +
            +
          • +
          + + + +
            +
          • +

            createPayloadReader

            +
            @Nullable
            +TsPayloadReader createPayloadReader​(int streamType,
            +                                    TsPayloadReader.EsInfo esInfo)
            +
            Returns a TsPayloadReader for a given stream type and elementary stream information. + May return null if the stream type is not supported.
            +
            +
            Parameters:
            +
            streamType - Stream type value as defined in the PMT entry or associated descriptors.
            +
            esInfo - Information associated to the elementary stream provided in the PMT.
            +
            Returns:
            +
            A TsPayloadReader for the packet stream carried by the provided pid, or + null if the stream is not supported.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Flags.html new file mode 100644 index 0000000000..b60ba04e41 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.Flags.html @@ -0,0 +1,189 @@ + + + + +TsPayloadReader.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TsPayloadReader.Flags

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface TsPayloadReader.Flags
        +
        Contextual flags indicating the presence of indicators in the TS packet or PES packet headers.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.TrackIdGenerator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.TrackIdGenerator.html new file mode 100644 index 0000000000..caf32a39d8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.TrackIdGenerator.html @@ -0,0 +1,373 @@ + + + + +TsPayloadReader.TrackIdGenerator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TsPayloadReader.TrackIdGenerator

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TrackIdGenerator

            +
            public TrackIdGenerator​(int firstTrackId,
            +                        int trackIdIncrement)
            +
          • +
          + + + +
            +
          • +

            TrackIdGenerator

            +
            public TrackIdGenerator​(int programNumber,
            +                        int firstTrackId,
            +                        int trackIdIncrement)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            generateNewId

            +
            public void generateNewId()
            +
            Generates a new set of track and track format ids. Must be called before get* + methods.
            +
          • +
          + + + +
            +
          • +

            getTrackId

            +
            public int getTrackId()
            +
            Returns the last generated track id. Must be called after the first generateNewId() + call.
            +
            +
            Returns:
            +
            The last generated track id.
            +
            +
          • +
          + + + +
            +
          • +

            getFormatId

            +
            public String getFormatId()
            +
            Returns the last generated format id, with the format "programNumber/trackId". If no + programNumber was provided, the trackId alone is used as format id. Must be + called after the first generateNewId() call.
            +
            +
            Returns:
            +
            The last generated format id, with the format "programNumber/trackId". If no + programNumber was provided, the trackId alone is used as + format id.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html new file mode 100644 index 0000000000..81e2c59756 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsPayloadReader.html @@ -0,0 +1,452 @@ + + + + +TsPayloadReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TsPayloadReader

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        PesReader, SectionReader
        +
        +
        +
        public interface TsPayloadReader
        +
        Parses TS packet payload data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            FLAG_PAYLOAD_UNIT_START_INDICATOR

            +
            static final int FLAG_PAYLOAD_UNIT_START_INDICATOR
            +
            Indicates the presence of the payload_unit_start_indicator in the TS packet header.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_RANDOM_ACCESS_INDICATOR

            +
            static final int FLAG_RANDOM_ACCESS_INDICATOR
            +
            Indicates the presence of the random_access_indicator in the TS packet header adaptation field.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_DATA_ALIGNMENT_INDICATOR

            +
            static final int FLAG_DATA_ALIGNMENT_INDICATOR
            +
            Indicates the presence of the data_alignment_indicator in the PES header.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsUtil.html new file mode 100644 index 0000000000..85545dac62 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/TsUtil.html @@ -0,0 +1,302 @@ + + + + +TsUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      + +
      +
        +
      • +
        +
        public final class TsUtil
        +extends Object
        +
        Utilities method for extracting MPEG-TS streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            findSyncBytePosition

            +
            public static int findSyncBytePosition​(byte[] data,
            +                                       int startPosition,
            +                                       int limitPosition)
            +
            Returns the position of the first TS_SYNC_BYTE within the range [startPosition, limitPosition) + from the provided data array, or returns limitPosition if sync byte could not be found.
            +
          • +
          + + + +
            +
          • +

            readPcrFromPacket

            +
            public static long readPcrFromPacket​(ParsableByteArray packetBuffer,
            +                                     int startOfPacket,
            +                                     int pcrPid)
            +
            Returns the PCR value read from a given TS packet.
            +
            +
            Parameters:
            +
            packetBuffer - The buffer that holds the packet.
            +
            startOfPacket - The starting position of the packet in the buffer.
            +
            pcrPid - The PID for valid packets that contain PCR values.
            +
            Returns:
            +
            The PCR value read from the packet, if its PID is equal to pcrPid and it + contains a valid PCR value. Returns C.TIME_UNSET otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-frame.html new file mode 100644 index 0000000000..c17631dec3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-frame.html @@ -0,0 +1,66 @@ + + + + +com.google.android.exoplayer2.extractor.ts (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.ts

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-summary.html new file mode 100644 index 0000000000..3e3bd39bd7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-summary.html @@ -0,0 +1,389 @@ + + + + +com.google.android.exoplayer2.extractor.ts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.ts

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-tree.html new file mode 100644 index 0000000000..b90767b68d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/ts/package-tree.html @@ -0,0 +1,200 @@ + + + + +com.google.android.exoplayer2.extractor.ts Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.ts

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/WavExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/WavExtractor.html new file mode 100644 index 0000000000..0a65475c40 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/WavExtractor.html @@ -0,0 +1,511 @@ + + + + +WavExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WavExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.extractor.wav.WavExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class WavExtractor
        +extends Object
        +implements Extractor
        +
        Extracts data from WAV byte streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WavExtractor

            +
            public WavExtractor()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-frame.html new file mode 100644 index 0000000000..af7a219124 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.extractor.wav (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.extractor.wav

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-summary.html new file mode 100644 index 0000000000..0927dd8ca7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.extractor.wav (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.extractor.wav

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        WavExtractor +
        Extracts data from WAV byte streams.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-tree.html new file mode 100644 index 0000000000..65ac3677d3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/extractor/wav/package-tree.html @@ -0,0 +1,161 @@ + + + + +com.google.android.exoplayer2.extractor.wav Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.extractor.wav

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.extractor.wav.WavExtractor (implements com.google.android.exoplayer2.extractor.Extractor)
        • +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Factory.html new file mode 100644 index 0000000000..42e506b75d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.Factory.html @@ -0,0 +1,299 @@ + + + + +MediaCodecAdapter.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaCodecAdapter.Factory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.OnFrameRenderedListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.OnFrameRenderedListener.html new file mode 100644 index 0000000000..c276272a23 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.OnFrameRenderedListener.html @@ -0,0 +1,259 @@ + + + + +MediaCodecAdapter.OnFrameRenderedListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaCodecAdapter.OnFrameRenderedListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onFrameRendered

            +
            void onFrameRendered​(MediaCodecAdapter codec,
            +                     long presentationTimeUs,
            +                     long nanoTime)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html new file mode 100644 index 0000000000..50540121d2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html @@ -0,0 +1,668 @@ + + + + +MediaCodecAdapter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaCodecAdapter

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecDecoderException.html new file mode 100644 index 0000000000..e6ba3df638 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecDecoderException.html @@ -0,0 +1,360 @@ + + + + +MediaCodecDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            diagnosticInfo

            +
            @Nullable
            +public final String diagnosticInfo
            +
            An optional developer-readable diagnostic information string. May be null.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaCodecDecoderException

            +
            public MediaCodecDecoderException​(Throwable cause,
            +                                  @Nullable
            +                                  MediaCodecInfo codecInfo)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html new file mode 100644 index 0000000000..e1c2162bcf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecInfo.html @@ -0,0 +1,916 @@ + + + + +MediaCodecInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.mediacodec.MediaCodecInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaCodecInfo
        +extends Object
        +
        Information about a MediaCodec for a given mime type.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            newInstance

            +
            public static MediaCodecInfo newInstance​(String name,
            +                                         String mimeType,
            +                                         String codecMimeType,
            +                                         @Nullable
            +                                         MediaCodecInfo.CodecCapabilities capabilities,
            +                                         boolean hardwareAccelerated,
            +                                         boolean softwareOnly,
            +                                         boolean vendor,
            +                                         boolean forceDisableAdaptive,
            +                                         boolean forceSecure)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            name - The name of the MediaCodec.
            +
            mimeType - A mime type supported by the MediaCodec.
            +
            codecMimeType - The MIME type that the codec uses for media of type #mimeType. + Equal to mimeType unless the codec is known to use a non-standard MIME type alias.
            +
            capabilities - The capabilities of the MediaCodec for the specified mime type, or + null if not known.
            +
            hardwareAccelerated - Whether the MediaCodec is hardware accelerated.
            +
            softwareOnly - Whether the MediaCodec is software only.
            +
            vendor - Whether the MediaCodec is provided by the vendor.
            +
            forceDisableAdaptive - Whether adaptive should be forced to false.
            +
            forceSecure - Whether secure should be forced to true.
            +
            Returns:
            +
            The created instance.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getProfileLevels

            +
            public MediaCodecInfo.CodecProfileLevel[] getProfileLevels()
            +
            The profile levels supported by the decoder.
            +
            +
            Returns:
            +
            The profile levels supported by the decoder.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isFormatSupported

            +
            public boolean isFormatSupported​(Format format)
            +                          throws MediaCodecUtil.DecoderQueryException
            +
            Returns whether the decoder may support decoding the given format.
            +
            +
            Parameters:
            +
            format - The input media format.
            +
            Returns:
            +
            Whether the decoder may support decoding the given format.
            +
            Throws:
            +
            MediaCodecUtil.DecoderQueryException - Thrown if an error occurs while querying decoders.
            +
            +
          • +
          + + + +
            +
          • +

            isCodecSupported

            +
            public boolean isCodecSupported​(Format format)
            +
            Whether the decoder supports the codec of the given format. If there is insufficient + information to decide, returns true.
            +
            +
            Parameters:
            +
            format - The input media format.
            +
            Returns:
            +
            True if the codec of the given format is supported by the decoder.
            +
            +
          • +
          + + + +
            +
          • +

            isHdr10PlusOutOfBandMetadataSupported

            +
            public boolean isHdr10PlusOutOfBandMetadataSupported()
            +
            Whether the codec handles HDR10+ out-of-band metadata.
            +
          • +
          + + + +
            +
          • +

            isSeamlessAdaptationSupported

            +
            public boolean isSeamlessAdaptationSupported​(Format format)
            +
            Returns whether it may be possible to adapt an instance of this decoder to playing a different + format when the codec is configured to play media in the specified format. + +

            For adaptation to succeed, the codec must also be configured with appropriate maximum values + and isSeamlessAdaptationSupported(Format, Format, boolean) must return true + for the old/new formats.

            +
            +
            Parameters:
            +
            format - The format of media for which the decoder will be configured.
            +
            Returns:
            +
            Whether adaptation may be possible
            +
            +
          • +
          + + + +
            +
          • +

            isSeamlessAdaptationSupported

            +
            @Deprecated
            +public boolean isSeamlessAdaptationSupported​(Format oldFormat,
            +                                             Format newFormat,
            +                                             boolean isNewFormatComplete)
            + +
            Returns whether it is possible to adapt an instance of this decoder seamlessly from + oldFormat to newFormat. If newFormat may not be completely populated, pass + false for isNewFormatComplete. + +

            For adaptation to succeed, the codec must also be configured with maximum values that are + compatible with the new format.

            +
            +
            Parameters:
            +
            oldFormat - The format being decoded.
            +
            newFormat - The new format.
            +
            isNewFormatComplete - Whether newFormat is populated with format-specific + metadata.
            +
            Returns:
            +
            Whether it is possible to adapt the decoder seamlessly.
            +
            +
          • +
          + + + +
            +
          • +

            canReuseCodec

            +
            public DecoderReuseEvaluation canReuseCodec​(Format oldFormat,
            +                                            Format newFormat)
            +
            Evaluates whether it's possible to reuse an instance of this decoder that's currently decoding + oldFormat to decode newFormat instead. + +

            For adaptation to succeed, the codec must also be configured with maximum values that are + compatible with the new format.

            +
            +
            Parameters:
            +
            oldFormat - The format being decoded.
            +
            newFormat - The new format.
            +
            Returns:
            +
            The result of the evaluation.
            +
            +
          • +
          + + + +
            +
          • +

            isVideoSizeAndRateSupportedV21

            +
            public boolean isVideoSizeAndRateSupportedV21​(int width,
            +                                              int height,
            +                                              double frameRate)
            +
            Whether the decoder supports video with a given width, height and frame rate. + +

            Must not be called if the device SDK version is less than 21.

            +
            +
            Parameters:
            +
            width - Width in pixels.
            +
            height - Height in pixels.
            +
            frameRate - Optional frame rate in frames per second. Ignored if set to Format.NO_VALUE or any value less than or equal to 0.
            +
            Returns:
            +
            Whether the decoder supports video with the given width, height and frame rate.
            +
            +
          • +
          + + + +
            +
          • +

            alignVideoSizeV21

            +
            @Nullable
            +public Point alignVideoSizeV21​(int width,
            +                               int height)
            +
            Returns the smallest video size greater than or equal to a specified size that also satisfies + the MediaCodec's width and height alignment requirements. + +

            Must not be called if the device SDK version is less than 21.

            +
            +
            Parameters:
            +
            width - Width in pixels.
            +
            height - Height in pixels.
            +
            Returns:
            +
            The smallest video size greater than or equal to the specified size that also satisfies + the MediaCodec's width and height alignment requirements, or null if not a video + codec.
            +
            +
          • +
          + + + +
            +
          • +

            isAudioSampleRateSupportedV21

            +
            public boolean isAudioSampleRateSupportedV21​(int sampleRate)
            +
            Whether the decoder supports audio with a given sample rate. + +

            Must not be called if the device SDK version is less than 21.

            +
            +
            Parameters:
            +
            sampleRate - The sample rate in Hz.
            +
            Returns:
            +
            Whether the decoder supports audio with the given sample rate.
            +
            +
          • +
          + + + +
            +
          • +

            isAudioChannelCountSupportedV21

            +
            public boolean isAudioChannelCountSupportedV21​(int channelCount)
            +
            Whether the decoder supports audio with a given channel count. + +

            Must not be called if the device SDK version is less than 21.

            +
            +
            Parameters:
            +
            channelCount - The channel count.
            +
            Returns:
            +
            Whether the decoder supports audio with the given channel count.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.DecoderInitializationException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.DecoderInitializationException.html new file mode 100644 index 0000000000..3cb958ac81 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.DecoderInitializationException.html @@ -0,0 +1,435 @@ + + + + +MediaCodecRenderer.DecoderInitializationException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecRenderer.DecoderInitializationException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        MediaCodecRenderer
        +
        +
        +
        public static class MediaCodecRenderer.DecoderInitializationException
        +extends Exception
        +
        Thrown when a failure occurs instantiating a decoder.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            mimeType

            +
            public final String mimeType
            +
            The mime type for which a decoder was being initialized.
            +
          • +
          + + + +
            +
          • +

            secureDecoderRequired

            +
            public final boolean secureDecoderRequired
            +
            Whether it was required that the decoder support a secure output path.
            +
          • +
          + + + +
            +
          • +

            codecInfo

            +
            @Nullable
            +public final MediaCodecInfo codecInfo
            +
            The MediaCodecInfo of the decoder that failed to initialize. Null if no suitable + decoder was found.
            +
          • +
          + + + +
            +
          • +

            diagnosticInfo

            +
            @Nullable
            +public final String diagnosticInfo
            +
            An optional developer-readable diagnostic information string. May be null.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderInitializationException

            +
            public DecoderInitializationException​(Format format,
            +                                      @Nullable
            +                                      Throwable cause,
            +                                      boolean secureDecoderRequired,
            +                                      int errorCode)
            +
          • +
          + + + +
            +
          • +

            DecoderInitializationException

            +
            public DecoderInitializationException​(Format format,
            +                                      @Nullable
            +                                      Throwable cause,
            +                                      boolean secureDecoderRequired,
            +                                      MediaCodecInfo mediaCodecInfo)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.html new file mode 100644 index 0000000000..2fb6b6e164 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecRenderer.html @@ -0,0 +1,1808 @@ + + + + +MediaCodecRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            CODEC_OPERATING_RATE_UNSET

            +
            protected static final float CODEC_OPERATING_RATE_UNSET
            +
            Indicates no codec operating rate should be set.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaCodecRenderer

            +
            public MediaCodecRenderer​(int trackType,
            +                          MediaCodecAdapter.Factory codecAdapterFactory,
            +                          MediaCodecSelector mediaCodecSelector,
            +                          boolean enableDecoderFallback,
            +                          float assumedMinimumCodecOperatingRate)
            +
            +
            Parameters:
            +
            trackType - The track type that the renderer handles. One of the C.TRACK_TYPE_* + constants defined in C.
            +
            mediaCodecSelector - A decoder selector.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is less efficient or slower + than the primary decoder.
            +
            assumedMinimumCodecOperatingRate - A codec operating rate that all codecs instantiated by + this renderer are assumed to meet implicitly (i.e. without the operating rate being set + explicitly using MediaFormat.KEY_OPERATING_RATE).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setRenderTimeLimitMs

            +
            public void setRenderTimeLimitMs​(long renderTimeLimitMs)
            +
            Set a limit on the time a single render(long, long) call can spend draining and + filling the decoder. + +

            This method should be called right after creating an instance of this class.

            +
            +
            Parameters:
            +
            renderTimeLimitMs - The render time limit in milliseconds, or C.TIME_UNSET for no + limit.
            +
            +
          • +
          + + + +
            +
          • +

            experimentalSetAsynchronousBufferQueueingEnabled

            +
            public void experimentalSetAsynchronousBufferQueueingEnabled​(boolean enabled)
            +
            Enable asynchronous input buffer queueing. + +

            Operates the underlying MediaCodec in asynchronous mode and submits input buffers + from a separate thread to unblock the playback thread. + +

            This method is experimental, and will be renamed or removed in a future release. It should + only be called before the renderer is used.

            +
          • +
          + + + +
            +
          • +

            experimentalSetForceAsyncQueueingSynchronizationWorkaround

            +
            public void experimentalSetForceAsyncQueueingSynchronizationWorkaround​(boolean enabled)
            +
            Enable the asynchronous queueing synchronization workaround. + +

            When enabled, the queueing threads for MediaCodec instance will synchronize on a + shared lock when submitting buffers to the respective MediaCodec. + +

            This method is experimental, and will be renamed or removed in a future release. It should + only be called before the renderer is used.

            +
          • +
          + + + +
            +
          • +

            experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled

            +
            public void experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled​(boolean enabled)
            +
            Enable synchronizing codec interactions with asynchronous buffer queueing. + +

            When enabled, codec interactions will wait until all input buffers pending for asynchronous + queueing are submitted to the MediaCodec first. This method is effective only if asynchronous buffer queueing is enabled. + +

            This method is experimental, and will be renamed or removed in a future release. It should + only be called before the renderer is used.

            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            getDecoderInfos

            +
            protected abstract List<MediaCodecInfo> getDecoderInfos​(MediaCodecSelector mediaCodecSelector,
            +                                                        Format format,
            +                                                        boolean requiresSecureDecoder)
            +                                                 throws MediaCodecUtil.DecoderQueryException
            +
            Returns a list of decoders that can decode media in the specified format, in priority order.
            +
            +
            Parameters:
            +
            mediaCodecSelector - The decoder selector.
            +
            format - The Format for which a decoder is required.
            +
            requiresSecureDecoder - Whether a secure decoder is required.
            +
            Returns:
            +
            A list of MediaCodecInfos corresponding to decoders. May be empty.
            +
            Throws:
            +
            MediaCodecUtil.DecoderQueryException - Thrown if there was an error querying decoders.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            shouldUseBypass

            +
            protected boolean shouldUseBypass​(Format format)
            +
            Returns whether buffers in the input format can be processed without a codec. + +

            This method is only called if the content is not DRM protected, because if the content is + DRM protected use of bypass is never possible.

            +
            +
            Parameters:
            +
            format - The input Format.
            +
            Returns:
            +
            Whether playback bypassing MediaCodec is supported.
            +
            +
          • +
          + + + +
            +
          • +

            shouldInitCodec

            +
            protected boolean shouldInitCodec​(MediaCodecInfo codecInfo)
            +
          • +
          + + + +
            +
          • +

            getCodecNeedsEosPropagation

            +
            protected boolean getCodecNeedsEosPropagation()
            +
            Returns whether the codec needs the renderer to propagate the end-of-stream signal directly, + rather than by using an end-of-stream buffer queued to the codec.
            +
          • +
          + + + +
            +
          • +

            setPendingPlaybackException

            +
            protected final void setPendingPlaybackException​(ExoPlaybackException exception)
            +
            Sets an exception to be re-thrown by render.
            +
            +
            Parameters:
            +
            exception - The exception.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getCodecOutputMediaFormat

            +
            @Nullable
            +protected final MediaFormat getCodecOutputMediaFormat()
            +
          • +
          + + + +
            +
          • +

            getCodecInfo

            +
            @Nullable
            +protected final MediaCodecInfo getCodecInfo()
            +
          • +
          + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class BaseRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackSpeed

            +
            public void setPlaybackSpeed​(float currentPlaybackSpeed,
            +                             float targetPlaybackSpeed)
            +                      throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Indicates the playback speed to this renderer. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            currentPlaybackSpeed - The factor by which playback is currently sped up.
            +
            targetPlaybackSpeed - The target factor by which playback should be sped up. This may be + different from currentPlaybackSpeed, for example, if the speed is temporarily + adjusted for live playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the playback speed.
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is reset. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onReset in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            releaseCodec

            +
            protected void releaseCodec()
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStarted in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class BaseRenderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            flushOrReinitializeCodec

            +
            protected final boolean flushOrReinitializeCodec()
            +                                          throws ExoPlaybackException
            +
            Flushes the codec. If flushing is not possible, the codec will be released and re-instantiated. + This method is a no-op if the codec is null. + +

            The implementation of this method calls flushOrReleaseCodec(), and maybeInitCodecOrBypass() if the codec needs to be re-instantiated.

            +
            +
            Returns:
            +
            Whether the codec was released and reinitialized, rather than being flushed.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs re-instantiating the codec.
            +
            +
          • +
          + + + +
            +
          • +

            flushOrReleaseCodec

            +
            protected boolean flushOrReleaseCodec()
            +
            Flushes the codec. If flushing is not possible, the codec will be released. This method is a + no-op if the codec is null.
            +
            +
            Returns:
            +
            Whether the codec was released.
            +
            +
          • +
          + + + +
            +
          • +

            resetCodecStateForFlush

            +
            @CallSuper
            +protected void resetCodecStateForFlush()
            +
            Resets the renderer internal state after a codec flush.
            +
          • +
          + + + +
            +
          • +

            resetCodecStateForRelease

            +
            @CallSuper
            +protected void resetCodecStateForRelease()
            +
            Resets the renderer internal state after a codec release. + +

            Note that this only needs to reset state variables that are changed in addition to those + already changed in resetCodecStateForFlush().

            +
          • +
          + + + + + + + +
            +
          • +

            onCodecInitialized

            +
            protected void onCodecInitialized​(String name,
            +                                  long initializedTimestampMs,
            +                                  long initializationDurationMs)
            +
            Called when a MediaCodec has been created and configured. +

            + The default implementation is a no-op.

            +
            +
            Parameters:
            +
            name - The name of the codec that was initialized.
            +
            initializedTimestampMs - SystemClock.elapsedRealtime() when initialization + finished.
            +
            initializationDurationMs - The time taken to initialize the codec in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onCodecReleased

            +
            protected void onCodecReleased​(String name)
            +
            Called when a MediaCodec has been released. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            name - The name of the codec that was released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            legacyKeepAvailableCodecInfosWithoutCodec

            +
            protected boolean legacyKeepAvailableCodecInfosWithoutCodec()
            +
            Returns whether to keep available codec infos when the codec hasn't been initialized, which is + the behavior before a bug fix. See also [Internal: b/162837741].
            +
          • +
          + + + +
            +
          • +

            onOutputFormatChanged

            +
            protected void onOutputFormatChanged​(Format format,
            +                                     @Nullable
            +                                     MediaFormat mediaFormat)
            +                              throws ExoPlaybackException
            +
            Called when one of the output formats changes. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            format - The input Format to which future output now corresponds. If the renderer + is in bypass mode, this is also the output format.
            +
            mediaFormat - The codec output MediaFormat, or null if the renderer is in + bypass mode.
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs configuring the output.
            +
            +
          • +
          + + + +
            +
          • +

            handleInputBufferSupplementalData

            +
            protected void handleInputBufferSupplementalData​(DecoderInputBuffer buffer)
            +                                          throws ExoPlaybackException
            +
            Handles supplemental data associated with an input buffer. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            buffer - The input buffer that is about to be queued.
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs handling supplemental data.
            +
            +
          • +
          + + + +
            +
          • +

            onQueueInputBuffer

            +
            protected void onQueueInputBuffer​(DecoderInputBuffer buffer)
            +                           throws ExoPlaybackException
            +
            Called immediately before an input buffer is queued into the codec. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            buffer - The buffer to be queued.
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs handling the input buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onProcessedOutputBuffer

            +
            @CallSuper
            +protected void onProcessedOutputBuffer​(long presentationTimeUs)
            +
            Called when an output buffer is successfully processed.
            +
            +
            Parameters:
            +
            presentationTimeUs - The timestamp associated with the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onProcessedStreamChange

            +
            protected void onProcessedStreamChange()
            +
            Called after the last output buffer before a stream change has been processed.
            +
          • +
          + + + +
            +
          • +

            canReuseCodec

            +
            protected DecoderReuseEvaluation canReuseCodec​(MediaCodecInfo codecInfo,
            +                                               Format oldFormat,
            +                                               Format newFormat)
            +
            Evaluates whether the existing MediaCodec can be kept for a new Format, and if + it can whether it requires reconfiguration. + +

            The default implementation does not allow decoder reuse.

            +
            +
            Parameters:
            +
            codecInfo - A MediaCodecInfo describing the decoder.
            +
            oldFormat - The Format for which the existing instance is configured.
            +
            newFormat - The new Format.
            +
            Returns:
            +
            The result of the evaluation.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCodecOperatingRate

            +
            protected float getCodecOperatingRate()
            +
            Returns the operating rate used by the current codec
            +
          • +
          + + + +
            +
          • +

            getCodecOperatingRateV23

            +
            protected float getCodecOperatingRateV23​(float targetPlaybackSpeed,
            +                                         Format format,
            +                                         Format[] streamFormats)
            +
            Returns the MediaFormat.KEY_OPERATING_RATE value for a given playback speed, current + Format and set of possible stream formats. + +

            The default implementation returns CODEC_OPERATING_RATE_UNSET.

            +
            +
            Parameters:
            +
            targetPlaybackSpeed - The target factor by which playback should be sped up. This may be + different from the current playback speed, for example, if the speed is temporarily + adjusted for live playback.
            +
            format - The Format for which the codec is being configured.
            +
            streamFormats - The possible stream formats.
            +
            Returns:
            +
            The codec operating rate, or CODEC_OPERATING_RATE_UNSET if no codec operating + rate should be set.
            +
            +
          • +
          + + + +
            +
          • +

            processOutputBuffer

            +
            protected abstract boolean processOutputBuffer​(long positionUs,
            +                                               long elapsedRealtimeUs,
            +                                               @Nullable
            +                                               MediaCodecAdapter codec,
            +                                               @Nullable
            +                                               ByteBuffer buffer,
            +                                               int bufferIndex,
            +                                               int bufferFlags,
            +                                               int sampleCount,
            +                                               long bufferPresentationTimeUs,
            +                                               boolean isDecodeOnlyBuffer,
            +                                               boolean isLastBuffer,
            +                                               Format format)
            +                                        throws ExoPlaybackException
            +
            Processes an output media buffer. + +

            When a new ByteBuffer is passed to this method its position and limit delineate the + data to be processed. The return value indicates whether the buffer was processed in full. If + true is returned then the next call to this method will receive a new buffer to be processed. + If false is returned then the same buffer will be passed to the next call. An implementation of + this method is free to modify the buffer and can assume that the buffer will not be externally + modified between successive calls. Hence an implementation can, for example, modify the + buffer's position to keep track of how much of the data it has processed. + +

            Note that the first call to this method following a call to onPositionReset(long, + boolean) will always receive a new ByteBuffer to be processed.

            +
            +
            Parameters:
            +
            positionUs - The current media time in microseconds, measured at the start of the current + iteration of the rendering loop.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, measured at the + start of the current iteration of the rendering loop.
            +
            codec - The MediaCodecAdapter instance, or null in bypass mode were no codec is + used.
            +
            buffer - The output buffer to process, or null if the buffer data is not made available to + the application layer (see MediaCodec.getOutputBuffer(int)). This buffer + can only be null for video data. Note that the buffer data can still be rendered in this + case by using the bufferIndex.
            +
            bufferIndex - The index of the output buffer.
            +
            bufferFlags - The flags attached to the output buffer.
            +
            sampleCount - The number of samples extracted from the sample queue in the buffer. This + allows handling multiple samples as a batch for efficiency.
            +
            bufferPresentationTimeUs - The presentation time of the output buffer in microseconds.
            +
            isDecodeOnlyBuffer - Whether the buffer was marked with C.BUFFER_FLAG_DECODE_ONLY + by the source.
            +
            isLastBuffer - Whether the buffer is the last sample of the current stream.
            +
            format - The Format associated with the buffer.
            +
            Returns:
            +
            Whether the output buffer was fully processed (for example, rendered or skipped).
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs processing the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            renderToEndOfStream

            +
            protected void renderToEndOfStream()
            +                            throws ExoPlaybackException
            +
            Incrementally renders any remaining output. +

            + The default implementation is a no-op.

            +
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs rendering remaining output.
            +
            +
          • +
          + + + +
            +
          • +

            setPendingOutputEndOfStream

            +
            protected final void setPendingOutputEndOfStream()
            +
            Notifies the renderer that output end of stream is pending and should be handled on the next + render.
            +
          • +
          + + + + + + + +
            +
          • +

            supportsFormatDrm

            +
            protected static boolean supportsFormatDrm​(Format format)
            +
            Returns whether this renderer supports the given Format's DRM scheme.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.html new file mode 100644 index 0000000000..cf36b4f771 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecSelector.html @@ -0,0 +1,309 @@ + + + + +MediaCodecSelector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaCodecSelector

      +
      +
      +
      +
        +
      • +
        +
        public interface MediaCodecSelector
        +
        Selector of MediaCodec instances.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getDecoderInfos

            +
            List<MediaCodecInfo> getDecoderInfos​(String mimeType,
            +                                     boolean requiresSecureDecoder,
            +                                     boolean requiresTunnelingDecoder)
            +                              throws MediaCodecUtil.DecoderQueryException
            +
            Returns a list of decoders that can decode media in the specified MIME type, in priority order.
            +
            +
            Parameters:
            +
            mimeType - The MIME type for which a decoder is required.
            +
            requiresSecureDecoder - Whether a secure decoder is required.
            +
            requiresTunnelingDecoder - Whether a tunneling decoder is required.
            +
            Returns:
            +
            An unmodifiable list of MediaCodecInfos corresponding to decoders. May be + empty.
            +
            Throws:
            +
            MediaCodecUtil.DecoderQueryException - Thrown if there was an error querying decoders.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.DecoderQueryException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.DecoderQueryException.html new file mode 100644 index 0000000000..e1d3bdc17b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.DecoderQueryException.html @@ -0,0 +1,253 @@ + + + + +MediaCodecUtil.DecoderQueryException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecUtil.DecoderQueryException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        MediaCodecUtil
        +
        +
        +
        public static class MediaCodecUtil.DecoderQueryException
        +extends Exception
        +
        Thrown when an error occurs querying the device for its underlying media capabilities. +

        + Such failures are not expected in normal operation and are normally temporary (e.g. if the + mediaserver process has crashed and is yet to restart).

        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.html new file mode 100644 index 0000000000..781100d799 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaCodecUtil.html @@ -0,0 +1,479 @@ + + + + +MediaCodecUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.mediacodec.MediaCodecUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaCodecUtil
        +extends Object
        +
        A utility class for querying the available codecs.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            warmDecoderInfoCache

            +
            public static void warmDecoderInfoCache​(String mimeType,
            +                                        boolean secure,
            +                                        boolean tunneling)
            +
            Optional call to warm the codec cache for a given mime type. + +

            Calling this method may speed up subsequent calls to getDecoderInfo(String, boolean, + boolean) and getDecoderInfos(String, boolean, boolean).

            +
            +
            Parameters:
            +
            mimeType - The mime type.
            +
            secure - Whether the decoder is required to support secure decryption. Always pass false + unless secure decryption really is required.
            +
            tunneling - Whether the decoder is required to support tunneling. Always pass false unless + tunneling really is required.
            +
            +
          • +
          + + + +
            +
          • +

            clearDecoderInfoCache

            +
            public static void clearDecoderInfoCache()
            +
            Clears the codec cache. + +

            This method should only be called in tests.

            +
          • +
          + + + + + + + +
            +
          • +

            getDecoderInfo

            +
            @Nullable
            +public static MediaCodecInfo getDecoderInfo​(String mimeType,
            +                                            boolean secure,
            +                                            boolean tunneling)
            +                                     throws MediaCodecUtil.DecoderQueryException
            +
            Returns information about the preferred decoder for a given mime type.
            +
            +
            Parameters:
            +
            mimeType - The MIME type.
            +
            secure - Whether the decoder is required to support secure decryption. Always pass false + unless secure decryption really is required.
            +
            tunneling - Whether the decoder is required to support tunneling. Always pass false unless + tunneling really is required.
            +
            Returns:
            +
            A MediaCodecInfo describing the decoder, or null if no suitable decoder exists.
            +
            Throws:
            +
            MediaCodecUtil.DecoderQueryException - If there was an error querying the available decoders.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getDecoderInfosSortedByFormatSupport

            +
            @CheckResult
            +public static List<MediaCodecInfo> getDecoderInfosSortedByFormatSupport​(List<MediaCodecInfo> decoderInfos,
            +                                                                        Format format)
            +
            Returns a copy of the provided decoder list sorted such that decoders with format support are + listed first. The returned list is modifiable for convenience.
            +
          • +
          + + + + + + + +
            +
          • +

            getCodecProfileAndLevel

            +
            @Nullable
            +public static Pair<Integer,Integer> getCodecProfileAndLevel​(Format format)
            +
            Returns profile and level (as defined by MediaCodecInfo.CodecProfileLevel) corresponding to the codec + description string (as defined by RFC 6381) of the given format.
            +
            +
            Parameters:
            +
            format - Media format with a codec description string, as defined by RFC 6381.
            +
            Returns:
            +
            A pair (profile constant, level constant) if the codec of the format is + well-formed and recognized, or null otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaFormatUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaFormatUtil.html new file mode 100644 index 0000000000..12d252ced1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/MediaFormatUtil.html @@ -0,0 +1,407 @@ + + + + +MediaFormatUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaFormatUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.mediacodec.MediaFormatUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaFormatUtil
        +extends Object
        +
        Helper class for configuring MediaFormat instances.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            setCsdBuffers

            +
            public static void setCsdBuffers​(MediaFormat format,
            +                                 List<byte[]> csdBuffers)
            +
            Sets a MediaFormat's codec specific data buffers.
            +
            +
            Parameters:
            +
            format - The MediaFormat being configured.
            +
            csdBuffers - The csd buffers to set.
            +
            +
          • +
          + + + +
            +
          • +

            maybeSetInteger

            +
            public static void maybeSetInteger​(MediaFormat format,
            +                                   String key,
            +                                   int value)
            +
            Sets a MediaFormat integer value. Does nothing if value is Format.NO_VALUE.
            +
            +
            Parameters:
            +
            format - The MediaFormat being configured.
            +
            key - The key to set.
            +
            value - The value to set.
            +
            +
          • +
          + + + +
            +
          • +

            maybeSetFloat

            +
            public static void maybeSetFloat​(MediaFormat format,
            +                                 String key,
            +                                 float value)
            +
            Sets a MediaFormat float value. Does nothing if value is Format.NO_VALUE.
            +
            +
            Parameters:
            +
            format - The MediaFormat being configured.
            +
            key - The key to set.
            +
            value - The value to set.
            +
            +
          • +
          + + + +
            +
          • +

            maybeSetByteBuffer

            +
            public static void maybeSetByteBuffer​(MediaFormat format,
            +                                      String key,
            +                                      @Nullable
            +                                      byte[] value)
            +
            Sets a MediaFormat ByteBuffer value. Does nothing if value is null.
            +
            +
            Parameters:
            +
            format - The MediaFormat being configured.
            +
            key - The key to set.
            +
            value - The byte array that will be wrapped to obtain the value.
            +
            +
          • +
          + + + +
            +
          • +

            maybeSetColorInfo

            +
            public static void maybeSetColorInfo​(MediaFormat format,
            +                                     @Nullable
            +                                     ColorInfo colorInfo)
            +
            Sets a MediaFormat's color information. Does nothing if colorInfo is null.
            +
            +
            Parameters:
            +
            format - The MediaFormat being configured.
            +
            colorInfo - The color info to set.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html new file mode 100644 index 0000000000..ed498041e7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.Factory.html @@ -0,0 +1,331 @@ + + + + +SynchronousMediaCodecAdapter.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SynchronousMediaCodecAdapter.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html new file mode 100644 index 0000000000..c767b79440 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/SynchronousMediaCodecAdapter.html @@ -0,0 +1,735 @@ + + + + +SynchronousMediaCodecAdapter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SynchronousMediaCodecAdapter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-frame.html new file mode 100644 index 0000000000..6e2c7dbbf1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-frame.html @@ -0,0 +1,45 @@ + + + + +com.google.android.exoplayer2.mediacodec (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.mediacodec

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-summary.html new file mode 100644 index 0000000000..cca5f91e0c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-summary.html @@ -0,0 +1,262 @@ + + + + +com.google.android.exoplayer2.mediacodec (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.mediacodec

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-tree.html new file mode 100644 index 0000000000..40bcd7fae0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/mediacodec/package-tree.html @@ -0,0 +1,192 @@ + + + + +com.google.android.exoplayer2.mediacodec Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.mediacodec

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.Entry.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.Entry.html new file mode 100644 index 0000000000..34331257ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.Entry.html @@ -0,0 +1,321 @@ + + + + +Metadata.Entry (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Metadata.Entry

      +
      +
      + +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWrappedMetadataFormat

            +
            @Nullable
            +default Format getWrappedMetadataFormat()
            +
            Returns the Format that can be used to decode the wrapped metadata in getWrappedMetadataBytes(), or null if this Entry doesn't contain wrapped metadata.
            +
          • +
          + + + +
            +
          • +

            getWrappedMetadataBytes

            +
            @Nullable
            +default byte[] getWrappedMetadataBytes()
            +
            Returns the bytes of the wrapped metadata in this Entry, or null if it doesn't contain + wrapped metadata.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.html new file mode 100644 index 0000000000..680369fd4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/Metadata.html @@ -0,0 +1,568 @@ + + + + +Metadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Metadata

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class Metadata
        +extends Object
        +implements Parcelable
        +
        A collection of metadata entries.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Metadata

            +
            public Metadata​(Metadata.Entry... entries)
            +
            +
            Parameters:
            +
            entries - The metadata entries.
            +
            +
          • +
          + + + +
            +
          • +

            Metadata

            +
            public Metadata​(List<? extends Metadata.Entry> entries)
            +
            +
            Parameters:
            +
            entries - The metadata entries.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            length

            +
            public int length()
            +
            Returns the number of metadata entries.
            +
          • +
          + + + +
            +
          • +

            get

            +
            public Metadata.Entry get​(int index)
            +
            Returns the entry at the specified index.
            +
            +
            Parameters:
            +
            index - The index of the entry.
            +
            Returns:
            +
            The entry at the specified index.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithAppendedEntriesFrom

            +
            public Metadata copyWithAppendedEntriesFrom​(@Nullable
            +                                            Metadata other)
            +
            Returns a copy of this metadata with the entries of the specified metadata appended. Returns + this instance if other is null.
            +
            +
            Parameters:
            +
            other - The metadata that holds the entries to append. If null, this methods returns this + instance.
            +
            Returns:
            +
            The metadata instance with the appended entries.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithAppendedEntries

            +
            public Metadata copyWithAppendedEntries​(Metadata.Entry... entriesToAppend)
            +
            Returns a copy of this metadata with the specified entries appended.
            +
            +
            Parameters:
            +
            entriesToAppend - The entries to append.
            +
            Returns:
            +
            The metadata instance with the appended entries.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoder.html new file mode 100644 index 0000000000..5085654263 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoder.html @@ -0,0 +1,264 @@ + + + + +MetadataDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MetadataDecoder

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoderFactory.html new file mode 100644 index 0000000000..f12f1d459a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataDecoderFactory.html @@ -0,0 +1,333 @@ + + + + +MetadataDecoderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MetadataDecoderFactory

      +
      +
      +
      +
        +
      • +
        +
        public interface MetadataDecoderFactory
        +
        A factory for MetadataDecoder instances.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataInputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataInputBuffer.html new file mode 100644 index 0000000000..7109f7b849 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataInputBuffer.html @@ -0,0 +1,352 @@ + + + + +MetadataInputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MetadataInputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MetadataInputBuffer

            +
            public MetadataInputBuffer()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataOutput.html new file mode 100644 index 0000000000..56317c863c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataOutput.html @@ -0,0 +1,254 @@ + + + + +MetadataOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MetadataOutput

      +
      +
      +
      +
        +
      • +
        +
        public interface MetadataOutput
        +
        Receives metadata output.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onMetadata

            +
            void onMetadata​(Metadata metadata)
            +
            Called when there is metadata associated with current playback time.
            +
            +
            Parameters:
            +
            metadata - The metadata.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataRenderer.html new file mode 100644 index 0000000000..cb078ce74d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/MetadataRenderer.html @@ -0,0 +1,668 @@ + + + + +MetadataRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MetadataRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MetadataRenderer

            +
            public MetadataRenderer​(MetadataOutput output,
            +                        @Nullable
            +                        Looper outputLooper)
            +
            +
            Parameters:
            +
            output - The output.
            +
            outputLooper - The looper associated with the thread on which the output should be called. + If the output makes use of standard Android UI components, then this should normally be the + looper associated with the application's main thread, which can be obtained using ContextWrapper.getMainLooper(). Null may be passed if the output should be called + directly on the player's internal rendering thread.
            +
            +
          • +
          + + + +
            +
          • +

            MetadataRenderer

            +
            public MetadataRenderer​(MetadataOutput output,
            +                        @Nullable
            +                        Looper outputLooper,
            +                        MetadataDecoderFactory decoderFactory)
            +
            +
            Parameters:
            +
            output - The output.
            +
            outputLooper - The looper associated with the thread on which the output should be called. + If the output makes use of standard Android UI components, then this should normally be the + looper associated with the application's main thread, which can be obtained using ContextWrapper.getMainLooper(). Null may be passed if the output should be called + directly on the player's internal rendering thread.
            +
            decoderFactory - A factory from which to obtain MetadataDecoder instances.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Specified by:
            +
            getName in interface Renderer
            +
            Specified by:
            +
            getName in interface RendererCapabilities
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onStreamChanged

            +
            protected void onStreamChanged​(Format[] formats,
            +                               long startPositionUs,
            +                               long offsetUs)
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer's stream has changed. This occurs when the renderer is enabled after + BaseRenderer.onEnabled(boolean, boolean) has been called, and also when the stream has been + replaced whilst the renderer is enabled or started. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStreamChanged in class BaseRenderer
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset that will be added to the timestamps of buffers read via BaseRenderer.readSource(FormatHolder, DecoderInputBuffer, boolean) so that decoder input buffers have + monotonically increasing timestamps.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isEnded in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html new file mode 100644 index 0000000000..dd39823088 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/SimpleMetadataDecoder.html @@ -0,0 +1,356 @@ + + + + +SimpleMetadataDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleMetadataDecoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.SimpleMetadataDecoder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTable.html new file mode 100644 index 0000000000..31c5243e9c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTable.html @@ -0,0 +1,492 @@ + + + + +AppInfoTable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AppInfoTable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            CONTROL_CODE_AUTOSTART

            +
            public static final int CONTROL_CODE_AUTOSTART
            +
            The application shall be started when the service is selected, unless the application is + already running.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            CONTROL_CODE_PRESENT

            +
            public static final int CONTROL_CODE_PRESENT
            +
            The application is allowed to run while the service is selected, however it shall not start + automatically when the service becomes selected.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            controlCode

            +
            public final int controlCode
            +
          • +
          + + + +
            +
          • +

            url

            +
            public final String url
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AppInfoTable

            +
            public AppInfoTable​(int controlCode,
            +                    String url)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTableDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTableDecoder.html new file mode 100644 index 0000000000..0bdafd7fa1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/AppInfoTableDecoder.html @@ -0,0 +1,383 @@ + + + + +AppInfoTableDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AppInfoTableDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-frame.html new file mode 100644 index 0000000000..872e07613f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.metadata.dvbsi (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.dvbsi

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-summary.html new file mode 100644 index 0000000000..e385a92334 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.metadata.dvbsi (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.dvbsi

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        AppInfoTable +
        A representation of a DVB Application Information Table (AIT).
        +
        AppInfoTableDecoder +
        Decoder for the DVB Application Information Table (AIT).
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-tree.html new file mode 100644 index 0000000000..dbdecd21b8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/dvbsi/package-tree.html @@ -0,0 +1,166 @@ + + + + +com.google.android.exoplayer2.metadata.dvbsi Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.dvbsi

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessage.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessage.html new file mode 100644 index 0000000000..ccc00d6d82 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessage.html @@ -0,0 +1,638 @@ + + + + +EventMessage (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EventMessage

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.emsg.EventMessage
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + + + + + +
            +
          • +

            schemeIdUri

            +
            public final String schemeIdUri
            +
            The message scheme.
            +
          • +
          + + + +
            +
          • +

            value

            +
            public final String value
            +
            The value for the event.
            +
          • +
          + + + +
            +
          • +

            durationMs

            +
            public final long durationMs
            +
            The duration of the event in milliseconds.
            +
          • +
          + + + +
            +
          • +

            id

            +
            public final long id
            +
            The instance identifier.
            +
          • +
          + + + +
            +
          • +

            messageData

            +
            public final byte[] messageData
            +
            The body of the message.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventMessage

            +
            public EventMessage​(String schemeIdUri,
            +                    String value,
            +                    long durationMs,
            +                    long id,
            +                    byte[] messageData)
            +
            +
            Parameters:
            +
            schemeIdUri - The message scheme.
            +
            value - The value for the event.
            +
            durationMs - The duration of the event in milliseconds.
            +
            id - The instance identifier.
            +
            messageData - The body of the message.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html new file mode 100644 index 0000000000..2fdbd28357 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageDecoder.html @@ -0,0 +1,348 @@ + + + + +EventMessageDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EventMessageDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html new file mode 100644 index 0000000000..ced236902f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/EventMessageEncoder.html @@ -0,0 +1,308 @@ + + + + +EventMessageEncoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EventMessageEncoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.emsg.EventMessageEncoder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class EventMessageEncoder
        +extends Object
        +
        Encodes data that can be decoded by EventMessageDecoder. This class isn't thread safe.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventMessageEncoder

            +
            public EventMessageEncoder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            encode

            +
            public byte[] encode​(EventMessage eventMessage)
            +
            Encodes an EventMessage to a byte array that can be decoded by EventMessageDecoder.
            +
            +
            Parameters:
            +
            eventMessage - The event message to be encoded.
            +
            Returns:
            +
            The serialized byte array.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-frame.html new file mode 100644 index 0000000000..b0614925e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-frame.html @@ -0,0 +1,29 @@ + + + + +com.google.android.exoplayer2.metadata.emsg (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.emsg

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-summary.html new file mode 100644 index 0000000000..39bc7075bc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-summary.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.metadata.emsg (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.emsg

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-tree.html new file mode 100644 index 0000000000..3c11b38d27 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/emsg/package-tree.html @@ -0,0 +1,167 @@ + + + + +com.google.android.exoplayer2.metadata.emsg Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.emsg

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/PictureFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/PictureFrame.html new file mode 100644 index 0000000000..b2f3d300e2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/PictureFrame.html @@ -0,0 +1,600 @@ + + + + +PictureFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PictureFrame

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.flac.PictureFrame
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            pictureType

            +
            public final int pictureType
            +
            The type of the picture.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            public final String mimeType
            +
            The mime type of the picture.
            +
          • +
          + + + +
            +
          • +

            description

            +
            public final String description
            +
            A description of the picture.
            +
          • +
          + + + +
            +
          • +

            width

            +
            public final int width
            +
            The width of the picture in pixels.
            +
          • +
          + + + +
            +
          • +

            height

            +
            public final int height
            +
            The height of the picture in pixels.
            +
          • +
          + + + +
            +
          • +

            depth

            +
            public final int depth
            +
            The color depth of the picture in bits-per-pixel.
            +
          • +
          + + + +
            +
          • +

            colors

            +
            public final int colors
            +
            For indexed-color pictures (e.g. GIF), the number of colors used. 0 otherwise.
            +
          • +
          + + + +
            +
          • +

            pictureData

            +
            public final byte[] pictureData
            +
            The encoded picture data.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PictureFrame

            +
            public PictureFrame​(int pictureType,
            +                    String mimeType,
            +                    String description,
            +                    int width,
            +                    int height,
            +                    int depth,
            +                    int colors,
            +                    byte[] pictureData)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/VorbisComment.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/VorbisComment.html new file mode 100644 index 0000000000..6f459bdf96 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/VorbisComment.html @@ -0,0 +1,491 @@ + + + + +VorbisComment (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VorbisComment

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.flac.VorbisComment
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-frame.html new file mode 100644 index 0000000000..4be19ef221 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.metadata.flac (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.flac

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-summary.html new file mode 100644 index 0000000000..ff07c659ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.metadata.flac (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.flac

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        PictureFrame +
        A picture parsed from a FLAC file.
        +
        VorbisComment +
        A vorbis comment.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-tree.html new file mode 100644 index 0000000000..aeb8431029 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/flac/package-tree.html @@ -0,0 +1,162 @@ + + + + +com.google.android.exoplayer2.metadata.flac Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.flac

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyDecoder.html new file mode 100644 index 0000000000..509b554c1f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyDecoder.html @@ -0,0 +1,334 @@ + + + + +IcyDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IcyDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyHeaders.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyHeaders.html new file mode 100644 index 0000000000..7f2bcac78b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyHeaders.html @@ -0,0 +1,643 @@ + + + + +IcyHeaders (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IcyHeaders

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.icy.IcyHeaders
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REQUEST_HEADER_ENABLE_METADATA_NAME

            +
            public static final String REQUEST_HEADER_ENABLE_METADATA_NAME
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REQUEST_HEADER_ENABLE_METADATA_VALUE

            +
            public static final String REQUEST_HEADER_ENABLE_METADATA_VALUE
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            bitrate

            +
            public final int bitrate
            +
            Bitrate in bits per second ((icy-br * 1000)), or Format.NO_VALUE if the header + was not present.
            +
          • +
          + + + +
            +
          • +

            genre

            +
            @Nullable
            +public final String genre
            +
            The genre (icy-genre).
            +
          • +
          + + + +
            +
          • +

            name

            +
            @Nullable
            +public final String name
            +
            The stream name (icy-name).
            +
          • +
          + + + +
            +
          • +

            url

            +
            @Nullable
            +public final String url
            +
            The URL of the radio station (icy-url).
            +
          • +
          + + + +
            +
          • +

            isPublic

            +
            public final boolean isPublic
            +
            Whether the radio station is listed (icy-pub), or false if the header was not + present.
            +
          • +
          + + + +
            +
          • +

            metadataInterval

            +
            public final int metadataInterval
            +
            The interval in bytes between metadata chunks (icy-metaint), or C.LENGTH_UNSET + if the header was not present.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IcyHeaders

            +
            public IcyHeaders​(int bitrate,
            +                  @Nullable
            +                  String genre,
            +                  @Nullable
            +                  String name,
            +                  @Nullable
            +                  String url,
            +                  boolean isPublic,
            +                  int metadataInterval)
            +
            +
            Parameters:
            +
            bitrate - See bitrate.
            +
            genre - See genre.
            +
            name - See See.
            +
            url - See url.
            +
            isPublic - See isPublic.
            +
            metadataInterval - See metadataInterval.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyInfo.html new file mode 100644 index 0000000000..a4c6de569e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/IcyInfo.html @@ -0,0 +1,520 @@ + + + + +IcyInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IcyInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.icy.IcyInfo
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            rawMetadata

            +
            public final byte[] rawMetadata
            +
            The complete metadata bytes used to construct this IcyInfo.
            +
          • +
          + + + +
            +
          • +

            title

            +
            @Nullable
            +public final String title
            +
            The stream title if present and decodable, or null.
            +
          • +
          + + + +
            +
          • +

            url

            +
            @Nullable
            +public final String url
            +
            The stream URL if present and decodable, or null.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IcyInfo

            +
            public IcyInfo​(byte[] rawMetadata,
            +               @Nullable
            +               String title,
            +               @Nullable
            +               String url)
            +
            Construct a new IcyInfo from the source metadata, and optionally a StreamTitle and StreamUrl + that have been extracted.
            +
            +
            Parameters:
            +
            rawMetadata - See rawMetadata.
            +
            title - See title.
            +
            url - See url.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-frame.html new file mode 100644 index 0000000000..65ff647db7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-frame.html @@ -0,0 +1,29 @@ + + + + +com.google.android.exoplayer2.metadata.icy (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.icy

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-summary.html new file mode 100644 index 0000000000..93bc23052f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-summary.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.metadata.icy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.icy

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        IcyDecoder +
        Decodes ICY stream information.
        +
        IcyHeaders +
        ICY headers.
        +
        IcyInfo +
        ICY in-stream information.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-tree.html new file mode 100644 index 0000000000..747affdc25 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/icy/package-tree.html @@ -0,0 +1,167 @@ + + + + +com.google.android.exoplayer2.metadata.icy Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.icy

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ApicFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ApicFrame.html new file mode 100644 index 0000000000..47807425e3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ApicFrame.html @@ -0,0 +1,528 @@ + + + + +ApicFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ApicFrame

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ApicFrame

            +
            public ApicFrame​(String mimeType,
            +                 @Nullable
            +                 String description,
            +                 int pictureType,
            +                 byte[] pictureData)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/BinaryFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/BinaryFrame.html new file mode 100644 index 0000000000..9a8c338fff --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/BinaryFrame.html @@ -0,0 +1,444 @@ + + + + +BinaryFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BinaryFrame

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BinaryFrame

            +
            public BinaryFrame​(String id,
            +                   byte[] data)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterFrame.html new file mode 100644 index 0000000000..a9375771d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterFrame.html @@ -0,0 +1,586 @@ + + + + +ChapterFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChapterFrame

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            chapterId

            +
            public final String chapterId
            +
          • +
          + + + +
            +
          • +

            startTimeMs

            +
            public final int startTimeMs
            +
          • +
          + + + +
            +
          • +

            endTimeMs

            +
            public final int endTimeMs
            +
          • +
          + + + +
            +
          • +

            startOffset

            +
            public final long startOffset
            +
            The byte offset of the start of the chapter, or C.POSITION_UNSET if not set.
            +
          • +
          + + + +
            +
          • +

            endOffset

            +
            public final long endOffset
            +
            The byte offset of the end of the chapter, or C.POSITION_UNSET if not set.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ChapterFrame

            +
            public ChapterFrame​(String chapterId,
            +                    int startTimeMs,
            +                    int endTimeMs,
            +                    long startOffset,
            +                    long endOffset,
            +                    Id3Frame[] subFrames)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSubFrameCount

            +
            public int getSubFrameCount()
            +
            Returns the number of sub-frames.
            +
          • +
          + + + +
            +
          • +

            getSubFrame

            +
            public Id3Frame getSubFrame​(int index)
            +
            Returns the sub-frame at index.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterTocFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterTocFrame.html new file mode 100644 index 0000000000..27334669b2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/ChapterTocFrame.html @@ -0,0 +1,544 @@ + + + + +ChapterTocFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChapterTocFrame

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class ChapterTocFrame
        +extends Id3Frame
        +
        Chapter table of contents ID3 frame.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ChapterTocFrame

            +
            public ChapterTocFrame​(String elementId,
            +                       boolean isRoot,
            +                       boolean isOrdered,
            +                       String[] children,
            +                       Id3Frame[] subFrames)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSubFrameCount

            +
            public int getSubFrameCount()
            +
            Returns the number of sub-frames.
            +
          • +
          + + + +
            +
          • +

            getSubFrame

            +
            public Id3Frame getSubFrame​(int index)
            +
            Returns the sub-frame at index.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/CommentFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/CommentFrame.html new file mode 100644 index 0000000000..d9c527714e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/CommentFrame.html @@ -0,0 +1,510 @@ + + + + +CommentFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CommentFrame

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/GeobFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/GeobFrame.html new file mode 100644 index 0000000000..b0b1b21564 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/GeobFrame.html @@ -0,0 +1,526 @@ + + + + +GeobFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GeobFrame

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class GeobFrame
        +extends Id3Frame
        +
        GEOB (General Encapsulated Object) ID3 frame.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.FramePredicate.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.FramePredicate.html new file mode 100644 index 0000000000..f0095ae425 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.FramePredicate.html @@ -0,0 +1,272 @@ + + + + +Id3Decoder.FramePredicate (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Id3Decoder.FramePredicate

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Id3Decoder
        +
        +
        +
        public static interface Id3Decoder.FramePredicate
        +
        A predicate for determining whether individual frames should be decoded.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          booleanevaluate​(int majorVersion, + int id0, + int id1, + int id2, + int id3) +
          Returns whether a frame with the specified parameters should be decoded.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            evaluate

            +
            boolean evaluate​(int majorVersion,
            +                 int id0,
            +                 int id1,
            +                 int id2,
            +                 int id3)
            +
            Returns whether a frame with the specified parameters should be decoded.
            +
            +
            Parameters:
            +
            majorVersion - The major version of the ID3 tag.
            +
            id0 - The first byte of the frame ID.
            +
            id1 - The second byte of the frame ID.
            +
            id2 - The third byte of the frame ID.
            +
            id3 - The fourth byte of the frame ID.
            +
            Returns:
            +
            Whether the frame should be decoded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.html new file mode 100644 index 0000000000..8e7936e17b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Decoder.html @@ -0,0 +1,487 @@ + + + + +Id3Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Id3Decoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Frame.html new file mode 100644 index 0000000000..871efd8312 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/Id3Frame.html @@ -0,0 +1,407 @@ + + + + +Id3Frame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Id3Frame

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.id3.Id3Frame
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            id

            +
            public final String id
            +
            The frame ID.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Id3Frame

            +
            public Id3Frame​(String id)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/InternalFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/InternalFrame.html new file mode 100644 index 0000000000..594c767d00 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/InternalFrame.html @@ -0,0 +1,510 @@ + + + + +InternalFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class InternalFrame

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class InternalFrame
        +extends Id3Frame
        +
        Internal ID3 frame that is intended for use by the player.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/MlltFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/MlltFrame.html new file mode 100644 index 0000000000..76e72be1b4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/MlltFrame.html @@ -0,0 +1,544 @@ + + + + +MlltFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MlltFrame

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            mpegFramesBetweenReference

            +
            public final int mpegFramesBetweenReference
            +
          • +
          + + + +
            +
          • +

            bytesBetweenReference

            +
            public final int bytesBetweenReference
            +
          • +
          + + + +
            +
          • +

            millisecondsBetweenReference

            +
            public final int millisecondsBetweenReference
            +
          • +
          + + + +
            +
          • +

            bytesDeviations

            +
            public final int[] bytesDeviations
            +
          • +
          + + + +
            +
          • +

            millisecondsDeviations

            +
            public final int[] millisecondsDeviations
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MlltFrame

            +
            public MlltFrame​(int mpegFramesBetweenReference,
            +                 int bytesBetweenReference,
            +                 int millisecondsBetweenReference,
            +                 int[] bytesDeviations,
            +                 int[] millisecondsDeviations)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/PrivFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/PrivFrame.html new file mode 100644 index 0000000000..4bb6068027 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/PrivFrame.html @@ -0,0 +1,494 @@ + + + + +PrivFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PrivFrame

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html new file mode 100644 index 0000000000..8a7b6b4d69 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.html @@ -0,0 +1,480 @@ + + + + +TextInformationFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TextInformationFrame

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.html new file mode 100644 index 0000000000..da42988c14 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.html @@ -0,0 +1,480 @@ + + + + +UrlLinkFrame (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UrlLinkFrame

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-frame.html new file mode 100644 index 0000000000..ae27978ec4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-frame.html @@ -0,0 +1,43 @@ + + + + +com.google.android.exoplayer2.metadata.id3 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.id3

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-summary.html new file mode 100644 index 0000000000..a0557aa18a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-summary.html @@ -0,0 +1,257 @@ + + + + +com.google.android.exoplayer2.metadata.id3 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.id3

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Interface Summary 
        InterfaceDescription
        Id3Decoder.FramePredicate +
        A predicate for determining whether individual frames should be decoded.
        +
        +
      • +
      • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        ApicFrame +
        APIC (Attached Picture) ID3 frame.
        +
        BinaryFrame +
        Binary ID3 frame.
        +
        ChapterFrame +
        Chapter information ID3 frame.
        +
        ChapterTocFrame +
        Chapter table of contents ID3 frame.
        +
        CommentFrame +
        Comment ID3 frame.
        +
        GeobFrame +
        GEOB (General Encapsulated Object) ID3 frame.
        +
        Id3Decoder +
        Decodes ID3 tags.
        +
        Id3Frame +
        Base class for ID3 frames.
        +
        InternalFrame +
        Internal ID3 frame that is intended for use by the player.
        +
        MlltFrame +
        MPEG location lookup table frame.
        +
        PrivFrame +
        PRIV (Private) ID3 frame.
        +
        TextInformationFrame +
        Text information ID3 frame.
        +
        UrlLinkFrame +
        Url link ID3 frame.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-tree.html new file mode 100644 index 0000000000..9b0e99c661 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/id3/package-tree.html @@ -0,0 +1,184 @@ + + + + +com.google.android.exoplayer2.metadata.id3 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.id3

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html new file mode 100644 index 0000000000..31c438270d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MdtaMetadataEntry.html @@ -0,0 +1,549 @@ + + + + +MdtaMetadataEntry (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MdtaMetadataEntry

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class MdtaMetadataEntry
        +extends Object
        +implements Metadata.Entry
        +
        Stores extensible metadata with handler type 'mdta'. See also the QuickTime File Format + Specification.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            KEY_ANDROID_CAPTURE_FPS

            +
            public static final String KEY_ANDROID_CAPTURE_FPS
            +
            Key for the capture frame rate (in frames per second).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            key

            +
            public final String key
            +
            The metadata key name.
            +
          • +
          + + + +
            +
          • +

            value

            +
            public final byte[] value
            +
            The payload. The interpretation of the value depends on typeIndicator.
            +
          • +
          + + + +
            +
          • +

            localeIndicator

            +
            public final int localeIndicator
            +
            The four byte locale indicator.
            +
          • +
          + + + +
            +
          • +

            typeIndicator

            +
            public final int typeIndicator
            +
            The four byte type indicator.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MdtaMetadataEntry

            +
            public MdtaMetadataEntry​(String key,
            +                         byte[] value,
            +                         int localeIndicator,
            +                         int typeIndicator)
            +
            Creates a new metadata entry for the specified metadata key/value.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MotionPhotoMetadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MotionPhotoMetadata.html new file mode 100644 index 0000000000..225b87c6e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/MotionPhotoMetadata.html @@ -0,0 +1,546 @@ + + + + +MotionPhotoMetadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MotionPhotoMetadata

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            photoStartPosition

            +
            public final long photoStartPosition
            +
            The start offset of the photo data, in bytes.
            +
          • +
          + + + +
            +
          • +

            photoSize

            +
            public final long photoSize
            +
            The size of the photo data, in bytes.
            +
          • +
          + + + +
            +
          • +

            photoPresentationTimestampUs

            +
            public final long photoPresentationTimestampUs
            +
            The presentation timestamp of the photo, in microseconds, or C.TIME_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            videoStartPosition

            +
            public final long videoStartPosition
            +
            The start offset of the video data, in bytes.
            +
          • +
          + + + +
            +
          • +

            videoSize

            +
            public final long videoSize
            +
            The size of the video data, in bytes.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MotionPhotoMetadata

            +
            public MotionPhotoMetadata​(long photoStartPosition,
            +                           long photoSize,
            +                           long photoPresentationTimestampUs,
            +                           long videoStartPosition,
            +                           long videoSize)
            +
            Creates an instance.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html new file mode 100644 index 0000000000..7533745ab4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.Segment.html @@ -0,0 +1,528 @@ + + + + +SlowMotionData.Segment (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SlowMotionData.Segment

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        Enclosing class:
        +
        SlowMotionData
        +
        +
        +
        public static final class SlowMotionData.Segment
        +extends Object
        +implements Parcelable
        +
        Holds information about a single segment of slow motion playback within a track.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            startTimeMs

            +
            public final long startTimeMs
            +
            The start time, in milliseconds, of the track segment that is intended to be slow motion.
            +
          • +
          + + + +
            +
          • +

            endTimeMs

            +
            public final long endTimeMs
            +
            The end time, in milliseconds, of the track segment that is intended to be slow motion.
            +
          • +
          + + + +
            +
          • +

            speedDivisor

            +
            public final int speedDivisor
            +
            The speed reduction factor. + +

            For example, 4 would mean the segment should be played at a quarter (1/4) of the normal + speed.

            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Segment

            +
            public Segment​(long startTimeMs,
            +               long endTimeMs,
            +               int speedDivisor)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            startTimeMs - See startTimeMs. Must be less than endTimeMs.
            +
            endTimeMs - See endTimeMs.
            +
            speedDivisor - See speedDivisor.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html new file mode 100644 index 0000000000..f713e4df4b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SlowMotionData.html @@ -0,0 +1,485 @@ + + + + +SlowMotionData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SlowMotionData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.mp4.SlowMotionData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class SlowMotionData
        +extends Object
        +implements Metadata.Entry
        +
        Holds information about the segments of slow motion playback within a track.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SmtaMetadataEntry.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SmtaMetadataEntry.html new file mode 100644 index 0000000000..4ffd52bfe1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/SmtaMetadataEntry.html @@ -0,0 +1,493 @@ + + + + +SmtaMetadataEntry (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SmtaMetadataEntry

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class SmtaMetadataEntry
        +extends Object
        +implements Metadata.Entry
        +
        Stores metadata from the Samsung smta box. + +

        See [Internal: b/150138465#comment76].

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            captureFrameRate

            +
            public final float captureFrameRate
            +
            The capture frame rate, in fps, or C.RATE_UNSET if it is unknown. + +

            If known, the capture frame rate should always be an integer value.

            +
          • +
          + + + +
            +
          • +

            svcTemporalLayerCount

            +
            public final int svcTemporalLayerCount
            +
            The number of layers in the SVC extended frames.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SmtaMetadataEntry

            +
            public SmtaMetadataEntry​(float captureFrameRate,
            +                         int svcTemporalLayerCount)
            +
            Creates an instance.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-frame.html new file mode 100644 index 0000000000..baee870a0f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-frame.html @@ -0,0 +1,31 @@ + + + + +com.google.android.exoplayer2.metadata.mp4 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.mp4

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-summary.html new file mode 100644 index 0000000000..379f1e05e1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-summary.html @@ -0,0 +1,192 @@ + + + + +com.google.android.exoplayer2.metadata.mp4 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.mp4

      +
      +
      +
        +
      • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        MdtaMetadataEntry +
        Stores extensible metadata with handler type 'mdta'.
        +
        MotionPhotoMetadata +
        Metadata of a motion photo file.
        +
        SlowMotionData +
        Holds information about the segments of slow motion playback within a track.
        +
        SlowMotionData.Segment +
        Holds information about a single segment of slow motion playback within a track.
        +
        SmtaMetadataEntry +
        Stores metadata from the Samsung smta box.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-tree.html new file mode 100644 index 0000000000..b4dd26da2f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/mp4/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.metadata.mp4 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.mp4

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-frame.html new file mode 100644 index 0000000000..39e3ce0627 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.metadata (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-summary.html new file mode 100644 index 0000000000..f659569edd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-summary.html @@ -0,0 +1,222 @@ + + + + +com.google.android.exoplayer2.metadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-tree.html new file mode 100644 index 0000000000..9e4ff0b2f4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/package-tree.html @@ -0,0 +1,187 @@ + + + + +com.google.android.exoplayer2.metadata Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/PrivateCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/PrivateCommand.html new file mode 100644 index 0000000000..755fe11b62 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/PrivateCommand.html @@ -0,0 +1,399 @@ + + + + +PrivateCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PrivateCommand

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class PrivateCommand
        +extends SpliceCommand
        +
        Represents a private command as defined in SCTE35, Section 9.3.6.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            ptsAdjustment

            +
            public final long ptsAdjustment
            +
            The pts_adjustment as defined in SCTE35, Section 9.2.
            +
          • +
          + + + +
            +
          • +

            identifier

            +
            public final long identifier
            +
            The identifier as defined in SCTE35, Section 9.3.6.
            +
          • +
          + + + +
            +
          • +

            commandBytes

            +
            public final byte[] commandBytes
            +
            The private bytes as defined in SCTE35, Section 9.3.6.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.html new file mode 100644 index 0000000000..7e19f56018 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.html @@ -0,0 +1,374 @@ + + + + +SpliceCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceCommand

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.scte35.SpliceCommand
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SpliceCommand

            +
            public SpliceCommand()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInfoDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInfoDecoder.html new file mode 100644 index 0000000000..b8474a9afe --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInfoDecoder.html @@ -0,0 +1,334 @@ + + + + +SpliceInfoDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceInfoDecoder

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MetadataDecoder
        +
        +
        +
        public final class SpliceInfoDecoder
        +extends SimpleMetadataDecoder
        +
        Decodes splice info sections and produces splice commands.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.ComponentSplice.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.ComponentSplice.html new file mode 100644 index 0000000000..a7de7c42ff --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.ComponentSplice.html @@ -0,0 +1,347 @@ + + + + +SpliceInsertCommand.ComponentSplice (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceInsertCommand.ComponentSplice

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpliceInsertCommand
        +
        +
        +
        public static final class SpliceInsertCommand.ComponentSplice
        +extends Object
        +
        Holds splicing information for specific splice insert command components.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            componentTag

            +
            public final int componentTag
            +
          • +
          + + + +
            +
          • +

            componentSplicePts

            +
            public final long componentSplicePts
            +
          • +
          + + + +
            +
          • +

            componentSplicePlaybackPositionUs

            +
            public final long componentSplicePlaybackPositionUs
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.html new file mode 100644 index 0000000000..0a1f3bc965 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceInsertCommand.html @@ -0,0 +1,595 @@ + + + + +SpliceInsertCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceInsertCommand

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class SpliceInsertCommand
        +extends SpliceCommand
        +
        Represents a splice insert command defined in SCTE35, Section 9.3.3.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            spliceEventId

            +
            public final long spliceEventId
            +
            The splice event id.
            +
          • +
          + + + +
            +
          • +

            spliceEventCancelIndicator

            +
            public final boolean spliceEventCancelIndicator
            +
            True if the event with id spliceEventId has been canceled.
            +
          • +
          + + + +
            +
          • +

            outOfNetworkIndicator

            +
            public final boolean outOfNetworkIndicator
            +
            If true, the splice event is an opportunity to exit from the network feed. If false, indicates + an opportunity to return to the network feed.
            +
          • +
          + + + +
            +
          • +

            programSpliceFlag

            +
            public final boolean programSpliceFlag
            +
            Whether the splice mode is program splice mode, whereby all PIDs/components are to be spliced. + If false, splicing is done per PID/component.
            +
          • +
          + + + + + + + +
            +
          • +

            programSplicePts

            +
            public final long programSplicePts
            +
            If programSpliceFlag is true, the PTS at which the program splice should occur. + C.TIME_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            programSplicePlaybackPositionUs

            +
            public final long programSplicePlaybackPositionUs
            +
            Equivalent to programSplicePts but in the playback timebase.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            breakDurationUs

            +
            public final long breakDurationUs
            +
            The duration of the splice in microseconds, or C.TIME_UNSET if no duration is present.
            +
          • +
          + + + +
            +
          • +

            uniqueProgramId

            +
            public final int uniqueProgramId
            +
            The unique program id as defined in SCTE35, Section 9.3.3.
            +
          • +
          + + + +
            +
          • +

            availNum

            +
            public final int availNum
            +
            Holds the value of avail_num as defined in SCTE35, Section 9.3.3.
            +
          • +
          + + + +
            +
          • +

            availsExpected

            +
            public final int availsExpected
            +
            Holds the value of avails_expected as defined in SCTE35, Section 9.3.3.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceNullCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceNullCommand.html new file mode 100644 index 0000000000..a2bf171faf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceNullCommand.html @@ -0,0 +1,384 @@ + + + + +SpliceNullCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceNullCommand

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class SpliceNullCommand
        +extends SpliceCommand
        +
        Represents a splice null command as defined in SCTE35, Section 9.3.1.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SpliceNullCommand

            +
            public SpliceNullCommand()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.ComponentSplice.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.ComponentSplice.html new file mode 100644 index 0000000000..f6fb48f9a0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.ComponentSplice.html @@ -0,0 +1,283 @@ + + + + +SpliceScheduleCommand.ComponentSplice (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceScheduleCommand.ComponentSplice

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.ComponentSplice
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpliceScheduleCommand
        +
        +
        +
        public static final class SpliceScheduleCommand.ComponentSplice
        +extends Object
        +
        Holds splicing information for specific splice schedule command components.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            componentTag

            +
            public final int componentTag
            +
          • +
          + + + +
            +
          • +

            utcSpliceTime

            +
            public final long utcSpliceTime
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.Event.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.Event.html new file mode 100644 index 0000000000..f3490fa993 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.Event.html @@ -0,0 +1,454 @@ + + + + +SpliceScheduleCommand.Event (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceScheduleCommand.Event

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            spliceEventId

            +
            public final long spliceEventId
            +
            The splice event id.
            +
          • +
          + + + +
            +
          • +

            spliceEventCancelIndicator

            +
            public final boolean spliceEventCancelIndicator
            +
            True if the event with id spliceEventId has been canceled.
            +
          • +
          + + + +
            +
          • +

            outOfNetworkIndicator

            +
            public final boolean outOfNetworkIndicator
            +
            If true, the splice event is an opportunity to exit from the network feed. If false, + indicates an opportunity to return to the network feed.
            +
          • +
          + + + +
            +
          • +

            programSpliceFlag

            +
            public final boolean programSpliceFlag
            +
            Whether the splice mode is program splice mode, whereby all PIDs/components are to be + spliced. If false, splicing is done per PID/component.
            +
          • +
          + + + +
            +
          • +

            utcSpliceTime

            +
            public final long utcSpliceTime
            +
            Represents the time of the signaled splice event as the number of seconds since 00 hours UTC, + January 6th, 1980, with the count of intervening leap seconds included.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            breakDurationUs

            +
            public final long breakDurationUs
            +
            The duration of the splice in microseconds, or C.TIME_UNSET if no duration is + present.
            +
          • +
          + + + +
            +
          • +

            uniqueProgramId

            +
            public final int uniqueProgramId
            +
            The unique program id as defined in SCTE35, Section 9.3.2.
            +
          • +
          + + + +
            +
          • +

            availNum

            +
            public final int availNum
            +
            Holds the value of avail_num as defined in SCTE35, Section 9.3.2.
            +
          • +
          + + + +
            +
          • +

            availsExpected

            +
            public final int availsExpected
            +
            Holds the value of avails_expected as defined in SCTE35, Section 9.3.2.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html new file mode 100644 index 0000000000..1c1b6828b2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/SpliceScheduleCommand.html @@ -0,0 +1,387 @@ + + + + +SpliceScheduleCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpliceScheduleCommand

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class SpliceScheduleCommand
        +extends SpliceCommand
        +
        Represents a splice schedule command as defined in SCTE35, Section 9.3.2.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/TimeSignalCommand.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/TimeSignalCommand.html new file mode 100644 index 0000000000..2462a8929a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/TimeSignalCommand.html @@ -0,0 +1,382 @@ + + + + +TimeSignalCommand (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimeSignalCommand

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Metadata.Entry
        +
        +
        +
        public final class TimeSignalCommand
        +extends SpliceCommand
        +
        Represents a time signal command as defined in SCTE35, Section 9.3.4.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            ptsTime

            +
            public final long ptsTime
            +
            A PTS value, as defined in SCTE35, Section 9.3.4.
            +
          • +
          + + + +
            +
          • +

            playbackPositionUs

            +
            public final long playbackPositionUs
            +
            Equivalent to ptsTime but in the playback timebase.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            writeToParcel

            +
            public void writeToParcel​(Parcel dest,
            +                          int flags)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-frame.html new file mode 100644 index 0000000000..dba1d28901 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-frame.html @@ -0,0 +1,36 @@ + + + + +com.google.android.exoplayer2.metadata.scte35 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.metadata.scte35

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-summary.html new file mode 100644 index 0000000000..713bb8d228 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-summary.html @@ -0,0 +1,222 @@ + + + + +com.google.android.exoplayer2.metadata.scte35 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.metadata.scte35

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-tree.html new file mode 100644 index 0000000000..39a57af2af --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/metadata/scte35/package-tree.html @@ -0,0 +1,177 @@ + + + + +com.google.android.exoplayer2.metadata.scte35 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.metadata.scte35

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html new file mode 100644 index 0000000000..07090e6566 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.DownloadIdProvider.html @@ -0,0 +1,260 @@ + + + + +ActionFileUpgradeUtil.DownloadIdProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ActionFileUpgradeUtil.DownloadIdProvider

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ActionFileUpgradeUtil
        +
        +
        +
        public static interface ActionFileUpgradeUtil.DownloadIdProvider
        +
        Provides download IDs during action file upgrade.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getId

            +
            String getId​(DownloadRequest downloadRequest)
            +
            Returns a download id for given request.
            +
            +
            Parameters:
            +
            downloadRequest - The request for which an ID is required.
            +
            Returns:
            +
            A corresponding download ID.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html new file mode 100644 index 0000000000..fa95c23f5d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ActionFileUpgradeUtil.html @@ -0,0 +1,318 @@ + + + + +ActionFileUpgradeUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ActionFileUpgradeUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.ActionFileUpgradeUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ActionFileUpgradeUtil
        +extends Object
        +
        Utility class for upgrading legacy action files into DefaultDownloadIndex.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            upgradeAndDelete

            +
            @WorkerThread
            +public static void upgradeAndDelete​(File actionFilePath,
            +                                    @Nullable
            +                                    ActionFileUpgradeUtil.DownloadIdProvider downloadIdProvider,
            +                                    DefaultDownloadIndex downloadIndex,
            +                                    boolean deleteOnFailure,
            +                                    boolean addNewDownloadsAsCompleted)
            +                             throws IOException
            +
            Merges DownloadRequests contained in a legacy action file into a DefaultDownloadIndex, deleting the action file if the merge is successful or if + deleteOnFailure is true. + +

            This method must not be called while the DefaultDownloadIndex is being used by a + DownloadManager. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            actionFilePath - The action file path.
            +
            downloadIdProvider - A download ID provider, or null. If null then ID of + each download will be its custom cache key if one is specified, or else its URL.
            +
            downloadIndex - The index into which the requests will be merged.
            +
            deleteOnFailure - Whether to delete the action file if the merge fails.
            +
            addNewDownloadsAsCompleted - Whether to add new downloads as completed.
            +
            Throws:
            +
            IOException - If an error occurs loading or merging the requests.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloadIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloadIndex.html new file mode 100644 index 0000000000..419d53d3b5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloadIndex.html @@ -0,0 +1,574 @@ + + + + +DefaultDownloadIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDownloadIndex

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DefaultDownloadIndex
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloaderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloaderFactory.html new file mode 100644 index 0000000000..345cfb6aae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DefaultDownloaderFactory.html @@ -0,0 +1,359 @@ + + + + +DefaultDownloaderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDownloaderFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DefaultDownloaderFactory
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DownloaderFactory
        +
        +
        +
        public class DefaultDownloaderFactory
        +extends Object
        +implements DownloaderFactory
        +
        Default DownloaderFactory, supporting creation of progressive, DASH, HLS and + SmoothStreaming downloaders. Note that for the latter three, the corresponding library module + must be built into the application.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.FailureReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.FailureReason.html new file mode 100644 index 0000000000..155462ed0b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.FailureReason.html @@ -0,0 +1,189 @@ + + + + +Download.FailureReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Download.FailureReason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.State.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.State.html new file mode 100644 index 0000000000..c042d03e78 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.State.html @@ -0,0 +1,190 @@ + + + + +Download.State (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Download.State

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.html new file mode 100644 index 0000000000..ec15869e55 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Download.html @@ -0,0 +1,772 @@ + + + + +Download (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Download

      +
      +
      + +
      +
        +
      • +
        +
        public final class Download
        +extends Object
        +
        Represents state of a download.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + + + + + +
            +
          • +

            STATE_DOWNLOADING

            +
            public static final int STATE_DOWNLOADING
            +
            The download is currently started.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_COMPLETED

            +
            public static final int STATE_COMPLETED
            +
            The download completed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_FAILED

            +
            public static final int STATE_FAILED
            +
            The download failed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_REMOVING

            +
            public static final int STATE_REMOVING
            +
            The download is being removed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STATE_RESTARTING

            +
            public static final int STATE_RESTARTING
            +
            The download will restart after all downloaded data is removed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FAILURE_REASON_NONE

            +
            public static final int FAILURE_REASON_NONE
            +
            The download isn't failed.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FAILURE_REASON_UNKNOWN

            +
            public static final int FAILURE_REASON_UNKNOWN
            +
            The download is failed because of unknown reason.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STOP_REASON_NONE

            +
            public static final int STOP_REASON_NONE
            +
            The download isn't stopped.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            request

            +
            public final DownloadRequest request
            +
            The download request.
            +
          • +
          + + + +
            +
          • +

            state

            +
            @State
            +public final int state
            +
            The state of the download.
            +
          • +
          + + + +
            +
          • +

            startTimeMs

            +
            public final long startTimeMs
            +
            The first time when download entry is created.
            +
          • +
          + + + +
            +
          • +

            updateTimeMs

            +
            public final long updateTimeMs
            +
            The last update time.
            +
          • +
          + + + +
            +
          • +

            contentLength

            +
            public final long contentLength
            +
            The total size of the content in bytes, or C.LENGTH_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            stopReason

            +
            public final int stopReason
            +
            The reason the download is stopped, or STOP_REASON_NONE.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Download

            +
            public Download​(DownloadRequest request,
            +                @State
            +                int state,
            +                long startTimeMs,
            +                long updateTimeMs,
            +                long contentLength,
            +                int stopReason,
            +                @FailureReason
            +                int failureReason)
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isTerminalState

            +
            public boolean isTerminalState()
            +
            Returns whether the download is completed or failed. These are terminal states.
            +
          • +
          + + + +
            +
          • +

            getBytesDownloaded

            +
            public long getBytesDownloaded()
            +
            Returns the total number of downloaded bytes.
            +
          • +
          + + + +
            +
          • +

            getPercentDownloaded

            +
            public float getPercentDownloaded()
            +
            Returns the estimated download percentage, or C.PERCENTAGE_UNSET if no estimate is + available.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadCursor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadCursor.html new file mode 100644 index 0000000000..d7ae5e3ab3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadCursor.html @@ -0,0 +1,522 @@ + + + + +DownloadCursor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DownloadCursor

      +
      +
      +
      +
        +
      • +
        +
        All Superinterfaces:
        +
        AutoCloseable, Closeable
        +
        +
        +
        public interface DownloadCursor
        +extends Closeable
        +
        Provides random read-write access to the result set returned by a database query.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods Default Methods 
          Modifier and TypeMethodDescription
          voidclose() 
          intgetCount() +
          Returns the numbers of downloads in the cursor.
          +
          DownloadgetDownload() +
          Returns the download at the current position.
          +
          intgetPosition() +
          Returns the current position of the cursor in the download set.
          +
          default booleanisAfterLast() +
          Returns whether the cursor is pointing to the position after the last download.
          +
          default booleanisBeforeFirst() +
          Returns whether the cursor is pointing to the position before the first download.
          +
          booleanisClosed() +
          Returns whether the cursor is closed
          +
          default booleanisFirst() +
          Returns whether the cursor is pointing to the first download.
          +
          default booleanisLast() +
          Returns whether the cursor is pointing to the last download.
          +
          default booleanmoveToFirst() +
          Move the cursor to the first download.
          +
          default booleanmoveToLast() +
          Move the cursor to the last download.
          +
          default booleanmoveToNext() +
          Move the cursor to the next download.
          +
          booleanmoveToPosition​(int position) +
          Move the cursor to an absolute position.
          +
          default booleanmoveToPrevious() +
          Move the cursor to the previous download.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getDownload

            +
            Download getDownload()
            +
            Returns the download at the current position.
            +
          • +
          + + + +
            +
          • +

            getCount

            +
            int getCount()
            +
            Returns the numbers of downloads in the cursor.
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            int getPosition()
            +
            Returns the current position of the cursor in the download set. The value is zero-based. When + the download set is first returned the cursor will be at position -1, which is before the first + download. After the last download is returned another call to next() will leave the cursor past + the last entry, at a position of count().
            +
            +
            Returns:
            +
            the current cursor position.
            +
            +
          • +
          + + + +
            +
          • +

            moveToPosition

            +
            boolean moveToPosition​(int position)
            +
            Move the cursor to an absolute position. The valid range of values is -1 <= position <= + count. + +

            This method will return true if the request destination was reachable, otherwise, it returns + false.

            +
            +
            Parameters:
            +
            position - the zero-based position to move to.
            +
            Returns:
            +
            whether the requested move fully succeeded.
            +
            +
          • +
          + + + +
            +
          • +

            moveToFirst

            +
            default boolean moveToFirst()
            +
            Move the cursor to the first download. + +

            This method will return false if the cursor is empty.

            +
            +
            Returns:
            +
            whether the move succeeded.
            +
            +
          • +
          + + + +
            +
          • +

            moveToLast

            +
            default boolean moveToLast()
            +
            Move the cursor to the last download. + +

            This method will return false if the cursor is empty.

            +
            +
            Returns:
            +
            whether the move succeeded.
            +
            +
          • +
          + + + +
            +
          • +

            moveToNext

            +
            default boolean moveToNext()
            +
            Move the cursor to the next download. + +

            This method will return false if the cursor is already past the last entry in the result + set.

            +
            +
            Returns:
            +
            whether the move succeeded.
            +
            +
          • +
          + + + +
            +
          • +

            moveToPrevious

            +
            default boolean moveToPrevious()
            +
            Move the cursor to the previous download. + +

            This method will return false if the cursor is already before the first entry in the result + set.

            +
            +
            Returns:
            +
            whether the move succeeded.
            +
            +
          • +
          + + + +
            +
          • +

            isFirst

            +
            default boolean isFirst()
            +
            Returns whether the cursor is pointing to the first download.
            +
          • +
          + + + +
            +
          • +

            isLast

            +
            default boolean isLast()
            +
            Returns whether the cursor is pointing to the last download.
            +
          • +
          + + + +
            +
          • +

            isBeforeFirst

            +
            default boolean isBeforeFirst()
            +
            Returns whether the cursor is pointing to the position before the first download.
            +
          • +
          + + + +
            +
          • +

            isAfterLast

            +
            default boolean isAfterLast()
            +
            Returns whether the cursor is pointing to the position after the last download.
            +
          • +
          + + + +
            +
          • +

            isClosed

            +
            boolean isClosed()
            +
            Returns whether the cursor is closed
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadException.html new file mode 100644 index 0000000000..2a7acb47dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadException.html @@ -0,0 +1,314 @@ + + + + +DownloadException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DownloadException

            +
            public DownloadException​(String message)
            +
            +
            Parameters:
            +
            message - The message for the exception.
            +
            +
          • +
          + + + +
            +
          • +

            DownloadException

            +
            public DownloadException​(Throwable cause)
            +
            +
            Parameters:
            +
            cause - The cause for the exception.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.Callback.html new file mode 100644 index 0000000000..ac65115223 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.Callback.html @@ -0,0 +1,282 @@ + + + + +DownloadHelper.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DownloadHelper.Callback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DownloadHelper
        +
        +
        +
        public static interface DownloadHelper.Callback
        +
        A callback to be notified when the DownloadHelper is prepared.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.LiveContentUnsupportedException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.LiveContentUnsupportedException.html new file mode 100644 index 0000000000..08bd147a0b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.LiveContentUnsupportedException.html @@ -0,0 +1,297 @@ + + + + +DownloadHelper.LiveContentUnsupportedException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadHelper.LiveContentUnsupportedException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        DownloadHelper
        +
        +
        +
        public static class DownloadHelper.LiveContentUnsupportedException
        +extends IOException
        +
        Thrown at an attempt to download live content.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LiveContentUnsupportedException

            +
            public LiveContentUnsupportedException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.html new file mode 100644 index 0000000000..f8b3ea5e1d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadHelper.html @@ -0,0 +1,1326 @@ + + + + +DownloadHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DownloadHelper
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadIndex.html new file mode 100644 index 0000000000..8c287c883f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadIndex.html @@ -0,0 +1,301 @@ + + + + +DownloadIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DownloadIndex

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getDownload

            +
            @Nullable
            +Download getDownload​(String id)
            +              throws IOException
            +
            Returns the Download with the given id, or null. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            id - ID of a Download.
            +
            Returns:
            +
            The Download with the given id, or null if a download state with this + id doesn't exist.
            +
            Throws:
            +
            IOException - If an error occurs reading the state.
            +
            +
          • +
          + + + +
            +
          • +

            getDownloads

            +
            DownloadCursor getDownloads​(@State
            +                            int... states)
            +                     throws IOException
            +
            Returns a DownloadCursor to Downloads with the given states. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            states - Returns only the Downloads with this states. If empty, returns all.
            +
            Returns:
            +
            A cursor to Downloads with the given states.
            +
            Throws:
            +
            IOException - If an error occurs reading the state.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.Listener.html new file mode 100644 index 0000000000..20a8d1b0e2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.Listener.html @@ -0,0 +1,418 @@ + + + + +DownloadManager.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DownloadManager.Listener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onInitialized

            +
            default void onInitialized​(DownloadManager downloadManager)
            +
            Called when all downloads have been restored.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            +
          • +
          + + + +
            +
          • +

            onDownloadsPausedChanged

            +
            default void onDownloadsPausedChanged​(DownloadManager downloadManager,
            +                                      boolean downloadsPaused)
            +
            Called when downloads are (paused or resumed.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            downloadsPaused - Whether downloads are currently paused.
            +
            +
          • +
          + + + +
            +
          • +

            onDownloadChanged

            +
            default void onDownloadChanged​(DownloadManager downloadManager,
            +                               Download download,
            +                               @Nullable
            +                               Exception finalException)
            +
            Called when the state of a download changes.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            download - The state of the download.
            +
            finalException - If the download is transitioning to Download.STATE_FAILED, this + is the final exception that resulted in the failure.
            +
            +
          • +
          + + + +
            +
          • +

            onDownloadRemoved

            +
            default void onDownloadRemoved​(DownloadManager downloadManager,
            +                               Download download)
            +
            Called when a download is removed.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            download - The last state of the download before it was removed.
            +
            +
          • +
          + + + +
            +
          • +

            onIdle

            +
            default void onIdle​(DownloadManager downloadManager)
            +
            Called when there is no active download left.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            +
          • +
          + + + +
            +
          • +

            onRequirementsStateChanged

            +
            default void onRequirementsStateChanged​(DownloadManager downloadManager,
            +                                        Requirements requirements,
            +                                        @RequirementFlags
            +                                        int notMetRequirements)
            +
            Called when the download requirements state changed.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            requirements - Requirements needed to be met to start downloads.
            +
            notMetRequirements - RequirementFlags that are not + met, or 0.
            +
            +
          • +
          + + + +
            +
          • +

            onWaitingForRequirementsChanged

            +
            default void onWaitingForRequirementsChanged​(DownloadManager downloadManager,
            +                                             boolean waitingForRequirements)
            +
            Called when there is a change in whether this manager has one or more downloads that are not + progressing for the sole reason that the Requirements are not met. + See DownloadManager.isWaitingForRequirements() for more information.
            +
            +
            Parameters:
            +
            downloadManager - The reporting instance.
            +
            waitingForRequirements - Whether this manager has one or more downloads that are not + progressing for the sole reason that the Requirements are not + met.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.html new file mode 100644 index 0000000000..ce5897ef0b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadManager.html @@ -0,0 +1,962 @@ + + + + +DownloadManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadManager

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DownloadManager
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DownloadManager
        +extends Object
        +
        Manages downloads. + +

        Normally a download manager should be accessed via a DownloadService. When a download + manager is used directly instead, downloads will be initially paused and so must be resumed by + calling resumeDownloads(). + +

        A download manager instance must be accessed only from the thread that created it, unless that + thread does not have a Looper. In that case, it must be accessed only from the + application's main thread. Registered listeners will be called on the same thread. In all cases + the `Looper` of the thread from which the manager must be accessed can be queried using getApplicationLooper().

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_MAX_PARALLEL_DOWNLOADS

            +
            public static final int DEFAULT_MAX_PARALLEL_DOWNLOADS
            +
            The default maximum number of parallel downloads.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MIN_RETRY_COUNT

            +
            public static final int DEFAULT_MIN_RETRY_COUNT
            +
            The default minimum number of times a download must be retried before failing.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_REQUIREMENTS

            +
            public static final Requirements DEFAULT_REQUIREMENTS
            +
            The default requirement is that the device has network connectivity.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getApplicationLooper

            +
            public Looper getApplicationLooper()
            +
            Returns the Looper associated with the application thread that's used to access the + manager, and on which the manager will call its Listeners.
            +
          • +
          + + + +
            +
          • +

            isInitialized

            +
            public boolean isInitialized()
            +
            Returns whether the manager has completed initialization.
            +
          • +
          + + + +
            +
          • +

            isIdle

            +
            public boolean isIdle()
            +
            Returns whether the manager is currently idle. The manager is idle if all downloads are in a + terminal state (i.e. completed or failed), or if no progress can be made (e.g. because the + download requirements are not met).
            +
          • +
          + + + +
            +
          • +

            isWaitingForRequirements

            +
            public boolean isWaitingForRequirements()
            +
            Returns whether this manager has one or more downloads that are not progressing for the sole + reason that the Requirements are not met. This is true if: + +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getRequirements

            +
            public Requirements getRequirements()
            +
            Returns the requirements needed to be met to progress.
            +
          • +
          + + + +
            +
          • +

            getNotMetRequirements

            +
            @RequirementFlags
            +public int getNotMetRequirements()
            +
            Returns the requirements needed for downloads to progress that are not currently met.
            +
            +
            Returns:
            +
            The not met Requirements.RequirementFlags, or 0 if all requirements are met.
            +
            +
          • +
          + + + +
            +
          • +

            setRequirements

            +
            public void setRequirements​(Requirements requirements)
            +
            Sets the requirements that need to be met for downloads to progress.
            +
            +
            Parameters:
            +
            requirements - A Requirements.
            +
            +
          • +
          + + + +
            +
          • +

            getMaxParallelDownloads

            +
            public int getMaxParallelDownloads()
            +
            Returns the maximum number of parallel downloads.
            +
          • +
          + + + +
            +
          • +

            setMaxParallelDownloads

            +
            public void setMaxParallelDownloads​(int maxParallelDownloads)
            +
            Sets the maximum number of parallel downloads.
            +
            +
            Parameters:
            +
            maxParallelDownloads - The maximum number of parallel downloads. Must be greater than 0.
            +
            +
          • +
          + + + +
            +
          • +

            getMinRetryCount

            +
            public int getMinRetryCount()
            +
            Returns the minimum number of times that a download will be retried. A download will fail if + the specified number of retries is exceeded without any progress being made.
            +
          • +
          + + + +
            +
          • +

            setMinRetryCount

            +
            public void setMinRetryCount​(int minRetryCount)
            +
            Sets the minimum number of times that a download will be retried. A download will fail if the + specified number of retries is exceeded without any progress being made.
            +
            +
            Parameters:
            +
            minRetryCount - The minimum number of times that a download will be retried.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentDownloads

            +
            public List<Download> getCurrentDownloads()
            +
            Returns current downloads. Downloads that are in terminal states (i.e. completed or failed) are + not included. To query all downloads including those in terminal states, use getDownloadIndex() instead.
            +
          • +
          + + + +
            +
          • +

            getDownloadsPaused

            +
            public boolean getDownloadsPaused()
            +
            Returns whether downloads are currently paused.
            +
          • +
          + + + + + + + +
            +
          • +

            pauseDownloads

            +
            public void pauseDownloads()
            +
            Pauses downloads. Downloads that would otherwise be making progress will transition to Download.STATE_QUEUED.
            +
          • +
          + + + +
            +
          • +

            setStopReason

            +
            public void setStopReason​(@Nullable
            +                          String id,
            +                          int stopReason)
            +
            Sets the stop reason for one or all downloads. To clear the stop reason, pass Download.STOP_REASON_NONE.
            +
            +
            Parameters:
            +
            id - The content id of the download to update, or null to set the stop reason for + all downloads.
            +
            stopReason - The stop reason, or Download.STOP_REASON_NONE.
            +
            +
          • +
          + + + +
            +
          • +

            addDownload

            +
            public void addDownload​(DownloadRequest request)
            +
            Adds a download defined by the given request.
            +
            +
            Parameters:
            +
            request - The download request.
            +
            +
          • +
          + + + +
            +
          • +

            addDownload

            +
            public void addDownload​(DownloadRequest request,
            +                        int stopReason)
            +
            Adds a download defined by the given request and with the specified stop reason.
            +
            +
            Parameters:
            +
            request - The download request.
            +
            stopReason - An initial stop reason for the download, or Download.STOP_REASON_NONE + if the download should be started.
            +
            +
          • +
          + + + +
            +
          • +

            removeDownload

            +
            public void removeDownload​(String id)
            +
            Cancels the download with the id and removes all downloaded data.
            +
            +
            Parameters:
            +
            id - The unique content id of the download to be started.
            +
            +
          • +
          + + + +
            +
          • +

            removeAllDownloads

            +
            public void removeAllDownloads()
            +
            Cancels all pending downloads and removes all downloaded data.
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Stops the downloads and releases resources. Waits until the downloads are persisted to the + download index. The manager must not be accessed after this method has been called.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadProgress.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadProgress.html new file mode 100644 index 0000000000..60ed099039 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadProgress.html @@ -0,0 +1,321 @@ + + + + +DownloadProgress (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadProgress

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DownloadProgress
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class DownloadProgress
        +extends Object
        +
        Mutable Download progress.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            bytesDownloaded

            +
            public volatile long bytesDownloaded
            +
            The number of bytes that have been downloaded.
            +
          • +
          + + + +
            +
          • +

            percentDownloaded

            +
            public volatile float percentDownloaded
            +
            The percentage that has been downloaded, or C.PERCENTAGE_UNSET if unknown.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DownloadProgress

            +
            public DownloadProgress()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.Builder.html new file mode 100644 index 0000000000..5ea8d33485 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.Builder.html @@ -0,0 +1,398 @@ + + + + +DownloadRequest.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadRequest.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DownloadRequest.Builder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DownloadRequest
        +
        +
        +
        public static class DownloadRequest.Builder
        +extends Object
        +
        A builder for download requests.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.UnsupportedRequestException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.UnsupportedRequestException.html new file mode 100644 index 0000000000..643b564d24 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.UnsupportedRequestException.html @@ -0,0 +1,297 @@ + + + + +DownloadRequest.UnsupportedRequestException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadRequest.UnsupportedRequestException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        DownloadRequest
        +
        +
        +
        public static class DownloadRequest.UnsupportedRequestException
        +extends IOException
        +
        Thrown when the encoded request data belongs to an unsupported request type.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UnsupportedRequestException

            +
            public UnsupportedRequestException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.html new file mode 100644 index 0000000000..d1ffdd89f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadRequest.html @@ -0,0 +1,647 @@ + + + + +DownloadRequest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadRequest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.DownloadRequest
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class DownloadRequest
        +extends Object
        +implements Parcelable
        +
        Defines content to be downloaded.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            id

            +
            public final String id
            +
            The unique content id.
            +
          • +
          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The uri being downloaded.
            +
          • +
          + + + +
            +
          • +

            mimeType

            +
            @Nullable
            +public final String mimeType
            +
            The MIME type of this content. Used as a hint to infer the content's type (DASH, HLS, + SmoothStreaming). If null, a DownloadService will infer the content type from the + uri.
            +
          • +
          + + + +
            +
          • +

            streamKeys

            +
            public final List<StreamKey> streamKeys
            +
            Stream keys to be downloaded. If empty, all streams will be downloaded.
            +
          • +
          + + + +
            +
          • +

            keySetId

            +
            @Nullable
            +public final byte[] keySetId
            +
            The key set id of the offline licence if the content is protected with DRM.
            +
          • +
          + + + +
            +
          • +

            customCacheKey

            +
            @Nullable
            +public final String customCacheKey
            +
            Custom key for cache indexing, or null. Must be null for DASH, HLS and SmoothStreaming + downloads.
            +
          • +
          + + + +
            +
          • +

            data

            +
            public final byte[] data
            +
            Application defined data associated with the download. May be empty.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copyWithId

            +
            public DownloadRequest copyWithId​(String id)
            +
            Returns a copy with the specified ID.
            +
            +
            Parameters:
            +
            id - The ID of the copy.
            +
            Returns:
            +
            The copy with the specified ID.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithKeySetId

            +
            public DownloadRequest copyWithKeySetId​(@Nullable
            +                                        byte[] keySetId)
            +
            Returns a copy with the specified key set ID.
            +
            +
            Parameters:
            +
            keySetId - The key set ID of the copy.
            +
            Returns:
            +
            The copy with the specified key set ID.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithMergedRequest

            +
            public DownloadRequest copyWithMergedRequest​(DownloadRequest newRequest)
            +
            Returns the result of merging newRequest into this request. The requests must have the + same id. + +

            The resulting request contains the stream keys from both requests. For all other member + variables, those in newRequest are preferred.

            +
            +
            Parameters:
            +
            newRequest - The request being merged.
            +
            Returns:
            +
            The merged result.
            +
            Throws:
            +
            IllegalArgumentException - If the requests do not have the same id.
            +
            +
          • +
          + + + +
            +
          • +

            toMediaItem

            +
            public MediaItem toMediaItem()
            +
            Returns a MediaItem for the content defined by the request.
            +
          • +
          + + + + + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public final int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadService.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadService.html new file mode 100644 index 0000000000..7c735bc054 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloadService.html @@ -0,0 +1,1636 @@ + + + + +DownloadService (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadService

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DownloadService

            +
            protected DownloadService​(int foregroundNotificationId)
            +
            Creates a DownloadService. + +

            If foregroundNotificationId is FOREGROUND_NOTIFICATION_ID_NONE then the + service will only ever run in the background. No foreground notification will be displayed and + getScheduler() will not be called. + +

            If foregroundNotificationId is not FOREGROUND_NOTIFICATION_ID_NONE then the + service will run in the foreground. The foreground notification will be updated at least as + often as the interval specified by DEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL.

            +
            +
            Parameters:
            +
            foregroundNotificationId - The notification id for the foreground notification, or FOREGROUND_NOTIFICATION_ID_NONE if the service should only ever run in the background.
            +
            +
          • +
          + + + +
            +
          • +

            DownloadService

            +
            protected DownloadService​(int foregroundNotificationId,
            +                          long foregroundNotificationUpdateInterval)
            +
            Creates a DownloadService.
            +
            +
            Parameters:
            +
            foregroundNotificationId - The notification id for the foreground notification, or FOREGROUND_NOTIFICATION_ID_NONE if the service should only ever run in the background.
            +
            foregroundNotificationUpdateInterval - The maximum interval between updates to the + foreground notification, in milliseconds. Ignored if foregroundNotificationId is + FOREGROUND_NOTIFICATION_ID_NONE.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            DownloadService

            +
            protected DownloadService​(int foregroundNotificationId,
            +                          long foregroundNotificationUpdateInterval,
            +                          @Nullable
            +                          String channelId,
            +                          @StringRes
            +                          int channelNameResourceId,
            +                          @StringRes
            +                          int channelDescriptionResourceId)
            +
            Creates a DownloadService.
            +
            +
            Parameters:
            +
            foregroundNotificationId - The notification id for the foreground notification, or FOREGROUND_NOTIFICATION_ID_NONE if the service should only ever run in the background.
            +
            foregroundNotificationUpdateInterval - The maximum interval between updates to the + foreground notification, in milliseconds. Ignored if foregroundNotificationId is + FOREGROUND_NOTIFICATION_ID_NONE.
            +
            channelId - An id for a low priority notification channel to create, or null if + the app will take care of creating a notification channel if needed. If specified, must be + unique per package. The value may be truncated if it's too long. Ignored if + foregroundNotificationId is FOREGROUND_NOTIFICATION_ID_NONE.
            +
            channelNameResourceId - A string resource identifier for the user visible name of the + notification channel. The recommended maximum length is 40 characters. The value may be + truncated if it's too long. Ignored if channelId is null or if + foregroundNotificationId is FOREGROUND_NOTIFICATION_ID_NONE.
            +
            channelDescriptionResourceId - A string resource identifier for the user visible + description of the notification channel, or 0 if no description is provided. The + recommended maximum length is 300 characters. The value may be truncated if it is too long. + Ignored if channelId is null or if foregroundNotificationId is FOREGROUND_NOTIFICATION_ID_NONE.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildAddDownloadIntent

            +
            public static Intent buildAddDownloadIntent​(Context context,
            +                                            Class<? extends DownloadService> clazz,
            +                                            DownloadRequest downloadRequest,
            +                                            boolean foreground)
            +
            Builds an Intent for adding a new download.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            downloadRequest - The request to be executed.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildAddDownloadIntent

            +
            public static Intent buildAddDownloadIntent​(Context context,
            +                                            Class<? extends DownloadService> clazz,
            +                                            DownloadRequest downloadRequest,
            +                                            int stopReason,
            +                                            boolean foreground)
            +
            Builds an Intent for adding a new download.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            downloadRequest - The request to be executed.
            +
            stopReason - An initial stop reason for the download, or Download.STOP_REASON_NONE + if the download should be started.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildRemoveDownloadIntent

            +
            public static Intent buildRemoveDownloadIntent​(Context context,
            +                                               Class<? extends DownloadService> clazz,
            +                                               String id,
            +                                               boolean foreground)
            +
            Builds an Intent for removing the download with the id.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            id - The content id.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildRemoveAllDownloadsIntent

            +
            public static Intent buildRemoveAllDownloadsIntent​(Context context,
            +                                                   Class<? extends DownloadService> clazz,
            +                                                   boolean foreground)
            +
            Builds an Intent for removing all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildResumeDownloadsIntent

            +
            public static Intent buildResumeDownloadsIntent​(Context context,
            +                                                Class<? extends DownloadService> clazz,
            +                                                boolean foreground)
            +
            Builds an Intent for resuming all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildPauseDownloadsIntent

            +
            public static Intent buildPauseDownloadsIntent​(Context context,
            +                                               Class<? extends DownloadService> clazz,
            +                                               boolean foreground)
            +
            Builds an Intent to pause all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildSetStopReasonIntent

            +
            public static Intent buildSetStopReasonIntent​(Context context,
            +                                              Class<? extends DownloadService> clazz,
            +                                              @Nullable
            +                                              String id,
            +                                              int stopReason,
            +                                              boolean foreground)
            +
            Builds an Intent for setting the stop reason for one or all downloads. To clear the + stop reason, pass Download.STOP_REASON_NONE.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            id - The content id, or null to set the stop reason for all downloads.
            +
            stopReason - An application defined stop reason.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            buildSetRequirementsIntent

            +
            public static Intent buildSetRequirementsIntent​(Context context,
            +                                                Class<? extends DownloadService> clazz,
            +                                                Requirements requirements,
            +                                                boolean foreground)
            +
            Builds an Intent for setting the requirements that need to be met for downloads to + progress.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service being targeted by the intent.
            +
            requirements - A Requirements.
            +
            foreground - Whether this intent will be used to start the service in the foreground.
            +
            Returns:
            +
            The created intent.
            +
            +
          • +
          + + + +
            +
          • +

            sendAddDownload

            +
            public static void sendAddDownload​(Context context,
            +                                   Class<? extends DownloadService> clazz,
            +                                   DownloadRequest downloadRequest,
            +                                   boolean foreground)
            +
            Starts the service if not started already and adds a new download.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            downloadRequest - The request to be executed.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendAddDownload

            +
            public static void sendAddDownload​(Context context,
            +                                   Class<? extends DownloadService> clazz,
            +                                   DownloadRequest downloadRequest,
            +                                   int stopReason,
            +                                   boolean foreground)
            +
            Starts the service if not started already and adds a new download.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            downloadRequest - The request to be executed.
            +
            stopReason - An initial stop reason for the download, or Download.STOP_REASON_NONE + if the download should be started.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendRemoveDownload

            +
            public static void sendRemoveDownload​(Context context,
            +                                      Class<? extends DownloadService> clazz,
            +                                      String id,
            +                                      boolean foreground)
            +
            Starts the service if not started already and removes a download.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            id - The content id.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendRemoveAllDownloads

            +
            public static void sendRemoveAllDownloads​(Context context,
            +                                          Class<? extends DownloadService> clazz,
            +                                          boolean foreground)
            +
            Starts the service if not started already and removes all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendResumeDownloads

            +
            public static void sendResumeDownloads​(Context context,
            +                                       Class<? extends DownloadService> clazz,
            +                                       boolean foreground)
            +
            Starts the service if not started already and resumes all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendPauseDownloads

            +
            public static void sendPauseDownloads​(Context context,
            +                                      Class<? extends DownloadService> clazz,
            +                                      boolean foreground)
            +
            Starts the service if not started already and pauses all downloads.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendSetStopReason

            +
            public static void sendSetStopReason​(Context context,
            +                                     Class<? extends DownloadService> clazz,
            +                                     @Nullable
            +                                     String id,
            +                                     int stopReason,
            +                                     boolean foreground)
            +
            Starts the service if not started already and sets the stop reason for one or all downloads. To + clear stop reason, pass Download.STOP_REASON_NONE.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            id - The content id, or null to set the stop reason for all downloads.
            +
            stopReason - An application defined stop reason.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + +
            +
          • +

            sendSetRequirements

            +
            public static void sendSetRequirements​(Context context,
            +                                       Class<? extends DownloadService> clazz,
            +                                       Requirements requirements,
            +                                       boolean foreground)
            +
            Starts the service if not started already and sets the requirements that need to be met for + downloads to progress.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            requirements - A Requirements.
            +
            foreground - Whether the service is started in the foreground.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            startForeground

            +
            public static void startForeground​(Context context,
            +                                   Class<? extends DownloadService> clazz)
            +
            Starts the service in the foreground without adding a new download request. If there are any + not finished downloads and the requirements are met, the service resumes downloading. Otherwise + it stops immediately.
            +
            +
            Parameters:
            +
            context - A Context.
            +
            clazz - The concrete download service to be started.
            +
            See Also:
            +
            start(Context, Class)
            +
            +
          • +
          + + + +
            +
          • +

            onCreate

            +
            public void onCreate()
            +
            +
            Overrides:
            +
            onCreate in class Service
            +
            +
          • +
          + + + +
            +
          • +

            onStartCommand

            +
            public int onStartCommand​(@Nullable
            +                          Intent intent,
            +                          int flags,
            +                          int startId)
            +
            +
            Overrides:
            +
            onStartCommand in class Service
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onDestroy

            +
            public void onDestroy()
            +
            +
            Overrides:
            +
            onDestroy in class Service
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getDownloadManager

            +
            protected abstract DownloadManager getDownloadManager()
            +
            Returns a DownloadManager to be used to downloaded content. Called only once in the + life cycle of the process.
            +
          • +
          + + + +
            +
          • +

            getScheduler

            +
            @Nullable
            +protected abstract Scheduler getScheduler()
            +
            Returns a Scheduler to restart the service when requirements allowing downloads to take + place are met. If null, the service will only be restarted if the process is still in + memory when the requirements are met. + +

            This method is not called for services whose foregroundNotificationId is set to + FOREGROUND_NOTIFICATION_ID_NONE. Such services will only be restarted if the process + is still in memory and considered non-idle, meaning that it's either in the foreground or was + backgrounded within the last few minutes.

            +
          • +
          + + + +
            +
          • +

            getForegroundNotification

            +
            protected abstract Notification getForegroundNotification​(List<Download> downloads)
            +
            Returns a notification to be displayed when this service running in the foreground. + +

            Download services that do not wish to run in the foreground should be created by setting the + foregroundNotificationId constructor argument to FOREGROUND_NOTIFICATION_ID_NONE. This method is not called for such services, meaning it can + be implemented to throw UnsupportedOperationException.

            +
            +
            Parameters:
            +
            downloads - The current downloads.
            +
            Returns:
            +
            The foreground notification to display.
            +
            +
          • +
          + + + +
            +
          • +

            invalidateForegroundNotification

            +
            protected final void invalidateForegroundNotification()
            +
            Invalidates the current foreground notification and causes getForegroundNotification(List) to be invoked again if the service isn't stopped.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.ProgressListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.ProgressListener.html new file mode 100644 index 0000000000..e50bb5e242 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.ProgressListener.html @@ -0,0 +1,269 @@ + + + + +Downloader.ProgressListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Downloader.ProgressListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        Downloader
        +
        +
        +
        public static interface Downloader.ProgressListener
        +
        Receives progress updates during download operations.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonProgress​(long contentLength, + long bytesDownloaded, + float percentDownloaded) +
          Called when progress is made during a download operation.
          +
          +
        • +
        +
      • +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.html new file mode 100644 index 0000000000..339b8bec8b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/Downloader.html @@ -0,0 +1,335 @@ + + + + +Downloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Downloader

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeInterfaceDescription
          static interface Downloader.ProgressListener +
          Receives progress updates during download operations.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            download

            +
            void download​(@Nullable
            +              Downloader.ProgressListener progressListener)
            +       throws IOException,
            +              InterruptedException
            +
            Downloads the content. + +

            If downloading fails, this method can be called again to resume the download. It cannot be + called again after the download has been canceled. + +

            If downloading is canceled whilst this method is executing, then it is expected that it will + return reasonably quickly. However, there are no guarantees about how the method will return, + meaning that it can return without throwing, or by throwing any of its documented exceptions. + The caller must use its own knowledge about whether downloading has been canceled to determine + whether this is why the method has returned, rather than relying on the method returning in a + particular way.

            +
            +
            Parameters:
            +
            progressListener - A listener to receive progress updates, or null.
            +
            Throws:
            +
            IOException - If the download failed to complete successfully.
            +
            InterruptedException - If the download was interrupted.
            +
            CancellationException - If the download was canceled.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            remove

            +
            void remove()
            +
            Removes the content.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloaderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloaderFactory.html new file mode 100644 index 0000000000..ae6e61824b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/DownloaderFactory.html @@ -0,0 +1,260 @@ + + + + +DownloaderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DownloaderFactory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilterableManifest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilterableManifest.html new file mode 100644 index 0000000000..5a12af0c7c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilterableManifest.html @@ -0,0 +1,266 @@ + + + + +FilterableManifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface FilterableManifest<T>

      +
      +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copy

            +
            T copy​(List<StreamKey> streamKeys)
            +
            Returns a copy of the manifest including only the streams specified by the given keys. If the + manifest is unchanged then the instance may return itself.
            +
            +
            Parameters:
            +
            streamKeys - A non-empty list of stream keys.
            +
            Returns:
            +
            The filtered manifest.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilteringManifestParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilteringManifestParser.html new file mode 100644 index 0000000000..f7a031873e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/FilteringManifestParser.html @@ -0,0 +1,335 @@ + + + + +FilteringManifestParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FilteringManifestParser<T extends FilterableManifest<T>>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.FilteringManifestParser<T>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FilteringManifestParser

            +
            public FilteringManifestParser​(ParsingLoadable.Parser<? extends T> parser,
            +                               @Nullable
            +                               List<StreamKey> streamKeys)
            +
            +
            Parameters:
            +
            parser - A parser for the manifest that will be filtered.
            +
            streamKeys - The stream keys. If null or empty then filtering will not occur.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ProgressiveDownloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ProgressiveDownloader.html new file mode 100644 index 0000000000..9a1199f0b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/ProgressiveDownloader.html @@ -0,0 +1,488 @@ + + + + +ProgressiveDownloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProgressiveDownloader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.ProgressiveDownloader
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Downloader
        +
        +
        +
        public final class ProgressiveDownloader
        +extends Object
        +implements Downloader
        +
        A downloader for progressive media streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            download

            +
            public void download​(@Nullable
            +                     Downloader.ProgressListener progressListener)
            +              throws IOException,
            +                     InterruptedException
            +
            Description copied from interface: Downloader
            +
            Downloads the content. + +

            If downloading fails, this method can be called again to resume the download. It cannot be + called again after the download has been canceled. + +

            If downloading is canceled whilst this method is executing, then it is expected that it will + return reasonably quickly. However, there are no guarantees about how the method will return, + meaning that it can return without throwing, or by throwing any of its documented exceptions. + The caller must use its own knowledge about whether downloading has been canceled to determine + whether this is why the method has returned, rather than relying on the method returning in a + particular way.

            +
            +
            Specified by:
            +
            download in interface Downloader
            +
            Parameters:
            +
            progressListener - A listener to receive progress updates, or null.
            +
            Throws:
            +
            IOException - If the download failed to complete successfully.
            +
            InterruptedException - If the download was interrupted.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            remove

            +
            public void remove()
            +
            Description copied from interface: Downloader
            +
            Removes the content.
            +
            +
            Specified by:
            +
            remove in interface Downloader
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.Segment.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.Segment.html new file mode 100644 index 0000000000..37bc5bbcde --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.Segment.html @@ -0,0 +1,375 @@ + + + + +SegmentDownloader.Segment (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentDownloader.Segment

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.SegmentDownloader.Segment
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.html new file mode 100644 index 0000000000..0d6d564fbf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/SegmentDownloader.html @@ -0,0 +1,549 @@ + + + + +SegmentDownloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentDownloader<M extends FilterableManifest<M>>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.offline.SegmentDownloader<M>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/StreamKey.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/StreamKey.html new file mode 100644 index 0000000000..ff6b7121ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/StreamKey.html @@ -0,0 +1,546 @@ + + + + +StreamKey (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StreamKey

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable, Comparable<StreamKey>
        +
        +
        +
        public final class StreamKey
        +extends Object
        +implements Comparable<StreamKey>, Parcelable
        +
        A key for a subset of media which can be separately loaded (a "stream"). + +

        The stream key consists of a period index, a group index within the period and a track index + within the group. The interpretation of these indices depends on the type of media for which the + stream key is used.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            periodIndex

            +
            public final int periodIndex
            +
            The period index.
            +
          • +
          + + + +
            +
          • +

            groupIndex

            +
            public final int groupIndex
            +
            The group index.
            +
          • +
          + + + +
            +
          • +

            trackIndex

            +
            public final int trackIndex
            +
            The track index.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StreamKey

            +
            public StreamKey​(int groupIndex,
            +                 int trackIndex)
            +
            +
            Parameters:
            +
            groupIndex - The group index.
            +
            trackIndex - The track index.
            +
            +
          • +
          + + + +
            +
          • +

            StreamKey

            +
            public StreamKey​(int periodIndex,
            +                 int groupIndex,
            +                 int trackIndex)
            +
            +
            Parameters:
            +
            periodIndex - The period index.
            +
            groupIndex - The group index.
            +
            trackIndex - The track index.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/WritableDownloadIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/WritableDownloadIndex.html new file mode 100644 index 0000000000..8fead524dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/WritableDownloadIndex.html @@ -0,0 +1,409 @@ + + + + +WritableDownloadIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface WritableDownloadIndex

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            putDownload

            +
            void putDownload​(Download download)
            +          throws IOException
            +
            Adds or replaces a Download. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            download - The Download to be added.
            +
            Throws:
            +
            IOException - If an error occurs setting the state.
            +
            +
          • +
          + + + +
            +
          • +

            removeDownload

            +
            void removeDownload​(String id)
            +             throws IOException
            +
            Removes the download with the given ID. Does nothing if a download with the given ID does not + exist. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            id - The ID of the download to remove.
            +
            Throws:
            +
            IOException - If an error occurs removing the state.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setStatesToRemoving

            +
            void setStatesToRemoving()
            +                  throws IOException
            +
            Sets all states to Download.STATE_REMOVING. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Throws:
            +
            IOException - If an error occurs updating the state.
            +
            +
          • +
          + + + +
            +
          • +

            setStopReason

            +
            void setStopReason​(int stopReason)
            +            throws IOException
            +
            Sets the stop reason of the downloads in a terminal state (Download.STATE_COMPLETED, + Download.STATE_FAILED). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            stopReason - The stop reason.
            +
            Throws:
            +
            IOException - If an error occurs updating the state.
            +
            +
          • +
          + + + +
            +
          • +

            setStopReason

            +
            void setStopReason​(String id,
            +                   int stopReason)
            +            throws IOException
            +
            Sets the stop reason of the download with the given ID in a terminal state (Download.STATE_COMPLETED, Download.STATE_FAILED). Does nothing if a download with the + given ID does not exist, or if it's not in a terminal state. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            id - The ID of the download to update.
            +
            stopReason - The stop reason.
            +
            Throws:
            +
            IOException - If an error occurs updating the state.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-frame.html new file mode 100644 index 0000000000..4004d8a5d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-frame.html @@ -0,0 +1,65 @@ + + + + +com.google.android.exoplayer2.offline (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.offline

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-summary.html new file mode 100644 index 0000000000..2a15c015f3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-summary.html @@ -0,0 +1,377 @@ + + + + +com.google.android.exoplayer2.offline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.offline

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-tree.html new file mode 100644 index 0000000000..fa16cd696b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/offline/package-tree.html @@ -0,0 +1,231 @@ + + + + +com.google.android.exoplayer2.offline Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.offline

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-frame.html new file mode 100644 index 0000000000..19acf392ae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-frame.html @@ -0,0 +1,136 @@ + + + + +com.google.android.exoplayer2 (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2

      +
      +

      Interfaces

      + +

      Classes

      + +

      Exceptions

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-summary.html new file mode 100644 index 0000000000..56550d1bda --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-summary.html @@ -0,0 +1,807 @@ + + + + +com.google.android.exoplayer2 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-tree.html new file mode 100644 index 0000000000..fb2abb7a01 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/package-tree.html @@ -0,0 +1,303 @@ + + + + +com.google.android.exoplayer2 Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/PlaybackOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/PlaybackOutput.html new file mode 100644 index 0000000000..b0995ab954 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/PlaybackOutput.html @@ -0,0 +1,313 @@ + + + + +PlaybackOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlaybackOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.robolectric.PlaybackOutput
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Dumper.Dumpable
        +
        +
        +
        public final class PlaybackOutput
        +extends Object
        +implements Dumper.Dumpable
        +
        Class to capture output from a playback test. + +

        Implements Dumper.Dumpable so the output can be easily dumped to a string for + comparison against previous test runs.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            register

            +
            public static PlaybackOutput register​(SimpleExoPlayer player,
            +                                      CapturingRenderersFactory capturingRenderersFactory)
            +
            Create an instance that captures the metadata and text output from player and the audio + and video output via capturingRenderersFactory. + +

            Must be called before playback to ensure metadata and text output is captured + correctly.

            +
            +
            Parameters:
            +
            player - The SimpleExoPlayer to capture metadata and text output from.
            +
            capturingRenderersFactory - The CapturingRenderersFactory to capture audio and + video output from.
            +
            Returns:
            +
            A new instance that can be used to dump the playback output.
            +
            +
          • +
          + + + +
            +
          • +

            dump

            +
            public void dump​(Dumper dumper)
            +
            Description copied from interface: Dumper.Dumpable
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Specified by:
            +
            dump in interface Dumper.Dumpable
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RandomizedMp3Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RandomizedMp3Decoder.html new file mode 100644 index 0000000000..5adb419e77 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RandomizedMp3Decoder.html @@ -0,0 +1,363 @@ + + + + +RandomizedMp3Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RandomizedMp3Decoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.robolectric.RandomizedMp3Decoder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        org.robolectric.shadows.ShadowMediaCodec.CodecConfig.Codec
        +
        +
        +
        public final class RandomizedMp3Decoder
        +extends Object
        +implements org.robolectric.shadows.ShadowMediaCodec.CodecConfig.Codec
        +
        Generates randomized, but correct amount of data on MP3 audio input. + +

        The decoder reads the MP3 header for each input MP3 frame, determines the number of bytes the + input frame should inflate to, and writes randomized data of that amount to the output buffer. + Decoder randomness can help us identify possible errors in downstream renderers and audio + processors. The random bahavior is deterministic, it outputs the same bytes across multiple runs. + +

        All the data written to the output by the decoder can be obtained by getAllOutputBytes().

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RandomizedMp3Decoder

            +
            public RandomizedMp3Decoder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            process

            +
            public void process​(ByteBuffer in,
            +                    ByteBuffer out)
            +
            +
            Specified by:
            +
            process in interface org.robolectric.shadows.ShadowMediaCodec.CodecConfig.Codec
            +
            +
          • +
          + + + +
            +
          • +

            onConfigured

            +
            public void onConfigured​(MediaFormat format,
            +                         Surface surface,
            +                         MediaCrypto crypto,
            +                         int flags)
            +
            +
            Specified by:
            +
            onConfigured in interface org.robolectric.shadows.ShadowMediaCodec.CodecConfig.Codec
            +
            +
          • +
          + + + +
            +
          • +

            getAllOutputBytes

            +
            public ImmutableList<byte[]> getAllOutputBytes()
            +
            Returns all arrays of bytes output from the decoder.
            +
            +
            Returns:
            +
            a list of byte arrays (for each MP3 frame input) that were previously output from the + decoder.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RobolectricUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RobolectricUtil.html new file mode 100644 index 0000000000..b6a8e04411 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/RobolectricUtil.html @@ -0,0 +1,440 @@ + + + + +RobolectricUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RobolectricUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.robolectric.RobolectricUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class RobolectricUtil
        +extends Object
        +
        Utility methods for Robolectric-based tests.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_TIMEOUT_MS

            +
            public static final long DEFAULT_TIMEOUT_MS
            +
            The default timeout applied when calling runMainLooperUntil(Supplier). This timeout + should be sufficient for any condition using a Robolectric test.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            runMainLooperUntil

            +
            public static void runMainLooperUntil​(Supplier<Boolean> condition)
            +                               throws TimeoutException
            +
            Runs tasks of the main Robolectric Looper until the condition returns + true. + +

            Must be called on the main test thread.

            +
            +
            Parameters:
            +
            condition - The condition.
            +
            Throws:
            +
            TimeoutException - If the DEFAULT_TIMEOUT_MS is exceeded.
            +
            +
          • +
          + + + +
            +
          • +

            runMainLooperUntil

            +
            public static void runMainLooperUntil​(Supplier<Boolean> condition,
            +                                      long timeoutMs,
            +                                      Clock clock)
            +                               throws TimeoutException
            +
            Runs tasks of the main Robolectric Looper until the condition returns + true. + +

            Must be called on the main test thread.

            +
            +
            Parameters:
            +
            condition - The condition.
            +
            timeoutMs - The timeout in milliseconds.
            +
            clock - The Clock to measure the timeout.
            +
            Throws:
            +
            TimeoutException - If the timeoutMs timeout is exceeded.
            +
            +
          • +
          + + + +
            +
          • +

            runLooperUntil

            +
            public static void runLooperUntil​(Looper looper,
            +                                  Supplier<Boolean> condition)
            +                           throws TimeoutException
            +
            Runs tasks of the looper until the condition returns true. + +

            Must be called on the thread corresponding to the looper.

            +
            +
            Parameters:
            +
            looper - The Looper.
            +
            condition - The condition.
            +
            Throws:
            +
            TimeoutException - If the DEFAULT_TIMEOUT_MS is exceeded.
            +
            +
          • +
          + + + +
            +
          • +

            runLooperUntil

            +
            public static void runLooperUntil​(Looper looper,
            +                                  Supplier<Boolean> condition,
            +                                  long timeoutMs,
            +                                  Clock clock)
            +                           throws TimeoutException
            +
            Runs tasks of the looper until the condition returns true. + +

            Must be called on the thread corresponding to the looper.

            +
            +
            Parameters:
            +
            looper - The Looper.
            +
            condition - The condition.
            +
            timeoutMs - The timeout in milliseconds.
            +
            clock - The Clock to measure the timeout.
            +
            Throws:
            +
            TimeoutException - If the timeoutMs timeout is exceeded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/ShadowMediaCodecConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/ShadowMediaCodecConfig.html new file mode 100644 index 0000000000..9a650854ac --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/ShadowMediaCodecConfig.html @@ -0,0 +1,357 @@ + + + + +ShadowMediaCodecConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ShadowMediaCodecConfig

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • org.junit.rules.ExternalResource
        • +
        • +
            +
          • com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        org.junit.rules.TestRule
        +
        +
        +
        public final class ShadowMediaCodecConfig
        +extends org.junit.rules.ExternalResource
        +
        A JUnit @Rule to configure Roboelectric's ShadowMediaCodec. + +

        Registers a ShadowMediaCodec.CodecConfig for each audio/video + MIME type known by ExoPlayer.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ShadowMediaCodecConfig

            +
            public ShadowMediaCodecConfig()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            before

            +
            protected void before()
            +               throws Throwable
            +
            +
            Overrides:
            +
            before in class org.junit.rules.ExternalResource
            +
            Throws:
            +
            Throwable
            +
            +
          • +
          + + + +
            +
          • +

            after

            +
            protected void after()
            +
            +
            Overrides:
            +
            after in class org.junit.rules.ExternalResource
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestDownloadManagerListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestDownloadManagerListener.html new file mode 100644 index 0000000000..969014dfdc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestDownloadManagerListener.html @@ -0,0 +1,508 @@ + + + + +TestDownloadManagerListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TestDownloadManagerListener

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TestDownloadManagerListener

            +
            public TestDownloadManagerListener​(DownloadManager downloadManager)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.html new file mode 100644 index 0000000000..a0a2fcb4c1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.html @@ -0,0 +1,596 @@ + + + + +TestPlayerRunHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TestPlayerRunHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class TestPlayerRunHelper
        +extends Object
        +
        Helper methods to block the calling thread until the provided SimpleExoPlayer instance + reaches a particular state.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-frame.html new file mode 100644 index 0000000000..88d0fd200a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-frame.html @@ -0,0 +1,32 @@ + + + + +com.google.android.exoplayer2.robolectric (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.robolectric

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-summary.html new file mode 100644 index 0000000000..5d59a0bb4d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-summary.html @@ -0,0 +1,200 @@ + + + + +com.google.android.exoplayer2.robolectric (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.robolectric

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-tree.html new file mode 100644 index 0000000000..98872fe95b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/robolectric/package-tree.html @@ -0,0 +1,170 @@ + + + + +com.google.android.exoplayer2.robolectric Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.robolectric

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.PlatformSchedulerService.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.PlatformSchedulerService.html new file mode 100644 index 0000000000..0eda237aed --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.PlatformSchedulerService.html @@ -0,0 +1,413 @@ + + + + +PlatformScheduler.PlatformSchedulerService (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlatformScheduler.PlatformSchedulerService

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.html new file mode 100644 index 0000000000..5298abefed --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/PlatformScheduler.html @@ -0,0 +1,422 @@ + + + + +PlatformScheduler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlatformScheduler

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.scheduler.PlatformScheduler
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Scheduler
        +
        +
        +
        public final class PlatformScheduler
        +extends Object
        +implements Scheduler
        +
        A Scheduler that uses JobScheduler. To use this scheduler, you must add PlatformScheduler.PlatformSchedulerService to your manifest: + +
        + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        + <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
        +
        + <service android:name="com.google.android.exoplayer2.scheduler.PlatformScheduler$PlatformSchedulerService"
        +     android:permission="android.permission.BIND_JOB_SERVICE"
        +     android:exported="true"/>
        + 
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlatformScheduler

            +
            public PlatformScheduler​(Context context,
            +                         int jobId)
            +
            +
            Parameters:
            +
            context - Any context.
            +
            jobId - An identifier for the jobs scheduled by this instance. If the same identifier was + used by a previous instance, anything scheduled by the previous instance will be canceled + by this instance if schedule(Requirements, String, String) or cancel() + are called.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            schedule

            +
            public boolean schedule​(Requirements requirements,
            +                        String servicePackage,
            +                        String serviceAction)
            +
            Description copied from interface: Scheduler
            +
            Schedules a service to be started in the foreground when some Requirements are met. + Anything that was previously scheduled will be canceled. + +

            The service to be started must be declared in the manifest of servicePackage with an + intent filter containing serviceAction. Note that when started with + serviceAction, the service must call Service.startForeground(int, Notification) to + make itself a foreground service, as documented by ContextWrapper.startForegroundService(Intent).

            +
            +
            Specified by:
            +
            schedule in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements.
            +
            servicePackage - The package name.
            +
            serviceAction - The action with which the service will be started.
            +
            Returns:
            +
            Whether scheduling was successful.
            +
            +
          • +
          + + + +
            +
          • +

            cancel

            +
            public boolean cancel()
            +
            Description copied from interface: Scheduler
            +
            Cancels anything that was previously scheduled, or else does nothing.
            +
            +
            Specified by:
            +
            cancel in interface Scheduler
            +
            Returns:
            +
            Whether cancellation was successful.
            +
            +
          • +
          + + + +
            +
          • +

            getSupportedRequirements

            +
            public Requirements getSupportedRequirements​(Requirements requirements)
            +
            Description copied from interface: Scheduler
            +
            Checks whether this Scheduler supports the provided Requirements. If all of the + requirements are supported then the same Requirements instance is returned. If not then + a new instance is returned containing the subset of the requirements that are supported.
            +
            +
            Specified by:
            +
            getSupportedRequirements in interface Scheduler
            +
            Parameters:
            +
            requirements - The requirements to check.
            +
            Returns:
            +
            The supported requirements.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.RequirementFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.RequirementFlags.html new file mode 100644 index 0000000000..23fb054538 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.RequirementFlags.html @@ -0,0 +1,190 @@ + + + + +Requirements.RequirementFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Requirements.RequirementFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.html new file mode 100644 index 0000000000..0a7bddb45a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Requirements.html @@ -0,0 +1,725 @@ + + + + +Requirements (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Requirements

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.scheduler.Requirements
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class Requirements
        +extends Object
        +implements Parcelable
        +
        Defines a set of device state requirements.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            NETWORK

            +
            public static final int NETWORK
            +
            Requirement that the device has network connectivity.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            NETWORK_UNMETERED

            +
            public static final int NETWORK_UNMETERED
            +
            Requirement that the device has a network connection that is unmetered.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEVICE_IDLE

            +
            public static final int DEVICE_IDLE
            +
            Requirement that the device is idle.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEVICE_CHARGING

            +
            public static final int DEVICE_CHARGING
            +
            Requirement that the device is charging.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEVICE_STORAGE_NOT_LOW

            +
            public static final int DEVICE_STORAGE_NOT_LOW
            +
            Requirement that the device's internal storage is not low. Note that this requirement + is not affected by the status of external storage.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Requirements

            +
            public Requirements​(@RequirementFlags
            +                    int requirements)
            +
            +
            Parameters:
            +
            requirements - A combination of requirement flags.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getRequirements

            +
            @RequirementFlags
            +public int getRequirements()
            +
            Returns the requirements.
            +
          • +
          + + + +
            +
          • +

            filterRequirements

            +
            public Requirements filterRequirements​(int requirementsFilter)
            +
            Filters the requirements, returning the subset that are enabled by the provided filter.
            +
            +
            Parameters:
            +
            requirementsFilter - The enabled Requirements.RequirementFlags.
            +
            Returns:
            +
            The filtered requirements. If the filter does not cause a change in the requirements + then this instance will be returned.
            +
            +
          • +
          + + + +
            +
          • +

            isNetworkRequired

            +
            public boolean isNetworkRequired()
            +
            Returns whether network connectivity is required.
            +
          • +
          + + + +
            +
          • +

            isUnmeteredNetworkRequired

            +
            public boolean isUnmeteredNetworkRequired()
            +
            Returns whether un-metered network connectivity is required.
            +
          • +
          + + + +
            +
          • +

            isChargingRequired

            +
            public boolean isChargingRequired()
            +
            Returns whether the device is required to be charging.
            +
          • +
          + + + +
            +
          • +

            isIdleRequired

            +
            public boolean isIdleRequired()
            +
            Returns whether the device is required to be idle.
            +
          • +
          + + + +
            +
          • +

            isStorageNotLowRequired

            +
            public boolean isStorageNotLowRequired()
            +
            Returns whether the device is required to not be low on internal storage.
            +
          • +
          + + + +
            +
          • +

            checkRequirements

            +
            public boolean checkRequirements​(Context context)
            +
            Returns whether the requirements are met.
            +
            +
            Parameters:
            +
            context - Any context.
            +
            Returns:
            +
            Whether the requirements are met.
            +
            +
          • +
          + + + +
            +
          • +

            getNotMetRequirements

            +
            @RequirementFlags
            +public int getNotMetRequirements​(Context context)
            +
            Returns requirements that are not met, or 0.
            +
            +
            Parameters:
            +
            context - Any context.
            +
            Returns:
            +
            The requirements that are not met, or 0.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html new file mode 100644 index 0000000000..8d7df4dca5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.Listener.html @@ -0,0 +1,263 @@ + + + + +RequirementsWatcher.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface RequirementsWatcher.Listener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        RequirementsWatcher
        +
        +
        +
        public static interface RequirementsWatcher.Listener
        +
        Notified when RequirementsWatcher instance first created and on changes whether the Requirements are met.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onRequirementsStateChanged

            +
            void onRequirementsStateChanged​(RequirementsWatcher requirementsWatcher,
            +                                @RequirementFlags
            +                                int notMetRequirements)
            +
            Called when there is a change on the met requirements.
            +
            +
            Parameters:
            +
            requirementsWatcher - Calling instance.
            +
            notMetRequirements - RequirementFlags that are not + met, or 0.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.html new file mode 100644 index 0000000000..6b7311fec2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/RequirementsWatcher.html @@ -0,0 +1,374 @@ + + + + +RequirementsWatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RequirementsWatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.scheduler.RequirementsWatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            start

            +
            @RequirementFlags
            +public int start()
            +
            Starts watching for changes. Must be called from a thread that has an associated Looper. Listener methods are called on the caller thread.
            +
            +
            Returns:
            +
            Initial RequirementFlags that are not met, or 0.
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public void stop()
            +
            Stops watching for changes.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Scheduler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Scheduler.html new file mode 100644 index 0000000000..26223d4ec3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/Scheduler.html @@ -0,0 +1,318 @@ + + + + +Scheduler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Scheduler

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            schedule

            +
            boolean schedule​(Requirements requirements,
            +                 String servicePackage,
            +                 String serviceAction)
            +
            Schedules a service to be started in the foreground when some Requirements are met. + Anything that was previously scheduled will be canceled. + +

            The service to be started must be declared in the manifest of servicePackage with an + intent filter containing serviceAction. Note that when started with + serviceAction, the service must call Service.startForeground(int, Notification) to + make itself a foreground service, as documented by ContextWrapper.startForegroundService(Intent).

            +
            +
            Parameters:
            +
            requirements - The requirements.
            +
            servicePackage - The package name.
            +
            serviceAction - The action with which the service will be started.
            +
            Returns:
            +
            Whether scheduling was successful.
            +
            +
          • +
          + + + +
            +
          • +

            cancel

            +
            boolean cancel()
            +
            Cancels anything that was previously scheduled, or else does nothing.
            +
            +
            Returns:
            +
            Whether cancellation was successful.
            +
            +
          • +
          + + + +
            +
          • +

            getSupportedRequirements

            +
            Requirements getSupportedRequirements​(Requirements requirements)
            +
            Checks whether this Scheduler supports the provided Requirements. If all of the + requirements are supported then the same Requirements instance is returned. If not then + a new instance is returned containing the subset of the requirements that are supported.
            +
            +
            Parameters:
            +
            requirements - The requirements to check.
            +
            Returns:
            +
            The supported requirements.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-frame.html new file mode 100644 index 0000000000..a89ffe351b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-frame.html @@ -0,0 +1,39 @@ + + + + +com.google.android.exoplayer2.scheduler (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.scheduler

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-summary.html new file mode 100644 index 0000000000..9a58689b3a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-summary.html @@ -0,0 +1,226 @@ + + + + +com.google.android.exoplayer2.scheduler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.scheduler

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-tree.html new file mode 100644 index 0000000000..c4b6b2fe34 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/scheduler/package-tree.html @@ -0,0 +1,189 @@ + + + + +com.google.android.exoplayer2.scheduler Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.scheduler

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BaseMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BaseMediaSource.html new file mode 100644 index 0000000000..166876cd3c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BaseMediaSource.html @@ -0,0 +1,816 @@ + + + + +BaseMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseMediaSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.BaseMediaSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BehindLiveWindowException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BehindLiveWindowException.html new file mode 100644 index 0000000000..c4504f83bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/BehindLiveWindowException.html @@ -0,0 +1,293 @@ + + + + +BehindLiveWindowException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BehindLiveWindowException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class BehindLiveWindowException
        +extends IOException
        +
        Thrown when a live playback falls behind the available media window.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BehindLiveWindowException

            +
            public BehindLiveWindowException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaPeriod.html new file mode 100644 index 0000000000..25e3f0f97a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaPeriod.html @@ -0,0 +1,875 @@ + + + + +ClippingMediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ClippingMediaPeriod

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ClippingMediaPeriod
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ClippingMediaPeriod

            +
            public ClippingMediaPeriod​(MediaPeriod mediaPeriod,
            +                           boolean enableInitialDiscontinuity,
            +                           long startUs,
            +                           long endUs)
            +
            Creates a new clipping media period that provides a clipped view of the specified MediaPeriod's sample streams. + +

            If the start point is guaranteed to be a key frame, pass false to + enableInitialPositionDiscontinuity to suppress an initial discontinuity when the period is + first read from.

            +
            +
            Parameters:
            +
            mediaPeriod - The media period to clip.
            +
            enableInitialDiscontinuity - Whether the initial discontinuity should be enabled.
            +
            startUs - The clipping start time, in microseconds.
            +
            endUs - The clipping end time, in microseconds, or C.TIME_END_OF_SOURCE to + indicate the end of the period.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateClipping

            +
            public void updateClipping​(long startUs,
            +                           long endUs)
            +
            Updates the clipping start/end times for this period, in microseconds.
            +
            +
            Parameters:
            +
            startUs - The clipping start time, in microseconds.
            +
            endUs - The clipping end time, in microseconds, or C.TIME_END_OF_SOURCE to + indicate the end of the period.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowPrepareError

            +
            public void maybeThrowPrepareError()
            +                            throws IOException
            +
            Description copied from interface: MediaPeriod
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Specified by:
            +
            maybeThrowPrepareError in interface MediaPeriod
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            selectTracks

            +
            public long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                         boolean[] mayRetainStreamFlags,
            +                         @NullableType SampleStream[] streams,
            +                         boolean[] streamResetFlags,
            +                         long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            selectTracks in interface MediaPeriod
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Description copied from interface: MediaPeriod
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            discardBuffer in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface MediaPeriod
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + +
            +
          • +

            readDiscontinuity

            +
            public long readDiscontinuity()
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Specified by:
            +
            readDiscontinuity in interface MediaPeriod
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Description copied from interface: MediaPeriod
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface MediaPeriod
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public long seekToUs​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            seekToUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: MediaPeriod
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html new file mode 100644 index 0000000000..d4c3fd3e3f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.Reason.html @@ -0,0 +1,189 @@ + + + + +ClippingMediaSource.IllegalClippingException.Reason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type ClippingMediaSource.IllegalClippingException.Reason

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html new file mode 100644 index 0000000000..b84e12a3d7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.IllegalClippingException.html @@ -0,0 +1,430 @@ + + + + +ClippingMediaSource.IllegalClippingException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ClippingMediaSource.IllegalClippingException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REASON_INVALID_PERIOD_COUNT

            +
            public static final int REASON_INVALID_PERIOD_COUNT
            +
            The wrapped source doesn't consist of a single period.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REASON_NOT_SEEKABLE_TO_START

            +
            public static final int REASON_NOT_SEEKABLE_TO_START
            +
            The wrapped source is not seekable and a non-zero clipping start position was specified.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REASON_START_EXCEEDS_END

            +
            public static final int REASON_START_EXCEEDS_END
            +
            The wrapped source ends before the specified clipping start position.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            reason

            +
            @Reason
            +public final int reason
            +
            The reason clipping failed.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IllegalClippingException

            +
            public IllegalClippingException​(@Reason
            +                                int reason)
            +
            +
            Parameters:
            +
            reason - The reason clipping failed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.html new file mode 100644 index 0000000000..f9f0418572 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ClippingMediaSource.html @@ -0,0 +1,700 @@ + + + + +ClippingMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ClippingMediaSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaSource
        +
        +
        +
        public final class ClippingMediaSource
        +extends CompositeMediaSource<Void>
        +
        MediaSource that wraps a source and clips its timeline based on specified start/end + positions. The wrapped source must consist of a single period.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ClippingMediaSource

            +
            public ClippingMediaSource​(MediaSource mediaSource,
            +                           long startPositionUs,
            +                           long endPositionUs)
            +
            Creates a new clipping source that wraps the specified source and provides samples between the + specified start and end position.
            +
            +
            Parameters:
            +
            mediaSource - The single-period source to wrap.
            +
            startPositionUs - The start position within mediaSource's window at which to start + providing samples, in microseconds.
            +
            endPositionUs - The end position within mediaSource's window at which to stop + providing samples, in microseconds. Specify C.TIME_END_OF_SOURCE to provide samples + from the specified start point up to the end of the source. Specifying a position that + exceeds the mediaSource's duration will also result in the end of the source not + being clipped.
            +
            +
          • +
          + + + +
            +
          • +

            ClippingMediaSource

            +
            public ClippingMediaSource​(MediaSource mediaSource,
            +                           long durationUs)
            +
            Creates a new clipping source that wraps the specified source and provides samples from the + default position for the specified duration.
            +
            +
            Parameters:
            +
            mediaSource - The single-period source to wrap.
            +
            durationUs - The duration from the default position in the window in mediaSource's + timeline at which to stop providing samples. Specifying a duration that exceeds the + mediaSource's duration will result in the end of the source not being clipped.
            +
            +
          • +
          + + + +
            +
          • +

            ClippingMediaSource

            +
            public ClippingMediaSource​(MediaSource mediaSource,
            +                           long startPositionUs,
            +                           long endPositionUs,
            +                           boolean enableInitialDiscontinuity,
            +                           boolean allowDynamicClippingUpdates,
            +                           boolean relativeToDefaultPosition)
            +
            Creates a new clipping source that wraps the specified source. + +

            If the start point is guaranteed to be a key frame, pass false to + enableInitialPositionDiscontinuity to suppress an initial discontinuity when a period is first + read from. + +

            For live streams, if the clipping positions should move with the live window, pass + true to allowDynamicClippingUpdates. Otherwise, the live stream ends when the playback + reaches endPositionUs in the last reported live window at the time a media period was + created.

            +
            +
            Parameters:
            +
            mediaSource - The single-period source to wrap.
            +
            startPositionUs - The start position at which to start providing samples, in microseconds. + If relativeToDefaultPosition is false, this position is relative to the + start of the window in mediaSource's timeline. If relativeToDefaultPosition + is true, this position is relative to the default position in the window in + mediaSource's timeline.
            +
            endPositionUs - The end position at which to stop providing samples, in microseconds. + Specify C.TIME_END_OF_SOURCE to provide samples from the specified start point up + to the end of the source. Specifying a position that exceeds the mediaSource's + duration will also result in the end of the source not being clipped. If + relativeToDefaultPosition is false, the specified position is relative to the + start of the window in mediaSource's timeline. If relativeToDefaultPosition + is true, this position is relative to the default position in the window in + mediaSource's timeline.
            +
            enableInitialDiscontinuity - Whether the initial discontinuity should be enabled.
            +
            allowDynamicClippingUpdates - Whether the clipping of active media periods moves with a + live window. If false, playback ends when it reaches endPositionUs in the + last reported live window at the time a media period was created.
            +
            relativeToDefaultPosition - Whether startPositionUs and endPositionUs are + relative to the default position in the window in mediaSource's timeline.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeMediaSource.html new file mode 100644 index 0000000000..47b218c100 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeMediaSource.html @@ -0,0 +1,686 @@ + + + + +CompositeMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CompositeMediaSource<T>

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CompositeMediaSource

            +
            protected CompositeMediaSource()
            +
            Creates composite media source without child sources.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            onChildSourceInfoRefreshed

            +
            protected abstract void onChildSourceInfoRefreshed​(T id,
            +                                                   MediaSource mediaSource,
            +                                                   Timeline timeline)
            +
            Called when the source info of a child source has been refreshed.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            mediaSource - The child source whose source info has been refreshed.
            +
            timeline - The timeline of the child source.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            enableChildSource

            +
            protected final void enableChildSource​(T id)
            +
            Enables a child source.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            +
          • +
          + + + + + +
            +
          • +

            disableChildSource

            +
            protected final void disableChildSource​(T id)
            +
            Disables a child source.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            +
          • +
          + + + + + +
            +
          • +

            releaseChildSource

            +
            protected final void releaseChildSource​(T id)
            +
            Releases a child source.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            +
          • +
          + + + + + +
            +
          • +

            getWindowIndexForChildWindowIndex

            +
            protected int getWindowIndexForChildWindowIndex​(T id,
            +                                                int windowIndex)
            +
            Returns the window index in the composite source corresponding to the specified window index in + a child source. The default implementation does not change the window index.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            windowIndex - A window index of the child source.
            +
            Returns:
            +
            The corresponding window index in the composite source.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getMediaTimeForChildMediaTime

            +
            protected long getMediaTimeForChildMediaTime​(T id,
            +                                             long mediaTimeMs)
            +
            Returns the media time in the composite source corresponding to the specified media time in a + child source. The default implementation does not change the media time.
            +
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            mediaTimeMs - A media time of the child source, in milliseconds.
            +
            Returns:
            +
            The corresponding media time in the composite source, in milliseconds.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoader.html new file mode 100644 index 0000000000..b6d0e31fb1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoader.html @@ -0,0 +1,470 @@ + + + + +CompositeSequenceableLoader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CompositeSequenceableLoader

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.CompositeSequenceableLoader
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CompositeSequenceableLoader

            +
            public CompositeSequenceableLoader​(SequenceableLoader[] loaders)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public final long getBufferedPositionUs()
            +
            Description copied from interface: SequenceableLoader
            +
            Returns an estimate of the position up to which data is buffered.
            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the data is fully buffered.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            reevaluateBuffer

            +
            public final void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: SequenceableLoader
            +
            Re-evaluates the buffer given the playback position. + +

            Re-evaluation may discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + +
            +
          • +

            continueLoading

            +
            public boolean continueLoading​(long positionUs)
            +
            Description copied from interface: SequenceableLoader
            +
            Attempts to continue loading.
            +
            +
            Specified by:
            +
            continueLoading in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of the period to + which this loader belongs has not yet started, the value will be the starting position + in the period minus the duration of any media in previous periods still to be played.
            +
            Returns:
            +
            True if progress was made, meaning that SequenceableLoader.getNextLoadPositionUs() will return + a different value than prior to the call. False otherwise.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html new file mode 100644 index 0000000000..4234b6e5cf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/CompositeSequenceableLoaderFactory.html @@ -0,0 +1,260 @@ + + + + +CompositeSequenceableLoaderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CompositeSequenceableLoaderFactory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ConcatenatingMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ConcatenatingMediaSource.html new file mode 100644 index 0000000000..2c8b2e28f0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ConcatenatingMediaSource.html @@ -0,0 +1,1283 @@ + + + + +ConcatenatingMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ConcatenatingMediaSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaSource
        +
        +
        +
        public final class ConcatenatingMediaSource
        +extends CompositeMediaSource<com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder>
        +
        Concatenates multiple MediaSources. The list of MediaSources can be modified + during playback. It is valid for the same MediaSource instance to be present more than + once in the concatenation. Access to this class is thread-safe.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ConcatenatingMediaSource

            +
            public ConcatenatingMediaSource​(MediaSource... mediaSources)
            +
            +
            Parameters:
            +
            mediaSources - The MediaSources to concatenate. It is valid for the same + MediaSource instance to be present more than once in the array.
            +
            +
          • +
          + + + +
            +
          • +

            ConcatenatingMediaSource

            +
            public ConcatenatingMediaSource​(boolean isAtomic,
            +                                MediaSource... mediaSources)
            +
            +
            Parameters:
            +
            isAtomic - Whether the concatenating media source will be treated as atomic, i.e., treated + as a single item for repeating and shuffling.
            +
            mediaSources - The MediaSources to concatenate. It is valid for the same MediaSource instance to be present more than once in the array.
            +
            +
          • +
          + + + +
            +
          • +

            ConcatenatingMediaSource

            +
            public ConcatenatingMediaSource​(boolean isAtomic,
            +                                ShuffleOrder shuffleOrder,
            +                                MediaSource... mediaSources)
            +
            +
            Parameters:
            +
            isAtomic - Whether the concatenating media source will be treated as atomic, i.e., treated + as a single item for repeating and shuffling.
            +
            shuffleOrder - The ShuffleOrder to use when shuffling the child media sources.
            +
            mediaSources - The MediaSources to concatenate. It is valid for the same MediaSource instance to be present more than once in the array.
            +
            +
          • +
          + + + +
            +
          • +

            ConcatenatingMediaSource

            +
            public ConcatenatingMediaSource​(boolean isAtomic,
            +                                boolean useLazyPreparation,
            +                                ShuffleOrder shuffleOrder,
            +                                MediaSource... mediaSources)
            +
            +
            Parameters:
            +
            isAtomic - Whether the concatenating media source will be treated as atomic, i.e., treated + as a single item for repeating and shuffling.
            +
            useLazyPreparation - Whether playlist items are prepared lazily. If false, all manifest + loads and other initial preparation steps happen immediately. If true, these initial + preparations are triggered only when the player starts buffering the media.
            +
            shuffleOrder - The ShuffleOrder to use when shuffling the child media sources.
            +
            mediaSources - The MediaSources to concatenate. It is valid for the same MediaSource instance to be present more than once in the array.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getInitialTimeline

            +
            public Timeline getInitialTimeline()
            +
            Description copied from interface: MediaSource
            +
            Returns the initial placeholder timeline that is returned immediately when the real timeline is + not yet known, or null to let the player create an initial timeline. + +

            The initial timeline must use the same uids for windows and periods that the real timeline + will use. It also must provide windows which are marked as dynamic to indicate that the window + is expected to change when the real timeline arrives. + +

            Any media source which has multiple windows should typically provide such an initial + timeline to make sure the player reports the correct number of windows immediately.

            +
          • +
          + + + +
            +
          • +

            isSingleWindow

            +
            public boolean isSingleWindow()
            +
            Description copied from interface: MediaSource
            +
            Returns true if the media source is guaranteed to never have zero or more than one window. + +

            The default implementation returns true.

            +
            +
            Returns:
            +
            true if the source has exactly one window.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(MediaSource mediaSource)
            +
            Appends a MediaSource to the playlist.
            +
            +
            Parameters:
            +
            mediaSource - The MediaSource to be added to the list.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(MediaSource mediaSource,
            +                           Handler handler,
            +                           Runnable onCompletionAction)
            +
            Appends a MediaSource to the playlist and executes a custom action on completion.
            +
            +
            Parameters:
            +
            mediaSource - The MediaSource to be added to the list.
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + source has been added to the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(int index,
            +                           MediaSource mediaSource)
            +
            Adds a MediaSource to the playlist.
            +
            +
            Parameters:
            +
            index - The index at which the new MediaSource will be inserted. This index must + be in the range of 0 <= index <= getSize().
            +
            mediaSource - The MediaSource to be added to the list.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(int index,
            +                           MediaSource mediaSource,
            +                           Handler handler,
            +                           Runnable onCompletionAction)
            +
            Adds a MediaSource to the playlist and executes a custom action on completion.
            +
            +
            Parameters:
            +
            index - The index at which the new MediaSource will be inserted. This index must + be in the range of 0 <= index <= getSize().
            +
            mediaSource - The MediaSource to be added to the list.
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + source has been added to the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(Collection<MediaSource> mediaSources)
            +
            Appends multiple MediaSources to the playlist.
            +
            +
            Parameters:
            +
            mediaSources - A collection of MediaSources to be added to the list. The media + sources are added in the order in which they appear in this collection.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(Collection<MediaSource> mediaSources,
            +                            Handler handler,
            +                            Runnable onCompletionAction)
            +
            Appends multiple MediaSources to the playlist and executes a custom action on + completion.
            +
            +
            Parameters:
            +
            mediaSources - A collection of MediaSources to be added to the list. The media + sources are added in the order in which they appear in this collection.
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + sources have been added to the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(int index,
            +                            Collection<MediaSource> mediaSources)
            +
            Adds multiple MediaSources to the playlist.
            +
            +
            Parameters:
            +
            index - The index at which the new MediaSources will be inserted. This index must + be in the range of 0 <= index <= getSize().
            +
            mediaSources - A collection of MediaSources to be added to the list. The media + sources are added in the order in which they appear in this collection.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(int index,
            +                            Collection<MediaSource> mediaSources,
            +                            Handler handler,
            +                            Runnable onCompletionAction)
            +
            Adds multiple MediaSources to the playlist and executes a custom action on completion.
            +
            +
            Parameters:
            +
            index - The index at which the new MediaSources will be inserted. This index must + be in the range of 0 <= index <= getSize().
            +
            mediaSources - A collection of MediaSources to be added to the list. The media + sources are added in the order in which they appear in this collection.
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + sources have been added to the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaSource

            +
            public MediaSource removeMediaSource​(int index)
            +
            Removes a MediaSource from the playlist. + +

            Note: If you want to move the instance, it's preferable to use moveMediaSource(int, + int) instead. + +

            Note: If you want to remove a set of contiguous sources, it's preferable to use removeMediaSourceRange(int, int) instead.

            +
            +
            Parameters:
            +
            index - The index at which the media source will be removed. This index must be in the + range of 0 <= index < getSize().
            +
            Returns:
            +
            The removed MediaSource.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            removeMediaSourceRange

            +
            public void removeMediaSourceRange​(int fromIndex,
            +                                   int toIndex)
            +
            Removes a range of MediaSources from the playlist, by specifying an initial index + (included) and a final index (excluded). + +

            Note: when specified range is empty, no actual media source is removed and no exception is + thrown.

            +
            +
            Parameters:
            +
            fromIndex - The initial range index, pointing to the first media source that will be + removed. This index must be in the range of 0 <= index <= getSize().
            +
            toIndex - The final range index, pointing to the first media source that will be left + untouched. This index must be in the range of 0 <= index <= getSize().
            +
            Throws:
            +
            IndexOutOfBoundsException - When the range is malformed, i.e. fromIndex < 0, + toIndex > getSize(), fromIndex > toIndex
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaSourceRange

            +
            public void removeMediaSourceRange​(int fromIndex,
            +                                   int toIndex,
            +                                   Handler handler,
            +                                   Runnable onCompletionAction)
            +
            Removes a range of MediaSources from the playlist, by specifying an initial index + (included) and a final index (excluded), and executes a custom action on completion. + +

            Note: when specified range is empty, no actual media source is removed and no exception is + thrown.

            +
            +
            Parameters:
            +
            fromIndex - The initial range index, pointing to the first media source that will be + removed. This index must be in the range of 0 <= index <= getSize().
            +
            toIndex - The final range index, pointing to the first media source that will be left + untouched. This index must be in the range of 0 <= index <= getSize().
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + source range has been removed from the playlist.
            +
            Throws:
            +
            IllegalArgumentException - When the range is malformed, i.e. fromIndex < 0, + toIndex > getSize(), fromIndex > toIndex
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaSource

            +
            public void moveMediaSource​(int currentIndex,
            +                            int newIndex)
            +
            Moves an existing MediaSource within the playlist.
            +
            +
            Parameters:
            +
            currentIndex - The current index of the media source in the playlist. This index must be + in the range of 0 <= index < getSize().
            +
            newIndex - The target index of the media source in the playlist. This index must be in the + range of 0 <= index < getSize().
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaSource

            +
            public void moveMediaSource​(int currentIndex,
            +                            int newIndex,
            +                            Handler handler,
            +                            Runnable onCompletionAction)
            +
            Moves an existing MediaSource within the playlist and executes a custom action on + completion.
            +
            +
            Parameters:
            +
            currentIndex - The current index of the media source in the playlist. This index must be + in the range of 0 <= index < getSize().
            +
            newIndex - The target index of the media source in the playlist. This index must be in the + range of 0 <= index < getSize().
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the media + source has been moved.
            +
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears the playlist.
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear​(Handler handler,
            +                  Runnable onCompletionAction)
            +
            Clears the playlist and executes a custom action on completion.
            +
            +
            Parameters:
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the playlist + has been cleared.
            +
            +
          • +
          + + + +
            +
          • +

            getSize

            +
            public int getSize()
            +
            Returns the number of media sources in the playlist.
            +
          • +
          + + + +
            +
          • +

            getMediaSource

            +
            public MediaSource getMediaSource​(int index)
            +
            Returns the MediaSource at a specified index.
            +
            +
            Parameters:
            +
            index - An index in the range of 0 <= index <= getSize().
            +
            Returns:
            +
            The MediaSource at this index.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleOrder

            +
            public void setShuffleOrder​(ShuffleOrder shuffleOrder)
            +
            Sets a new shuffle order to use when shuffling the child media sources.
            +
            +
            Parameters:
            +
            shuffleOrder - A ShuffleOrder.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleOrder

            +
            public void setShuffleOrder​(ShuffleOrder shuffleOrder,
            +                            Handler handler,
            +                            Runnable onCompletionAction)
            +
            Sets a new shuffle order to use when shuffling the child media sources.
            +
            +
            Parameters:
            +
            shuffleOrder - A ShuffleOrder.
            +
            handler - The Handler to run onCompletionAction.
            +
            onCompletionAction - A Runnable which is executed immediately after the shuffle + order has been changed.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaItem

            +
            public MediaItem getMediaItem()
            +
            Description copied from interface: MediaSource
            +
            Returns the MediaItem whose media is provided by the source.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            createPeriod

            +
            public MediaPeriod createPeriod​(MediaSource.MediaPeriodId id,
            +                                Allocator allocator,
            +                                long startPositionUs)
            +
            Description copied from interface: MediaSource
            +
            Returns a new MediaPeriod identified by periodId. + +

            Should not be called directly from application code. + +

            Must only be called if the source is enabled.

            +
            +
            Parameters:
            +
            id - The identifier of the period.
            +
            allocator - An Allocator from which to obtain media buffer allocations.
            +
            startPositionUs - The expected start position, in microseconds.
            +
            Returns:
            +
            A new MediaPeriod.
            +
            +
          • +
          + + + +
            +
          • +

            releasePeriod

            +
            public void releasePeriod​(MediaPeriod mediaPeriod)
            +
            Description copied from interface: MediaSource
            +
            Releases the period. + +

            Should not be called directly from application code.

            +
            +
            Parameters:
            +
            mediaPeriod - The period to release.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onChildSourceInfoRefreshed

            +
            protected void onChildSourceInfoRefreshed​(com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder mediaSourceHolder,
            +                                          MediaSource mediaSource,
            +                                          Timeline timeline)
            +
            Description copied from class: CompositeMediaSource
            +
            Called when the source info of a child source has been refreshed.
            +
            +
            Specified by:
            +
            onChildSourceInfoRefreshed in class CompositeMediaSource<com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder>
            +
            Parameters:
            +
            mediaSourceHolder - The unique id used to prepare the child source.
            +
            mediaSource - The child source whose source info has been refreshed.
            +
            timeline - The timeline of the child source.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getWindowIndexForChildWindowIndex

            +
            protected int getWindowIndexForChildWindowIndex​(com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder mediaSourceHolder,
            +                                                int windowIndex)
            +
            Description copied from class: CompositeMediaSource
            +
            Returns the window index in the composite source corresponding to the specified window index in + a child source. The default implementation does not change the window index.
            +
            +
            Overrides:
            +
            getWindowIndexForChildWindowIndex in class CompositeMediaSource<com.google.android.exoplayer2.source.ConcatenatingMediaSource.MediaSourceHolder>
            +
            Parameters:
            +
            mediaSourceHolder - The unique id used to prepare the child source.
            +
            windowIndex - A window index of the child source.
            +
            Returns:
            +
            The corresponding window index in the composite source.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory.html new file mode 100644 index 0000000000..5c21326607 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultCompositeSequenceableLoaderFactory.html @@ -0,0 +1,316 @@ + + + + +DefaultCompositeSequenceableLoaderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultCompositeSequenceableLoaderFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceEventListener.html new file mode 100644 index 0000000000..e5d6b80b29 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceEventListener.html @@ -0,0 +1,297 @@ + + + + +DefaultMediaSourceEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultMediaSourceEventListener

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.DefaultMediaSourceEventListener
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultMediaSourceEventListener

            +
            public DefaultMediaSourceEventListener()
            +
            Deprecated.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html new file mode 100644 index 0000000000..9bba8d4e36 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.AdsLoaderProvider.html @@ -0,0 +1,260 @@ + + + + +DefaultMediaSourceFactory.AdsLoaderProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DefaultMediaSourceFactory.AdsLoaderProvider

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html new file mode 100644 index 0000000000..0ecf17b662 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html @@ -0,0 +1,827 @@ + + + + +DefaultMediaSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultMediaSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.DefaultMediaSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/EmptySampleStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/EmptySampleStream.html new file mode 100644 index 0000000000..0933192170 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/EmptySampleStream.html @@ -0,0 +1,424 @@ + + + + +EmptySampleStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EmptySampleStream

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.EmptySampleStream
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EmptySampleStream

            +
            public EmptySampleStream()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +
            Description copied from interface: SampleStream
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Specified by:
            +
            maybeThrowError in interface SampleStream
            +
            +
          • +
          + + + +
            +
          • +

            readData

            +
            public int readData​(FormatHolder formatHolder,
            +                    DecoderInputBuffer buffer,
            +                    boolean formatRequired)
            +
            Description copied from interface: SampleStream
            +
            Attempts to read from the stream. + +

            If the stream has ended then C.BUFFER_FLAG_END_OF_STREAM flag is set on + buffer and C.RESULT_BUFFER_READ is returned. Else if no data is available then C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if + formatRequired is set then formatHolder is populated and C.RESULT_FORMAT_READ + is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

            +
            +
            Specified by:
            +
            readData in interface SampleStream
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, then no DecoderInputBuffer.data will be read and the read position of the stream will not change, + but the flags of the buffer will be populated.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            Returns:
            +
            The status of read, one of SampleStream.ReadDataResult.
            +
            +
          • +
          + + + +
            +
          • +

            skipData

            +
            public int skipData​(long positionUs)
            +
            Description copied from interface: SampleStream
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
            +
            +
            Specified by:
            +
            skipData in interface SampleStream
            +
            Parameters:
            +
            positionUs - The specified time.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.EventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.EventListener.html new file mode 100644 index 0000000000..f6eaeced6f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.EventListener.html @@ -0,0 +1,270 @@ + + + + +ExtractorMediaSource.EventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExtractorMediaSource.EventListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onLoadError

            +
            void onLoadError​(IOException error)
            +
            Deprecated.
            +
            Called when an error occurs loading media data. +

            + This method being called does not indicate that playback has failed, or that it will fail. + The player may be able to recover from the error and continue. Hence applications should + not implement this method to display a user visible error or initiate an application + level retry (Player.EventListener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement + such behavior). This method is called to provide the application with an opportunity to log + the error if it wishes to do so.

            +
            +
            Parameters:
            +
            error - The load error.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.Factory.html new file mode 100644 index 0000000000..11d8713773 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.Factory.html @@ -0,0 +1,687 @@ + + + + +ExtractorMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.html new file mode 100644 index 0000000000..0da862696b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ExtractorMediaSource.html @@ -0,0 +1,708 @@ + + + + +ExtractorMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ExtractorMediaSource

            +
            @Deprecated
            +public ExtractorMediaSource​(Uri uri,
            +                            DataSource.Factory dataSourceFactory,
            +                            ExtractorsFactory extractorsFactory,
            +                            @Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            ExtractorMediaSource.EventListener eventListener)
            +
            Deprecated. + +
            +
            +
            Parameters:
            +
            uri - The Uri of the media stream.
            +
            dataSourceFactory - A factory for DataSources to read the media.
            +
            extractorsFactory - A factory for Extractors to process the media stream. If the + possible formats are known, pass a factory that instantiates extractors for those formats. + Otherwise, pass a DefaultExtractorsFactory to use default extractors.
            +
            eventHandler - A handler for events. May be null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            +
          • +
          + + + +
            +
          • +

            ExtractorMediaSource

            +
            @Deprecated
            +public ExtractorMediaSource​(Uri uri,
            +                            DataSource.Factory dataSourceFactory,
            +                            ExtractorsFactory extractorsFactory,
            +                            @Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            ExtractorMediaSource.EventListener eventListener,
            +                            @Nullable
            +                            String customCacheKey)
            +
            Deprecated. + +
            +
            +
            Parameters:
            +
            uri - The Uri of the media stream.
            +
            dataSourceFactory - A factory for DataSources to read the media.
            +
            extractorsFactory - A factory for Extractors to process the media stream. If the + possible formats are known, pass a factory that instantiates extractors for those formats. + Otherwise, pass a DefaultExtractorsFactory to use default extractors.
            +
            eventHandler - A handler for events. May be null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            customCacheKey - A custom key that uniquely identifies the original stream. Used for cache + indexing. May be null.
            +
            +
          • +
          + + + +
            +
          • +

            ExtractorMediaSource

            +
            @Deprecated
            +public ExtractorMediaSource​(Uri uri,
            +                            DataSource.Factory dataSourceFactory,
            +                            ExtractorsFactory extractorsFactory,
            +                            @Nullable
            +                            Handler eventHandler,
            +                            @Nullable
            +                            ExtractorMediaSource.EventListener eventListener,
            +                            @Nullable
            +                            String customCacheKey,
            +                            int continueLoadingCheckIntervalBytes)
            +
            Deprecated. + +
            +
            +
            Parameters:
            +
            uri - The Uri of the media stream.
            +
            dataSourceFactory - A factory for DataSources to read the media.
            +
            extractorsFactory - A factory for Extractors to process the media stream. If the + possible formats are known, pass a factory that instantiates extractors for those formats. + Otherwise, pass a DefaultExtractorsFactory to use default extractors.
            +
            eventHandler - A handler for events. May be null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            customCacheKey - A custom key that uniquely identifies the original stream. Used for cache + indexing. May be null.
            +
            continueLoadingCheckIntervalBytes - The number of bytes that should be loaded between each + invocation of SequenceableLoader.Callback.onContinueLoadingRequested(SequenceableLoader).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getMediaItem

            +
            public MediaItem getMediaItem()
            +
            Deprecated.
            +
            Description copied from interface: MediaSource
            +
            Returns the MediaItem whose media is provided by the source.
            +
          • +
          + + + + + + + +
            +
          • +

            onChildSourceInfoRefreshed

            +
            protected void onChildSourceInfoRefreshed​(@Nullable
            +                                          Void id,
            +                                          MediaSource mediaSource,
            +                                          Timeline timeline)
            +
            Deprecated.
            +
            Description copied from class: CompositeMediaSource
            +
            Called when the source info of a child source has been refreshed.
            +
            +
            Specified by:
            +
            onChildSourceInfoRefreshed in class CompositeMediaSource<Void>
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            mediaSource - The child source whose source info has been refreshed.
            +
            timeline - The timeline of the child source.
            +
            +
          • +
          + + + +
            +
          • +

            createPeriod

            +
            public MediaPeriod createPeriod​(MediaSource.MediaPeriodId id,
            +                                Allocator allocator,
            +                                long startPositionUs)
            +
            Deprecated.
            +
            Description copied from interface: MediaSource
            +
            Returns a new MediaPeriod identified by periodId. + +

            Should not be called directly from application code. + +

            Must only be called if the source is enabled.

            +
            +
            Parameters:
            +
            id - The identifier of the period.
            +
            allocator - An Allocator from which to obtain media buffer allocations.
            +
            startPositionUs - The expected start position, in microseconds.
            +
            Returns:
            +
            A new MediaPeriod.
            +
            +
          • +
          + + + +
            +
          • +

            releasePeriod

            +
            public void releasePeriod​(MediaPeriod mediaPeriod)
            +
            Deprecated.
            +
            Description copied from interface: MediaSource
            +
            Releases the period. + +

            Should not be called directly from application code.

            +
            +
            Parameters:
            +
            mediaPeriod - The period to release.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ForwardingTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ForwardingTimeline.html new file mode 100644 index 0000000000..30a875d914 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ForwardingTimeline.html @@ -0,0 +1,652 @@ + + + + +ForwardingTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ForwardingTimeline

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            timeline

            +
            protected final Timeline timeline
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ForwardingTimeline

            +
            public ForwardingTimeline​(Timeline timeline)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWindowCount

            +
            public int getWindowCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of windows in the timeline.
            +
            +
            Specified by:
            +
            getWindowCount in class Timeline
            +
            +
          • +
          + + + +
            +
          • +

            getNextWindowIndex

            +
            public int getNextWindowIndex​(int windowIndex,
            +                              @RepeatMode
            +                              int repeatMode,
            +                              boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the window after the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Overrides:
            +
            getNextWindowIndex in class Timeline
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the next window, or C.INDEX_UNSET if this is the last window.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousWindowIndex

            +
            public int getPreviousWindowIndex​(int windowIndex,
            +                                  @RepeatMode
            +                                  int repeatMode,
            +                                  boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the window before the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
            +
            +
            Overrides:
            +
            getPreviousWindowIndex in class Timeline
            +
            Parameters:
            +
            windowIndex - Index of a window in the timeline.
            +
            repeatMode - A repeat mode.
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the previous window, or C.INDEX_UNSET if this is the first window.
            +
            +
          • +
          + + + +
            +
          • +

            getLastWindowIndex

            +
            public int getLastWindowIndex​(boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the last window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Overrides:
            +
            getLastWindowIndex in class Timeline
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the last window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstWindowIndex

            +
            public int getFirstWindowIndex​(boolean shuffleModeEnabled)
            +
            Description copied from class: Timeline
            +
            Returns the index of the first window in the playback order depending on whether shuffling is + enabled.
            +
            +
            Overrides:
            +
            getFirstWindowIndex in class Timeline
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            Returns:
            +
            The index of the first window in the playback order, or C.INDEX_UNSET if the + timeline is empty.
            +
            +
          • +
          + + + +
            +
          • +

            getWindow

            +
            public Timeline.Window getWindow​(int windowIndex,
            +                                 Timeline.Window window,
            +                                 long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Specified by:
            +
            getWindow in class Timeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getPeriodCount

            +
            public int getPeriodCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of periods in the timeline.
            +
            +
            Specified by:
            +
            getPeriodCount in class Timeline
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getIndexOfPeriod

            +
            public int getIndexOfPeriod​(Object uid)
            +
            Description copied from class: Timeline
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Specified by:
            +
            getIndexOfPeriod in class Timeline
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public Object getUidOfPeriod​(int periodIndex)
            +
            Description copied from class: Timeline
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Specified by:
            +
            getUidOfPeriod in class Timeline
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoadEventInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoadEventInfo.html new file mode 100644 index 0000000000..7637bb0380 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoadEventInfo.html @@ -0,0 +1,493 @@ + + + + +LoadEventInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LoadEventInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.LoadEventInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class LoadEventInfo
        +extends Object
        +
        MediaSource load event information.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            loadTaskId

            +
            public final long loadTaskId
            +
            Identifies the load task to which this event corresponds.
            +
          • +
          + + + +
            +
          • +

            dataSpec

            +
            public final DataSpec dataSpec
            +
            Defines the requested data.
            +
          • +
          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The Uri from which data is being read. The uri will be identical to the one in dataSpec.uri unless redirection has occurred. If redirection has occurred, this is the uri + after redirection.
            +
          • +
          + + + +
            +
          • +

            responseHeaders

            +
            public final Map<String,List<String>> responseHeaders
            +
            The response headers associated with the load, or an empty map if unavailable.
            +
          • +
          + + + + + + + +
            +
          • +

            loadDurationMs

            +
            public final long loadDurationMs
            +
            The duration of the load up to the event time.
            +
          • +
          + + + +
            +
          • +

            bytesLoaded

            +
            public final long bytesLoaded
            +
            The number of bytes that were loaded up to the event time.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getNewId

            +
            public static long getNewId()
            +
            Returns an non-negative identifier which is unique to the JVM instance.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoopingMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoopingMediaSource.html new file mode 100644 index 0000000000..70b802c709 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/LoopingMediaSource.html @@ -0,0 +1,604 @@ + + + + +LoopingMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LoopingMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LoopingMediaSource

            +
            public LoopingMediaSource​(MediaSource childSource)
            +
            Loops the provided source indefinitely. Note that it is usually better to use + Player.setRepeatMode(int).
            +
            +
            Parameters:
            +
            childSource - The MediaSource to loop.
            +
            +
          • +
          + + + +
            +
          • +

            LoopingMediaSource

            +
            public LoopingMediaSource​(MediaSource childSource,
            +                          int loopCount)
            +
            Loops the provided source a specified number of times.
            +
            +
            Parameters:
            +
            childSource - The MediaSource to loop.
            +
            loopCount - The desired number of loops. Must be strictly positive.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getMediaItem

            +
            public MediaItem getMediaItem()
            +
            Description copied from interface: MediaSource
            +
            Returns the MediaItem whose media is provided by the source.
            +
          • +
          + + + +
            +
          • +

            getInitialTimeline

            +
            @Nullable
            +public Timeline getInitialTimeline()
            +
            Description copied from interface: MediaSource
            +
            Returns the initial placeholder timeline that is returned immediately when the real timeline is + not yet known, or null to let the player create an initial timeline. + +

            The initial timeline must use the same uids for windows and periods that the real timeline + will use. It also must provide windows which are marked as dynamic to indicate that the window + is expected to change when the real timeline arrives. + +

            Any media source which has multiple windows should typically provide such an initial + timeline to make sure the player reports the correct number of windows immediately.

            +
          • +
          + + + +
            +
          • +

            isSingleWindow

            +
            public boolean isSingleWindow()
            +
            Description copied from interface: MediaSource
            +
            Returns true if the media source is guaranteed to never have zero or more than one window. + +

            The default implementation returns true.

            +
            +
            Returns:
            +
            true if the source has exactly one window.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            createPeriod

            +
            public MediaPeriod createPeriod​(MediaSource.MediaPeriodId id,
            +                                Allocator allocator,
            +                                long startPositionUs)
            +
            Description copied from interface: MediaSource
            +
            Returns a new MediaPeriod identified by periodId. + +

            Should not be called directly from application code. + +

            Must only be called if the source is enabled.

            +
            +
            Parameters:
            +
            id - The identifier of the period.
            +
            allocator - An Allocator from which to obtain media buffer allocations.
            +
            startPositionUs - The expected start position, in microseconds.
            +
            Returns:
            +
            A new MediaPeriod.
            +
            +
          • +
          + + + +
            +
          • +

            releasePeriod

            +
            public void releasePeriod​(MediaPeriod mediaPeriod)
            +
            Description copied from interface: MediaSource
            +
            Releases the period. + +

            Should not be called directly from application code.

            +
            +
            Parameters:
            +
            mediaPeriod - The period to release.
            +
            +
          • +
          + + + +
            +
          • +

            onChildSourceInfoRefreshed

            +
            protected void onChildSourceInfoRefreshed​(Void id,
            +                                          MediaSource mediaSource,
            +                                          Timeline timeline)
            +
            Description copied from class: CompositeMediaSource
            +
            Called when the source info of a child source has been refreshed.
            +
            +
            Specified by:
            +
            onChildSourceInfoRefreshed in class CompositeMediaSource<Void>
            +
            Parameters:
            +
            id - The unique id used to prepare the child source.
            +
            mediaSource - The child source whose source info has been refreshed.
            +
            timeline - The timeline of the child source.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html new file mode 100644 index 0000000000..0345ce5ea7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.PrepareListener.html @@ -0,0 +1,273 @@ + + + + +MaskingMediaPeriod.PrepareListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MaskingMediaPeriod.PrepareListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MaskingMediaPeriod
        +
        +
        +
        public static interface MaskingMediaPeriod.PrepareListener
        +
        Listener for preparation events.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPrepareComplete

            +
            void onPrepareComplete​(MediaSource.MediaPeriodId mediaPeriodId)
            +
            Called when preparing the media period completes.
            +
          • +
          + + + +
            +
          • +

            onPrepareError

            +
            void onPrepareError​(MediaSource.MediaPeriodId mediaPeriodId,
            +                    IOException exception)
            +
            Called the first time an error occurs while refreshing source info or preparing the period.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.html new file mode 100644 index 0000000000..110e8be753 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaPeriod.html @@ -0,0 +1,995 @@ + + + + +MaskingMediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MaskingMediaPeriod

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.MaskingMediaPeriod
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MaskingMediaPeriod

            +
            public MaskingMediaPeriod​(MediaSource.MediaPeriodId id,
            +                          Allocator allocator,
            +                          long preparePositionUs)
            +
            Creates a new masking media period. The media source must be set via setMediaSource(MediaSource) before preparation can start.
            +
            +
            Parameters:
            +
            id - The identifier used to create the masking media period.
            +
            allocator - The allocator used to create the media period.
            +
            preparePositionUs - The expected start position, in microseconds.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setPrepareListener

            +
            public void setPrepareListener​(MaskingMediaPeriod.PrepareListener listener)
            +
            Sets a listener for preparation events.
            +
            +
            Parameters:
            +
            listener - An listener to be notified of media period preparation events. If a listener is + set, maybeThrowPrepareError() will not throw but will instead pass the first + preparation error (if any) to the listener.
            +
            +
          • +
          + + + +
            +
          • +

            getPreparePositionUs

            +
            public long getPreparePositionUs()
            +
            Returns the position at which the masking media period was prepared, in microseconds.
            +
          • +
          + + + +
            +
          • +

            overridePreparePositionUs

            +
            public void overridePreparePositionUs​(long preparePositionUs)
            +
            Overrides the default prepare position at which to prepare the media period. This method must + be called before createPeriod(MediaPeriodId).
            +
            +
            Parameters:
            +
            preparePositionUs - The default prepare position to use, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getPreparePositionOverrideUs

            +
            public long getPreparePositionOverrideUs()
            +
            Returns the prepare position override set by overridePreparePositionUs(long).
            +
          • +
          + + + +
            +
          • +

            setMediaSource

            +
            public void setMediaSource​(MediaSource mediaSource)
            +
            Sets the MediaSource that will create the underlying media period.
            +
          • +
          + + + + + + + +
            +
          • +

            releasePeriod

            +
            public void releasePeriod()
            +
            Releases the period.
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowPrepareError

            +
            public void maybeThrowPrepareError()
            +                            throws IOException
            +
            Description copied from interface: MediaPeriod
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Specified by:
            +
            maybeThrowPrepareError in interface MediaPeriod
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            selectTracks

            +
            public long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                         boolean[] mayRetainStreamFlags,
            +                         @NullableType SampleStream[] streams,
            +                         boolean[] streamResetFlags,
            +                         long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            selectTracks in interface MediaPeriod
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Description copied from interface: MediaPeriod
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            discardBuffer in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            readDiscontinuity

            +
            public long readDiscontinuity()
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Specified by:
            +
            readDiscontinuity in interface MediaPeriod
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Description copied from interface: MediaPeriod
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface MediaPeriod
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public long seekToUs​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            seekToUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: MediaPeriod
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface MediaPeriod
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + + + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html new file mode 100644 index 0000000000..0e79c75035 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.PlaceholderTimeline.html @@ -0,0 +1,497 @@ + + + + +MaskingMediaSource.PlaceholderTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MaskingMediaSource.PlaceholderTimeline

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        MaskingMediaSource
        +
        +
        +
        public static final class MaskingMediaSource.PlaceholderTimeline
        +extends Timeline
        +
        A timeline with one dynamic window with a period of indeterminate duration.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlaceholderTimeline

            +
            public PlaceholderTimeline​(MediaItem mediaItem)
            +
            Creates a new instance with the given media item.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWindowCount

            +
            public int getWindowCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of windows in the timeline.
            +
            +
            Specified by:
            +
            getWindowCount in class Timeline
            +
            +
          • +
          + + + +
            +
          • +

            getWindow

            +
            public Timeline.Window getWindow​(int windowIndex,
            +                                 Timeline.Window window,
            +                                 long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Specified by:
            +
            getWindow in class Timeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getPeriodCount

            +
            public int getPeriodCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of periods in the timeline.
            +
            +
            Specified by:
            +
            getPeriodCount in class Timeline
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getIndexOfPeriod

            +
            public int getIndexOfPeriod​(Object uid)
            +
            Description copied from class: Timeline
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Specified by:
            +
            getIndexOfPeriod in class Timeline
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public Object getUidOfPeriod​(int periodIndex)
            +
            Description copied from class: Timeline
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Specified by:
            +
            getUidOfPeriod in class Timeline
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.html new file mode 100644 index 0000000000..256a475a42 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MaskingMediaSource.html @@ -0,0 +1,622 @@ + + + + +MaskingMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MaskingMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaLoadData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaLoadData.html new file mode 100644 index 0000000000..baced3db59 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaLoadData.html @@ -0,0 +1,460 @@ + + + + +MediaLoadData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaLoadData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.MediaLoadData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaLoadData
        +extends Object
        +
        Descriptor for data being loaded or selected by a media source.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          intdataType +
          One of the C DATA_TYPE_* constants defining the type of data.
          +
          longmediaEndTimeMs +
          The end time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period or the end time is unknown.
          +
          longmediaStartTimeMs +
          The start time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period.
          +
          FormattrackFormat +
          The format of the track to which the data belongs.
          +
          ObjecttrackSelectionData +
          Optional data associated with the selection of the track to which the data belongs.
          +
          inttrackSelectionReason +
          One of the C SELECTION_REASON_* constants if the data belongs to a track.
          +
          inttrackType +
          One of the C TRACK_TYPE_* constants if the data corresponds to media of a + specific type.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          MediaLoadData​(int dataType) +
          Creates an instance with the given dataType.
          +
          MediaLoadData​(int dataType, + int trackType, + Format trackFormat, + int trackSelectionReason, + Object trackSelectionData, + long mediaStartTimeMs, + long mediaEndTimeMs) +
          Creates media load data.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            dataType

            +
            public final int dataType
            +
            One of the C DATA_TYPE_* constants defining the type of data.
            +
          • +
          + + + +
            +
          • +

            trackType

            +
            public final int trackType
            +
            One of the C TRACK_TYPE_* constants if the data corresponds to media of a + specific type. C.TRACK_TYPE_UNKNOWN otherwise.
            +
          • +
          + + + +
            +
          • +

            trackFormat

            +
            @Nullable
            +public final Format trackFormat
            +
            The format of the track to which the data belongs. Null if the data does not belong to a + specific track.
            +
          • +
          + + + +
            +
          • +

            trackSelectionReason

            +
            public final int trackSelectionReason
            +
            One of the C SELECTION_REASON_* constants if the data belongs to a track. + C.SELECTION_REASON_UNKNOWN otherwise.
            +
          • +
          + + + +
            +
          • +

            trackSelectionData

            +
            @Nullable
            +public final Object trackSelectionData
            +
            Optional data associated with the selection of the track to which the data belongs. Null if the + data does not belong to a track.
            +
          • +
          + + + +
            +
          • +

            mediaStartTimeMs

            +
            public final long mediaStartTimeMs
            +
            The start time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period.
            +
          • +
          + + + +
            +
          • +

            mediaEndTimeMs

            +
            public final long mediaEndTimeMs
            +
            The end time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period or the end time is unknown.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaLoadData

            +
            public MediaLoadData​(int dataType)
            +
            Creates an instance with the given dataType.
            +
          • +
          + + + +
            +
          • +

            MediaLoadData

            +
            public MediaLoadData​(int dataType,
            +                     int trackType,
            +                     @Nullable
            +                     Format trackFormat,
            +                     int trackSelectionReason,
            +                     @Nullable
            +                     Object trackSelectionData,
            +                     long mediaStartTimeMs,
            +                     long mediaEndTimeMs)
            +
            Creates media load data.
            +
            +
            Parameters:
            +
            dataType - See dataType.
            +
            trackType - See trackType.
            +
            trackFormat - See trackFormat.
            +
            trackSelectionReason - See trackSelectionReason.
            +
            trackSelectionData - See trackSelectionData.
            +
            mediaStartTimeMs - See mediaStartTimeMs.
            +
            mediaEndTimeMs - See mediaEndTimeMs.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.Callback.html new file mode 100644 index 0000000000..2652a09fa0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.Callback.html @@ -0,0 +1,278 @@ + + + + +MediaPeriod.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaPeriod.Callback

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.html new file mode 100644 index 0000000000..ccfa9e84c2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriod.html @@ -0,0 +1,684 @@ + + + + +MediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaPeriod

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            prepare

            +
            void prepare​(MediaPeriod.Callback callback,
            +             long positionUs)
            +
            Prepares this media period asynchronously. + +

            callback.onPrepared is called when preparation completes. If preparation fails, + maybeThrowPrepareError() will throw an IOException. + +

            If preparation succeeds and results in a source timeline change (e.g. the period duration + becoming known), MediaSource.MediaSourceCaller.onSourceInfoRefreshed(MediaSource, Timeline) will be + called before callback.onPrepared.

            +
            +
            Parameters:
            +
            callback - Callback to receive updates from this period, including being notified when + preparation completes.
            +
            positionUs - The expected starting position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowPrepareError

            +
            void maybeThrowPrepareError()
            +                     throws IOException
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackGroups

            +
            TrackGroupArray getTrackGroups()
            +
            Returns the TrackGroups exposed by the period. + +

            This method is only called after the period has been prepared.

            +
            +
            Returns:
            +
            The TrackGroups.
            +
            +
          • +
          + + + +
            +
          • +

            getStreamKeys

            +
            default List<StreamKey> getStreamKeys​(List<ExoTrackSelection> trackSelections)
            +
            Returns a list of StreamKeys which allow to filter the media in this period + to load only the parts needed to play the provided TrackSelections. + +

            This method is only called after the period has been prepared.

            +
            +
            Parameters:
            +
            trackSelections - The TrackSelections describing the tracks for + which stream keys are requested.
            +
            Returns:
            +
            The corresponding StreamKeys for the selected tracks, or an empty + list if filtering is not possible and the entire media needs to be loaded to play the + selected tracks.
            +
            +
          • +
          + + + +
            +
          • +

            selectTracks

            +
            long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                  boolean[] mayRetainStreamFlags,
            +                  @NullableType SampleStream[] streams,
            +                  boolean[] streamResetFlags,
            +                  long positionUs)
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            void discardBuffer​(long positionUs,
            +                   boolean toKeyframe)
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            readDiscontinuity

            +
            long readDiscontinuity()
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            long seekToUs​(long positionUs)
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            long getAdjustedSeekPositionUs​(long positionUs,
            +                               SeekParameters seekParameters)
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            long getBufferedPositionUs()
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            getNextLoadPositionUs

            +
            long getNextLoadPositionUs()
            +
            Returns the next load time, or C.TIME_END_OF_SOURCE if loading has finished. + +

            This method is only called after the period has been prepared. It may be called when no + tracks are selected.

            +
            +
            Specified by:
            +
            getNextLoadPositionUs in interface SequenceableLoader
            +
            +
          • +
          + + + +
            +
          • +

            continueLoading

            +
            boolean continueLoading​(long positionUs)
            +
            Attempts to continue loading. + +

            This method may be called both during and after the period has been prepared. + +

            A period may call SequenceableLoader.Callback.onContinueLoadingRequested(SequenceableLoader) on the + MediaPeriod.Callback passed to prepare(Callback, long) to request that this method be + called when the period is permitted to continue loading data. A period may do this both during + and after preparation.

            +
            +
            Specified by:
            +
            continueLoading in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            Returns:
            +
            True if progress was made, meaning that getNextLoadPositionUs() will return a + different value than prior to the call. False otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            isLoading

            +
            boolean isLoading()
            +
            Returns whether the media period is currently loading.
            +
            +
            Specified by:
            +
            isLoading in interface SequenceableLoader
            +
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            void reevaluateBuffer​(long positionUs)
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriodId.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriodId.html new file mode 100644 index 0000000000..5b08efbfc1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaPeriodId.html @@ -0,0 +1,592 @@ + + + + +MediaPeriodId (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaPeriodId

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.MediaPeriodId
        • +
        +
      • +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          intadGroupIndex +
          If the media period is in an ad group, the index of the ad group in the period.
          +
          intadIndexInAdGroup +
          If the media period is in an ad group, the index of the ad in its ad group in the period.
          +
          intnextAdGroupIndex +
          The index of the next ad group to which the media period's content is clipped, or C.INDEX_UNSET if there is no following ad group or if this media period is an ad.
          +
          ObjectperiodUid +
          The unique id of the timeline period.
          +
          longwindowSequenceNumber +
          The sequence number of the window in the buffered sequence of windows this media period is part + of.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Constructors 
          ModifierConstructorDescription
          protected MediaPeriodId​(MediaPeriodId mediaPeriodId) +
          Copy constructor for inheritance.
          +
           MediaPeriodId​(Object periodUid) +
          Creates a media period identifier for a period which is not part of a buffered sequence of + windows.
          +
           MediaPeriodId​(Object periodUid, + int adGroupIndex, + int adIndexInAdGroup, + long windowSequenceNumber) +
          Creates a media period identifier that identifies an ad within an ad group at the specified + timeline period.
          +
           MediaPeriodId​(Object periodUid, + long windowSequenceNumber) +
          Creates a media period identifier for the specified period in the timeline.
          +
           MediaPeriodId​(Object periodUid, + long windowSequenceNumber, + int nextAdGroupIndex) +
          Creates a media period identifier for the specified clipped period in the timeline.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            periodUid

            +
            public final Object periodUid
            +
            The unique id of the timeline period.
            +
          • +
          + + + +
            +
          • +

            adGroupIndex

            +
            public final int adGroupIndex
            +
            If the media period is in an ad group, the index of the ad group in the period. C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            adIndexInAdGroup

            +
            public final int adIndexInAdGroup
            +
            If the media period is in an ad group, the index of the ad in its ad group in the period. + C.INDEX_UNSET otherwise.
            +
          • +
          + + + +
            +
          • +

            windowSequenceNumber

            +
            public final long windowSequenceNumber
            +
            The sequence number of the window in the buffered sequence of windows this media period is part + of. C.INDEX_UNSET if the media period id is not part of a buffered sequence of windows.
            +
          • +
          + + + +
            +
          • +

            nextAdGroupIndex

            +
            public final int nextAdGroupIndex
            +
            The index of the next ad group to which the media period's content is clipped, or C.INDEX_UNSET if there is no following ad group or if this media period is an ad.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaPeriodId

            +
            public MediaPeriodId​(Object periodUid)
            +
            Creates a media period identifier for a period which is not part of a buffered sequence of + windows.
            +
            +
            Parameters:
            +
            periodUid - The unique id of the timeline period.
            +
            +
          • +
          + + + +
            +
          • +

            MediaPeriodId

            +
            public MediaPeriodId​(Object periodUid,
            +                     long windowSequenceNumber)
            +
            Creates a media period identifier for the specified period in the timeline.
            +
            +
            Parameters:
            +
            periodUid - The unique id of the timeline period.
            +
            windowSequenceNumber - The sequence number of the window in the buffered sequence of + windows this media period is part of.
            +
            +
          • +
          + + + +
            +
          • +

            MediaPeriodId

            +
            public MediaPeriodId​(Object periodUid,
            +                     long windowSequenceNumber,
            +                     int nextAdGroupIndex)
            +
            Creates a media period identifier for the specified clipped period in the timeline.
            +
            +
            Parameters:
            +
            periodUid - The unique id of the timeline period.
            +
            windowSequenceNumber - The sequence number of the window in the buffered sequence of + windows this media period is part of.
            +
            nextAdGroupIndex - The index of the next ad group to which the media period's content is + clipped.
            +
            +
          • +
          + + + +
            +
          • +

            MediaPeriodId

            +
            public MediaPeriodId​(Object periodUid,
            +                     int adGroupIndex,
            +                     int adIndexInAdGroup,
            +                     long windowSequenceNumber)
            +
            Creates a media period identifier that identifies an ad within an ad group at the specified + timeline period.
            +
            +
            Parameters:
            +
            periodUid - The unique id of the timeline period that contains the ad group.
            +
            adGroupIndex - The index of the ad group.
            +
            adIndexInAdGroup - The index of the ad in the ad group.
            +
            windowSequenceNumber - The sequence number of the window in the buffered sequence of + windows this media period is part of.
            +
            +
          • +
          + + + +
            +
          • +

            MediaPeriodId

            +
            protected MediaPeriodId​(MediaPeriodId mediaPeriodId)
            +
            Copy constructor for inheritance.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copyWithPeriodUid

            +
            public MediaPeriodId copyWithPeriodUid​(Object newPeriodUid)
            +
            Returns a copy of this period identifier but with newPeriodUid as its period uid.
            +
          • +
          + + + +
            +
          • +

            isAd

            +
            public boolean isAd()
            +
            Returns whether this period identifier identifies an ad in an ad group in a period.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html new file mode 100644 index 0000000000..9fc419d651 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaPeriodId.html @@ -0,0 +1,422 @@ + + + + +MediaSource.MediaPeriodId (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaSource.MediaPeriodId

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html new file mode 100644 index 0000000000..72e4c4ebd7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.MediaSourceCaller.html @@ -0,0 +1,263 @@ + + + + +MediaSource.MediaSourceCaller (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSource.MediaSourceCaller

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        MediaSource
        +
        +
        +
        public static interface MediaSource.MediaSourceCaller
        +
        A caller of media sources, which will be notified of source events.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSourceInfoRefreshed

            +
            void onSourceInfoRefreshed​(MediaSource source,
            +                           Timeline timeline)
            +
            Called when the Timeline has been refreshed. + +

            Called on the playback thread.

            +
            +
            Parameters:
            +
            source - The MediaSource whose info has been refreshed.
            +
            timeline - The source's timeline.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.html new file mode 100644 index 0000000000..179874ee2b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSource.html @@ -0,0 +1,666 @@ + + + + +MediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSource

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addEventListener

            +
            void addEventListener​(Handler handler,
            +                      MediaSourceEventListener eventListener)
            +
            Adds a MediaSourceEventListener to the list of listeners which are notified of media + source events.
            +
            +
            Parameters:
            +
            handler - A handler on the which listener events will be posted.
            +
            eventListener - The listener to be added.
            +
            +
          • +
          + + + +
            +
          • +

            removeEventListener

            +
            void removeEventListener​(MediaSourceEventListener eventListener)
            +
            Removes a MediaSourceEventListener from the list of listeners which are notified of + media source events.
            +
            +
            Parameters:
            +
            eventListener - The listener to be removed.
            +
            +
          • +
          + + + +
            +
          • +

            addDrmEventListener

            +
            void addDrmEventListener​(Handler handler,
            +                         DrmSessionEventListener eventListener)
            +
            Adds a DrmSessionEventListener to the list of listeners which are notified of DRM + events for this media source.
            +
            +
            Parameters:
            +
            handler - A handler on the which listener events will be posted.
            +
            eventListener - The listener to be added.
            +
            +
          • +
          + + + +
            +
          • +

            removeDrmEventListener

            +
            void removeDrmEventListener​(DrmSessionEventListener eventListener)
            +
            Removes a DrmSessionEventListener from the list of listeners which are notified of DRM + events for this media source.
            +
            +
            Parameters:
            +
            eventListener - The listener to be removed.
            +
            +
          • +
          + + + +
            +
          • +

            getInitialTimeline

            +
            @Nullable
            +default Timeline getInitialTimeline()
            +
            Returns the initial placeholder timeline that is returned immediately when the real timeline is + not yet known, or null to let the player create an initial timeline. + +

            The initial timeline must use the same uids for windows and periods that the real timeline + will use. It also must provide windows which are marked as dynamic to indicate that the window + is expected to change when the real timeline arrives. + +

            Any media source which has multiple windows should typically provide such an initial + timeline to make sure the player reports the correct number of windows immediately.

            +
          • +
          + + + +
            +
          • +

            isSingleWindow

            +
            default boolean isSingleWindow()
            +
            Returns true if the media source is guaranteed to never have zero or more than one window. + +

            The default implementation returns true.

            +
            +
            Returns:
            +
            true if the source has exactly one window.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getMediaItem

            +
            MediaItem getMediaItem()
            +
            Returns the MediaItem whose media is provided by the source.
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            createPeriod

            +
            MediaPeriod createPeriod​(MediaSource.MediaPeriodId id,
            +                         Allocator allocator,
            +                         long startPositionUs)
            +
            Returns a new MediaPeriod identified by periodId. + +

            Should not be called directly from application code. + +

            Must only be called if the source is enabled.

            +
            +
            Parameters:
            +
            id - The identifier of the period.
            +
            allocator - An Allocator from which to obtain media buffer allocations.
            +
            startPositionUs - The expected start position, in microseconds.
            +
            Returns:
            +
            A new MediaPeriod.
            +
            +
          • +
          + + + +
            +
          • +

            releasePeriod

            +
            void releasePeriod​(MediaPeriod mediaPeriod)
            +
            Releases the period. + +

            Should not be called directly from application code.

            +
            +
            Parameters:
            +
            mediaPeriod - The period to release.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.EventDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.EventDispatcher.html new file mode 100644 index 0000000000..d30fb4df34 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.EventDispatcher.html @@ -0,0 +1,813 @@ + + + + +MediaSourceEventListener.EventDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaSourceEventListener.EventDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.html new file mode 100644 index 0000000000..aace056bc2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceEventListener.html @@ -0,0 +1,469 @@ + + + + +MediaSourceEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSourceEventListener

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceFactory.html new file mode 100644 index 0000000000..f11c0d18ab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MediaSourceFactory.html @@ -0,0 +1,513 @@ + + + + +MediaSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaSourceFactory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.Reason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.Reason.html new file mode 100644 index 0000000000..2a903e6288 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.Reason.html @@ -0,0 +1,189 @@ + + + + +MergingMediaSource.IllegalMergeException.Reason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type MergingMediaSource.IllegalMergeException.Reason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.html new file mode 100644 index 0000000000..749f8232aa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.IllegalMergeException.html @@ -0,0 +1,388 @@ + + + + +MergingMediaSource.IllegalMergeException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MergingMediaSource.IllegalMergeException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REASON_PERIOD_COUNT_MISMATCH

            +
            public static final int REASON_PERIOD_COUNT_MISMATCH
            +
            The sources have different period counts.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            reason

            +
            @Reason
            +public final int reason
            +
            The reason the merge failed.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IllegalMergeException

            +
            public IllegalMergeException​(@Reason
            +                             int reason)
            +
            +
            Parameters:
            +
            reason - The reason the merge failed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.html new file mode 100644 index 0000000000..c554026150 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/MergingMediaSource.html @@ -0,0 +1,693 @@ + + + + +MergingMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MergingMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.Factory.html new file mode 100644 index 0000000000..298384cc1f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.Factory.html @@ -0,0 +1,666 @@ + + + + +ProgressiveMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProgressiveMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.html new file mode 100644 index 0000000000..b40b4ae6d8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ProgressiveMediaSource.html @@ -0,0 +1,563 @@ + + + + +ProgressiveMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProgressiveMediaSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaSource
        +
        +
        +
        public final class ProgressiveMediaSource
        +extends BaseMediaSource
        +
        Provides one period that loads data from a Uri and extracted using an Extractor. + +

        If the possible input stream container formats are known, pass a factory that instantiates + extractors for them to the constructor. Otherwise, pass a DefaultExtractorsFactory to use + the default extractors. When reading a new stream, the first Extractor in the array of + extractors created by the factory that returns true from Extractor.sniff(com.google.android.exoplayer2.extractor.ExtractorInput) will be + used to extract samples from the input stream. + +

        Note that the built-in extractor for FLV streams does not support seeking.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.UpstreamFormatChangedListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.UpstreamFormatChangedListener.html new file mode 100644 index 0000000000..ce19b74261 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.UpstreamFormatChangedListener.html @@ -0,0 +1,258 @@ + + + + +SampleQueue.UpstreamFormatChangedListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SampleQueue.UpstreamFormatChangedListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SampleQueue
        +
        +
        +
        public static interface SampleQueue.UpstreamFormatChangedListener
        +
        A listener for changes to the upstream format.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onUpstreamFormatChanged

            +
            void onUpstreamFormatChanged​(Format format)
            +
            Called on the loading thread when an upstream format change occurs.
            +
            +
            Parameters:
            +
            format - The new upstream format.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.html new file mode 100644 index 0000000000..b69030865e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleQueue.html @@ -0,0 +1,1296 @@ + + + + +SampleQueue (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SampleQueue

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        TrackOutput
        +
        +
        +
        public class SampleQueue
        +extends Object
        +implements TrackOutput
        +
        A queue of media samples.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createWithoutDrm

            +
            public static SampleQueue createWithoutDrm​(Allocator allocator)
            +
            Creates a sample queue without DRM resource management.
            +
            +
            Parameters:
            +
            allocator - An Allocator from which allocations for sample data can be obtained.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            release

            +
            @CallSuper
            +public void release()
            +
            Calls reset(true) and releases any resources owned by the queue.
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public final void reset()
            +
            Convenience method for reset(false).
            +
          • +
          + + + +
            +
          • +

            reset

            +
            @CallSuper
            +public void reset​(boolean resetUpstreamFormat)
            +
            Clears all samples from the queue.
            +
            +
            Parameters:
            +
            resetUpstreamFormat - Whether the upstream format should be cleared. If set to false, + samples queued after the reset (and before a subsequent call to format(Format)) + are assumed to have the current upstream format. If set to true, format(Format) + must be called after the reset before any more samples can be queued.
            +
            +
          • +
          + + + +
            +
          • +

            setStartTimeUs

            +
            public final void setStartTimeUs​(long startTimeUs)
            +
            Sets the start time for the queue. Samples with earlier timestamps will be discarded or have + the C.BUFFER_FLAG_DECODE_ONLY flag set when read.
            +
            +
            Parameters:
            +
            startTimeUs - The start time, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            sourceId

            +
            public final void sourceId​(int sourceId)
            +
            Sets a source identifier for subsequent samples.
            +
            +
            Parameters:
            +
            sourceId - The source identifier.
            +
            +
          • +
          + + + +
            +
          • +

            splice

            +
            public final void splice()
            +
            Indicates samples that are subsequently queued should be spliced into those already queued.
            +
          • +
          + + + +
            +
          • +

            getWriteIndex

            +
            public final int getWriteIndex()
            +
            Returns the current absolute write index.
            +
          • +
          + + + +
            +
          • +

            discardUpstreamSamples

            +
            public final void discardUpstreamSamples​(int discardFromIndex)
            +
            Discards samples from the write side of the queue.
            +
            +
            Parameters:
            +
            discardFromIndex - The absolute index of the first sample to be discarded. Must be in the + range [getReadIndex(), getWriteIndex()].
            +
            +
          • +
          + + + +
            +
          • +

            discardUpstreamFrom

            +
            public final void discardUpstreamFrom​(long timeUs)
            +
            Discards samples from the write side of the queue.
            +
            +
            Parameters:
            +
            timeUs - Samples will be discarded from the write end of the queue until a sample with a + timestamp smaller than timeUs is encountered (this sample is not discarded). Must be larger + than getLargestReadTimestampUs().
            +
            +
          • +
          + + + +
            +
          • +

            preRelease

            +
            @CallSuper
            +public void preRelease()
            +
            Calls discardToEnd() and releases any resources owned by the queue.
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            @CallSuper
            +public void maybeThrowError()
            +                     throws IOException
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstIndex

            +
            public final int getFirstIndex()
            +
            Returns the current absolute start index.
            +
          • +
          + + + +
            +
          • +

            getReadIndex

            +
            public final int getReadIndex()
            +
            Returns the current absolute read index.
            +
          • +
          + + + +
            +
          • +

            peekSourceId

            +
            public final int peekSourceId()
            +
            Peeks the source id of the next sample to be read, or the current upstream source id if the + queue is empty or if the read position is at the end of the queue.
            +
            +
            Returns:
            +
            The source id.
            +
            +
          • +
          + + + +
            +
          • +

            getUpstreamFormat

            +
            @Nullable
            +public final Format getUpstreamFormat()
            +
            Returns the upstream Format in which samples are being queued.
            +
          • +
          + + + +
            +
          • +

            getLargestQueuedTimestampUs

            +
            public final long getLargestQueuedTimestampUs()
            +
            Returns the largest sample timestamp that has been queued since the last reset(). + +

            Samples that were discarded by calling discardUpstreamSamples(int) are not + considered as having been queued. Samples that were dequeued from the front of the queue are + considered as having been queued.

            +
            +
            Returns:
            +
            The largest sample timestamp that has been queued, or Long.MIN_VALUE if no + samples have been queued.
            +
            +
          • +
          + + + +
            +
          • +

            getLargestReadTimestampUs

            +
            public final long getLargestReadTimestampUs()
            +
            Returns the largest sample timestamp that has been read since the last reset().
            +
            +
            Returns:
            +
            The largest sample timestamp that has been read, or Long.MIN_VALUE if no + samples have been read.
            +
            +
          • +
          + + + +
            +
          • +

            isLastSampleQueued

            +
            public final boolean isLastSampleQueued()
            +
            Returns whether the last sample of the stream has knowingly been queued. A return value of + false means that the last sample had not been queued or that it's unknown whether the + last sample has been queued. + +

            Samples that were discarded by calling discardUpstreamSamples(int) are not + considered as having been queued. Samples that were dequeued from the front of the queue are + considered as having been queued.

            +
          • +
          + + + +
            +
          • +

            getFirstTimestampUs

            +
            public final long getFirstTimestampUs()
            +
            Returns the timestamp of the first sample, or Long.MIN_VALUE if the queue is empty.
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            @CallSuper
            +public boolean isReady​(boolean loadingFinished)
            +
            Returns whether there is data available for reading. + +

            Note: If the stream has ended then a buffer with the end of stream flag can always be read + from read(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, boolean, boolean). Hence an ended stream is always ready.

            +
            +
            Parameters:
            +
            loadingFinished - Whether no more samples will be written to the sample queue. When true, + this method returns true if the sample queue is empty, because an empty sample queue means + the end of stream has been reached. When false, this method returns false if the sample + queue is empty.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            read

            +
            @CallSuper
            +public int read​(FormatHolder formatHolder,
            +                DecoderInputBuffer buffer,
            +                boolean formatRequired,
            +                boolean loadingFinished)
            +
            Attempts to read from the queue. + +

            Formats read from this method may be associated to a DrmSession + through FormatHolder.drmSession.

            +
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, only the buffer flags may be + populated by this method and the read position of the queue will not change.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            loadingFinished - True if an empty queue should be considered the end of the stream.
            +
            Returns:
            +
            The result, which can be C.RESULT_NOTHING_READ, C.RESULT_FORMAT_READ or + C.RESULT_BUFFER_READ.
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            public final boolean seekTo​(int sampleIndex)
            +
            Attempts to seek the read position to the specified sample index.
            +
            +
            Parameters:
            +
            sampleIndex - The sample index.
            +
            Returns:
            +
            Whether the seek was successful.
            +
            +
          • +
          + + + +
            +
          • +

            seekTo

            +
            public final boolean seekTo​(long timeUs,
            +                            boolean allowTimeBeyondBuffer)
            +
            Attempts to seek the read position to the keyframe before or at the specified time.
            +
            +
            Parameters:
            +
            timeUs - The time to seek to.
            +
            allowTimeBeyondBuffer - Whether the operation can succeed if timeUs is beyond the + end of the queue, by seeking to the last sample (or keyframe).
            +
            Returns:
            +
            Whether the seek was successful.
            +
            +
          • +
          + + + +
            +
          • +

            getSkipCount

            +
            public final int getSkipCount​(long timeUs,
            +                              boolean allowEndOfQueue)
            +
            Returns the number of samples that need to be skipped to advance the read + position to the keyframe before or at the specified time.
            +
            +
            Parameters:
            +
            timeUs - The time to advance to.
            +
            allowEndOfQueue - Whether the end of the queue is considered a keyframe when + timeUs is larger than the largest queued timestamp.
            +
            Returns:
            +
            The number of samples that need to be skipped, which may be equal to 0.
            +
            +
          • +
          + + + +
            +
          • +

            skip

            +
            public final void skip​(int count)
            +
            Advances the read position by the specified number of samples.
            +
            +
            Parameters:
            +
            count - The number of samples to advance the read position by. Must be at least 0 and at + most getWriteIndex() - getReadIndex().
            +
            +
          • +
          + + + +
            +
          • +

            discardTo

            +
            public final void discardTo​(long timeUs,
            +                            boolean toKeyframe,
            +                            boolean stopAtReadPosition)
            +
            Discards up to but not including the sample immediately before or at the specified time.
            +
            +
            Parameters:
            +
            timeUs - The time to discard up to.
            +
            toKeyframe - If true then discards samples up to the keyframe before or at the specified + time, rather than any sample before or at that time.
            +
            stopAtReadPosition - If true then samples are only discarded if they're before the read + position. If false then samples at and beyond the read position may be discarded, in which + case the read position is advanced to the first remaining sample.
            +
            +
          • +
          + + + +
            +
          • +

            discardToRead

            +
            public final void discardToRead()
            +
            Discards up to but not including the read position.
            +
          • +
          + + + +
            +
          • +

            discardToEnd

            +
            public final void discardToEnd()
            +
            Discards all samples in the queue and advances the read position.
            +
          • +
          + + + +
            +
          • +

            setSampleOffsetUs

            +
            public final void setSampleOffsetUs​(long sampleOffsetUs)
            +
            Sets an offset that will be added to the timestamps (and sub-sample timestamps) of samples that + are subsequently queued.
            +
            +
            Parameters:
            +
            sampleOffsetUs - The timestamp offset in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setUpstreamFormatChangeListener

            +
            public final void setUpstreamFormatChangeListener​(@Nullable
            +                                                  SampleQueue.UpstreamFormatChangedListener listener)
            +
            Sets a listener to be notified of changes to the upstream format.
            +
            +
            Parameters:
            +
            listener - The listener.
            +
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final void format​(Format unadjustedUpstreamFormat)
            +
            Description copied from interface: TrackOutput
            +
            Called when the Format of the track has been extracted from the stream.
            +
            +
            Specified by:
            +
            format in interface TrackOutput
            +
            Parameters:
            +
            unadjustedUpstreamFormat - The extracted Format.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public final int sampleData​(DataReader input,
            +                            int length,
            +                            boolean allowEndOfInput,
            +                            @SampleDataPart
            +                            int sampleDataPart)
            +                     throws IOException
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            input - A DataReader from which to read the sample data.
            +
            length - The maximum length to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it + should be considered an error, causing an EOFException to be thrown.
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            Returns:
            +
            The number of bytes appended.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public final void sampleData​(ParsableByteArray buffer,
            +                             int length,
            +                             @SampleDataPart
            +                             int sampleDataPart)
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            buffer - A ParsableByteArray from which to read the sample data.
            +
            length - The number of bytes to read, starting from data.getPosition().
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            invalidateUpstreamFormatAdjustment

            +
            protected final void invalidateUpstreamFormatAdjustment()
            +
            Invalidates the last upstream format adjustment. getAdjustedUpstreamFormat(Format) + will be called to adjust the upstream Format again before the next sample is queued.
            +
          • +
          + + + + + + + +
            +
          • +

            discardSampleMetadataToRead

            +
            public long discardSampleMetadataToRead()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html new file mode 100644 index 0000000000..5fbe2ef634 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.ReadDataResult.html @@ -0,0 +1,189 @@ + + + + +SampleStream.ReadDataResult (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type SampleStream.ReadDataResult

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.html new file mode 100644 index 0000000000..437da28622 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SampleStream.html @@ -0,0 +1,371 @@ + + + + +SampleStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SampleStream

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isReady

            +
            boolean isReady()
            +
            Returns whether data is available to be read. +

            + Note: If the stream has ended then a buffer with the end of stream flag can always be read from + readData(FormatHolder, DecoderInputBuffer, boolean). Hence an ended stream is always + ready.

            +
            +
            Returns:
            +
            Whether data is available to be read.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            void maybeThrowError()
            +              throws IOException
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            readData

            +
            @ReadDataResult
            +int readData​(FormatHolder formatHolder,
            +             DecoderInputBuffer buffer,
            +             boolean formatRequired)
            +
            Attempts to read from the stream. + +

            If the stream has ended then C.BUFFER_FLAG_END_OF_STREAM flag is set on + buffer and C.RESULT_BUFFER_READ is returned. Else if no data is available then C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if + formatRequired is set then formatHolder is populated and C.RESULT_FORMAT_READ + is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

            +
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, then no DecoderInputBuffer.data will be read and the read position of the stream will not change, + but the flags of the buffer will be populated.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            Returns:
            +
            The status of read, one of SampleStream.ReadDataResult.
            +
            +
          • +
          + + + +
            +
          • +

            skipData

            +
            int skipData​(long positionUs)
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
            +
            +
            Parameters:
            +
            positionUs - The specified time.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.Callback.html new file mode 100644 index 0000000000..0d3742f188 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.Callback.html @@ -0,0 +1,266 @@ + + + + +SequenceableLoader.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SequenceableLoader.Callback<T extends SequenceableLoader>

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            onContinueLoadingRequested

            +
            void onContinueLoadingRequested​(T source)
            +
            Called by the loader to indicate that it wishes for its SequenceableLoader.continueLoading(long) method + to be called when it can continue to load data. Called on the playback thread.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.html new file mode 100644 index 0000000000..74dcb50116 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SequenceableLoader.html @@ -0,0 +1,372 @@ + + + + +SequenceableLoader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SequenceableLoader

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getBufferedPositionUs

            +
            long getBufferedPositionUs()
            +
            Returns an estimate of the position up to which data is buffered.
            +
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the data is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            getNextLoadPositionUs

            +
            long getNextLoadPositionUs()
            +
            Returns the next load time, or C.TIME_END_OF_SOURCE if loading has finished.
            +
          • +
          + + + +
            +
          • +

            continueLoading

            +
            boolean continueLoading​(long positionUs)
            +
            Attempts to continue loading.
            +
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of the period to + which this loader belongs has not yet started, the value will be the starting position + in the period minus the duration of any media in previous periods still to be played.
            +
            Returns:
            +
            True if progress was made, meaning that getNextLoadPositionUs() will return + a different value than prior to the call. False otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            isLoading

            +
            boolean isLoading()
            +
            Returns whether the loader is currently loading.
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            void reevaluateBuffer​(long positionUs)
            +
            Re-evaluates the buffer given the playback position. + +

            Re-evaluation may discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.DefaultShuffleOrder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.DefaultShuffleOrder.html new file mode 100644 index 0000000000..64a65de27f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.DefaultShuffleOrder.html @@ -0,0 +1,569 @@ + + + + +ShuffleOrder.DefaultShuffleOrder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ShuffleOrder.DefaultShuffleOrder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultShuffleOrder

            +
            public DefaultShuffleOrder​(int length)
            +
            Creates an instance with a specified length.
            +
            +
            Parameters:
            +
            length - The length of the shuffle order.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultShuffleOrder

            +
            public DefaultShuffleOrder​(int length,
            +                           long randomSeed)
            +
            Creates an instance with a specified length and the specified random seed. Shuffle orders of + the same length initialized with the same random seed are guaranteed to be equal.
            +
            +
            Parameters:
            +
            length - The length of the shuffle order.
            +
            randomSeed - A random seed.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultShuffleOrder

            +
            public DefaultShuffleOrder​(int[] shuffledIndices,
            +                           long randomSeed)
            +
            Creates an instance with a specified shuffle order and the specified random seed. The random + seed is used for cloneAndInsert(int, int) invocations.
            +
            +
            Parameters:
            +
            shuffledIndices - The shuffled indices to use as order.
            +
            randomSeed - A random seed.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLength

            +
            public int getLength()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns length of shuffle order.
            +
            +
            Specified by:
            +
            getLength in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getNextIndex

            +
            public int getNextIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the next index in the shuffle order.
            +
            +
            Specified by:
            +
            getNextIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index after index, or C.INDEX_UNSET if index is the last + element.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousIndex

            +
            public int getPreviousIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the previous index in the shuffle order.
            +
            +
            Specified by:
            +
            getPreviousIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index before index, or C.INDEX_UNSET if index is the first + element.
            +
            +
          • +
          + + + +
            +
          • +

            getLastIndex

            +
            public int getLastIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the last index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getLastIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getFirstIndex

            +
            public int getFirstIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the first index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getFirstIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndInsert

            +
            public ShuffleOrder cloneAndInsert​(int insertionIndex,
            +                                   int insertionCount)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with newly inserted elements.
            +
            +
            Specified by:
            +
            cloneAndInsert in interface ShuffleOrder
            +
            Parameters:
            +
            insertionIndex - The index in the unshuffled order at which elements are inserted.
            +
            insertionCount - The number of elements inserted at insertionIndex.
            +
            Returns:
            +
            A copy of this ShuffleOrder with newly inserted elements.
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndRemove

            +
            public ShuffleOrder cloneAndRemove​(int indexFrom,
            +                                   int indexToExclusive)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with a range of elements removed.
            +
            +
            Specified by:
            +
            cloneAndRemove in interface ShuffleOrder
            +
            Parameters:
            +
            indexFrom - The starting index in the unshuffled order of the range to remove.
            +
            indexToExclusive - The smallest index (must be greater or equal to indexFrom) that + will not be removed.
            +
            Returns:
            +
            A copy of this ShuffleOrder without the elements in the removed range.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.UnshuffledShuffleOrder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.UnshuffledShuffleOrder.html new file mode 100644 index 0000000000..88bbee27dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.UnshuffledShuffleOrder.html @@ -0,0 +1,521 @@ + + + + +ShuffleOrder.UnshuffledShuffleOrder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ShuffleOrder.UnshuffledShuffleOrder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UnshuffledShuffleOrder

            +
            public UnshuffledShuffleOrder​(int length)
            +
            Creates an instance with a specified length.
            +
            +
            Parameters:
            +
            length - The length of the shuffle order.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLength

            +
            public int getLength()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns length of shuffle order.
            +
            +
            Specified by:
            +
            getLength in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getNextIndex

            +
            public int getNextIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the next index in the shuffle order.
            +
            +
            Specified by:
            +
            getNextIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index after index, or C.INDEX_UNSET if index is the last + element.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousIndex

            +
            public int getPreviousIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the previous index in the shuffle order.
            +
            +
            Specified by:
            +
            getPreviousIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index before index, or C.INDEX_UNSET if index is the first + element.
            +
            +
          • +
          + + + +
            +
          • +

            getLastIndex

            +
            public int getLastIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the last index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getLastIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getFirstIndex

            +
            public int getFirstIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the first index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getFirstIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndInsert

            +
            public ShuffleOrder cloneAndInsert​(int insertionIndex,
            +                                   int insertionCount)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with newly inserted elements.
            +
            +
            Specified by:
            +
            cloneAndInsert in interface ShuffleOrder
            +
            Parameters:
            +
            insertionIndex - The index in the unshuffled order at which elements are inserted.
            +
            insertionCount - The number of elements inserted at insertionIndex.
            +
            Returns:
            +
            A copy of this ShuffleOrder with newly inserted elements.
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndRemove

            +
            public ShuffleOrder cloneAndRemove​(int indexFrom,
            +                                   int indexToExclusive)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with a range of elements removed.
            +
            +
            Specified by:
            +
            cloneAndRemove in interface ShuffleOrder
            +
            Parameters:
            +
            indexFrom - The starting index in the unshuffled order of the range to remove.
            +
            indexToExclusive - The smallest index (must be greater or equal to indexFrom) that + will not be removed.
            +
            Returns:
            +
            A copy of this ShuffleOrder without the elements in the removed range.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.html new file mode 100644 index 0000000000..68b0f7a688 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ShuffleOrder.html @@ -0,0 +1,442 @@ + + + + +ShuffleOrder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ShuffleOrder

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLength

            +
            int getLength()
            +
            Returns length of shuffle order.
            +
          • +
          + + + +
            +
          • +

            getNextIndex

            +
            int getNextIndex​(int index)
            +
            Returns the next index in the shuffle order.
            +
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index after index, or C.INDEX_UNSET if index is the last + element.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousIndex

            +
            int getPreviousIndex​(int index)
            +
            Returns the previous index in the shuffle order.
            +
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index before index, or C.INDEX_UNSET if index is the first + element.
            +
            +
          • +
          + + + +
            +
          • +

            getLastIndex

            +
            int getLastIndex()
            +
            Returns the last index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
          • +
          + + + +
            +
          • +

            getFirstIndex

            +
            int getFirstIndex()
            +
            Returns the first index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
          • +
          + + + +
            +
          • +

            cloneAndInsert

            +
            ShuffleOrder cloneAndInsert​(int insertionIndex,
            +                            int insertionCount)
            +
            Returns a copy of the shuffle order with newly inserted elements.
            +
            +
            Parameters:
            +
            insertionIndex - The index in the unshuffled order at which elements are inserted.
            +
            insertionCount - The number of elements inserted at insertionIndex.
            +
            Returns:
            +
            A copy of this ShuffleOrder with newly inserted elements.
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndRemove

            +
            ShuffleOrder cloneAndRemove​(int indexFrom,
            +                            int indexToExclusive)
            +
            Returns a copy of the shuffle order with a range of elements removed.
            +
            +
            Parameters:
            +
            indexFrom - The starting index in the unshuffled order of the range to remove.
            +
            indexToExclusive - The smallest index (must be greater or equal to indexFrom) that + will not be removed.
            +
            Returns:
            +
            A copy of this ShuffleOrder without the elements in the removed range.
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndClear

            +
            ShuffleOrder cloneAndClear()
            +
            Returns a copy of the shuffle order with all elements removed.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html new file mode 100644 index 0000000000..4674d85a2c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.Factory.html @@ -0,0 +1,357 @@ + + + + +SilenceMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SilenceMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.SilenceMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Factory

            +
            public Factory()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html new file mode 100644 index 0000000000..c6ead0c65d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html @@ -0,0 +1,564 @@ + + + + +SilenceMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SilenceMediaSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaSource
        +
        +
        +
        public final class SilenceMediaSource
        +extends BaseMediaSource
        +
        Media source with a single period consisting of silent raw audio of a given duration.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SinglePeriodTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SinglePeriodTimeline.html new file mode 100644 index 0000000000..39cd1765d7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SinglePeriodTimeline.html @@ -0,0 +1,749 @@ + + + + +SinglePeriodTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SinglePeriodTimeline

      +
      +
      + +
      +
        +
      • +
        +
        public final class SinglePeriodTimeline
        +extends Timeline
        +
        A Timeline consisting of a single period and static window.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + + + + + +
            +
          • +

            SinglePeriodTimeline

            +
            public SinglePeriodTimeline​(long durationUs,
            +                            boolean isSeekable,
            +                            boolean isDynamic,
            +                            boolean useLiveConfiguration,
            +                            @Nullable
            +                            Object manifest,
            +                            MediaItem mediaItem)
            +
            Creates a timeline containing a single period and a window that spans it.
            +
            +
            Parameters:
            +
            durationUs - The duration of the period, in microseconds.
            +
            isSeekable - Whether seeking is supported within the period.
            +
            isDynamic - Whether the window may change when the timeline is updated.
            +
            useLiveConfiguration - Whether the window is live and MediaItem.liveConfiguration + is used to configure live playback behaviour.
            +
            manifest - The manifest. May be null.
            +
            mediaItem - A media item used for Timeline.Window.mediaItem.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            SinglePeriodTimeline

            +
            public SinglePeriodTimeline​(long periodDurationUs,
            +                            long windowDurationUs,
            +                            long windowPositionInPeriodUs,
            +                            long windowDefaultStartPositionUs,
            +                            boolean isSeekable,
            +                            boolean isDynamic,
            +                            boolean useLiveConfiguration,
            +                            @Nullable
            +                            Object manifest,
            +                            MediaItem mediaItem)
            +
            Creates a timeline with one period, and a window of known duration starting at a specified + position in the period.
            +
            +
            Parameters:
            +
            periodDurationUs - The duration of the period in microseconds.
            +
            windowDurationUs - The duration of the window in microseconds.
            +
            windowPositionInPeriodUs - The position of the start of the window in the period, in + microseconds.
            +
            windowDefaultStartPositionUs - The default position relative to the start of the window at + which to begin playback, in microseconds.
            +
            isSeekable - Whether seeking is supported within the window.
            +
            isDynamic - Whether the window may change when the timeline is updated.
            +
            useLiveConfiguration - Whether the window is live and MediaItem.liveConfiguration + is used to configure live playback behaviour.
            +
            manifest - The manifest. May be (@code null}.
            +
            mediaItem - A media item used for Timeline.Window.mediaItem.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            SinglePeriodTimeline

            +
            public SinglePeriodTimeline​(long presentationStartTimeMs,
            +                            long windowStartTimeMs,
            +                            long elapsedRealtimeEpochOffsetMs,
            +                            long periodDurationUs,
            +                            long windowDurationUs,
            +                            long windowPositionInPeriodUs,
            +                            long windowDefaultStartPositionUs,
            +                            boolean isSeekable,
            +                            boolean isDynamic,
            +                            @Nullable
            +                            Object manifest,
            +                            MediaItem mediaItem,
            +                            @Nullable
            +                            MediaItem.LiveConfiguration liveConfiguration)
            +
            Creates a timeline with one period, and a window of known duration starting at a specified + position in the period.
            +
            +
            Parameters:
            +
            presentationStartTimeMs - The start time of the presentation in milliseconds since the + epoch, or C.TIME_UNSET if unknown or not applicable.
            +
            windowStartTimeMs - The window's start time in milliseconds since the epoch, or C.TIME_UNSET if unknown or not applicable.
            +
            elapsedRealtimeEpochOffsetMs - The offset between SystemClock.elapsedRealtime() and the time since the Unix epoch according to + the clock of the media origin server, or C.TIME_UNSET if unknown or not applicable.
            +
            periodDurationUs - The duration of the period in microseconds.
            +
            windowDurationUs - The duration of the window in microseconds.
            +
            windowPositionInPeriodUs - The position of the start of the window in the period, in + microseconds.
            +
            windowDefaultStartPositionUs - The default position relative to the start of the window at + which to begin playback, in microseconds.
            +
            isSeekable - Whether seeking is supported within the window.
            +
            isDynamic - Whether the window may change when the timeline is updated.
            +
            manifest - The manifest. May be null.
            +
            mediaItem - A media item used for Timeline.Window.mediaItem.
            +
            liveConfiguration - The configuration for live playback behaviour, or null if the + window is not live.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWindowCount

            +
            public int getWindowCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of windows in the timeline.
            +
            +
            Specified by:
            +
            getWindowCount in class Timeline
            +
            +
          • +
          + + + +
            +
          • +

            getWindow

            +
            public Timeline.Window getWindow​(int windowIndex,
            +                                 Timeline.Window window,
            +                                 long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Specified by:
            +
            getWindow in class Timeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getPeriodCount

            +
            public int getPeriodCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of periods in the timeline.
            +
            +
            Specified by:
            +
            getPeriodCount in class Timeline
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getIndexOfPeriod

            +
            public int getIndexOfPeriod​(Object uid)
            +
            Description copied from class: Timeline
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Specified by:
            +
            getIndexOfPeriod in class Timeline
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public Object getUidOfPeriod​(int periodIndex)
            +
            Description copied from class: Timeline
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Specified by:
            +
            getUidOfPeriod in class Timeline
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html new file mode 100644 index 0000000000..8660ce0a31 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.Factory.html @@ -0,0 +1,450 @@ + + + + +SingleSampleMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SingleSampleMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.html new file mode 100644 index 0000000000..e4e81ded0c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/SingleSampleMediaSource.html @@ -0,0 +1,476 @@ + + + + +SingleSampleMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SingleSampleMediaSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaSource
        +
        +
        +
        public final class SingleSampleMediaSource
        +extends BaseMediaSource
        +
        Loads data at a given Uri as a single sample belonging to a single MediaPeriod.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroup.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroup.html new file mode 100644 index 0000000000..e748639a76 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroup.html @@ -0,0 +1,494 @@ + + + + +TrackGroup (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackGroup

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class TrackGroup
        +extends Object
        +implements Parcelable
        +
        Defines an immutable group of tracks identified by their format identity.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TrackGroup

            +
            public TrackGroup​(Format... formats)
            +
            +
            Parameters:
            +
            formats - The track formats. At least one Format must be provided.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getFormat

            +
            public Format getFormat​(int index)
            +
            Returns the format of the track at a given index.
            +
            +
            Parameters:
            +
            index - The index of the track.
            +
            Returns:
            +
            The track's format.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public int indexOf​(Format format)
            +
            Returns the index of the track with the given format in the group. The format is located by + identity so, for example, group.indexOf(group.getFormat(index)) == index even if + multiple tracks have formats that contain the same values.
            +
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The index of the track, or C.INDEX_UNSET if no such track exists.
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroupArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroupArray.html new file mode 100644 index 0000000000..af209b6732 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/TrackGroupArray.html @@ -0,0 +1,526 @@ + + + + +TrackGroupArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackGroupArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.TrackGroupArray
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TrackGroupArray

            +
            public TrackGroupArray​(TrackGroup... trackGroups)
            +
            +
            Parameters:
            +
            trackGroups - The groups. May be empty.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            get

            +
            public TrackGroup get​(int index)
            +
            Returns the group at a given index.
            +
            +
            Parameters:
            +
            index - The index of the group.
            +
            Returns:
            +
            The group.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public int indexOf​(TrackGroup group)
            +
            Returns the index of a group within the array.
            +
            +
            Parameters:
            +
            group - The group.
            +
            Returns:
            +
            The index of the group, or C.INDEX_UNSET if no such group exists.
            +
            +
          • +
          + + + +
            +
          • +

            isEmpty

            +
            public boolean isEmpty()
            +
            Returns whether this track group array is empty.
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/UnrecognizedInputFormatException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/UnrecognizedInputFormatException.html new file mode 100644 index 0000000000..6d6ff0d677 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/UnrecognizedInputFormatException.html @@ -0,0 +1,346 @@ + + + + +UnrecognizedInputFormatException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UnrecognizedInputFormatException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The Uri from which the unrecognized data was read.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UnrecognizedInputFormatException

            +
            public UnrecognizedInputFormatException​(String message,
            +                                        Uri uri)
            +
            +
            Parameters:
            +
            message - The detail message for the exception.
            +
            uri - The Uri from which the unrecognized data was read.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html new file mode 100644 index 0000000000..6f1b25fe2e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdGroup.html @@ -0,0 +1,582 @@ + + + + +AdPlaybackState.AdGroup (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdPlaybackState.AdGroup

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        AdPlaybackState
        +
        +
        +
        public static final class AdPlaybackState.AdGroup
        +extends Object
        +
        Represents a group of ads, with information about their states. + +

        Instances are immutable. Call the with* methods to get new instances that have the + required changes.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            count

            +
            public final int count
            +
            The number of ads in the ad group, or C.LENGTH_UNSET if unknown.
            +
          • +
          + + + +
            +
          • +

            uris

            +
            public final @NullableType Uri[] uris
            +
            The URI of each ad in the ad group.
            +
          • +
          + + + +
            +
          • +

            states

            +
            @AdState
            +public final int[] states
            +
            The state of each ad in the ad group.
            +
          • +
          + + + +
            +
          • +

            durationsUs

            +
            public final long[] durationsUs
            +
            The durations of each ad in the ad group, in microseconds.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdGroup

            +
            public AdGroup()
            +
            Creates a new ad group with an unspecified number of ads.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getFirstAdIndexToPlay

            +
            public int getFirstAdIndexToPlay()
            +
            Returns the index of the first ad in the ad group that should be played, or count if + no ads should be played.
            +
          • +
          + + + +
            +
          • +

            getNextAdIndexToPlay

            +
            public int getNextAdIndexToPlay​(int lastPlayedAdIndex)
            +
            Returns the index of the next ad in the ad group that should be played after playing + lastPlayedAdIndex, or count if no later ads should be played.
            +
          • +
          + + + +
            +
          • +

            hasUnplayedAds

            +
            public boolean hasUnplayedAds()
            +
            Returns whether the ad group has at least one ad that still needs to be played.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            withAdCount

            +
            @CheckResult
            +public AdPlaybackState.AdGroup withAdCount​(int count)
            +
            Returns a new instance with the ad count set to count.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            withAdDurationsUs

            +
            @CheckResult
            +public AdPlaybackState.AdGroup withAdDurationsUs​(long[] durationsUs)
            +
            Returns a new instance with the specified ad durations, in microseconds.
            +
          • +
          + + + +
            +
          • +

            withAllAdsSkipped

            +
            @CheckResult
            +public AdPlaybackState.AdGroup withAllAdsSkipped()
            +
            Returns an instance with all unavailable and available ads marked as skipped. If the ad count + hasn't been set, it will be set to zero.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html new file mode 100644 index 0000000000..32f2b48998 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.AdState.html @@ -0,0 +1,189 @@ + + + + +AdPlaybackState.AdState (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AdPlaybackState.AdState

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.html new file mode 100644 index 0000000000..1c99bd6a04 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdPlaybackState.html @@ -0,0 +1,896 @@ + + + + +AdPlaybackState (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdPlaybackState

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ads.AdPlaybackState
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class AdPlaybackState
        +extends Object
        +
        Represents ad group times and information on the state and URIs of ads within each ad group. + +

        Instances are immutable. Call the with* methods to get new instances that have the + required changes.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static class AdPlaybackState.AdGroup +
          Represents a group of ads, with information about their states.
          +
          static interface AdPlaybackState.AdState +
          Represents the state of an ad in an ad group.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static intAD_STATE_AVAILABLE +
          State for an ad that has a URL but has not yet been played.
          +
          static intAD_STATE_ERROR +
          State for an ad that could not be loaded.
          +
          static intAD_STATE_PLAYED +
          State for an ad that was played in full.
          +
          static intAD_STATE_SKIPPED +
          State for an ad that was skipped.
          +
          static intAD_STATE_UNAVAILABLE +
          State for an ad that does not yet have a URL.
          +
          intadGroupCount +
          The number of ad groups.
          +
          AdPlaybackState.AdGroup[]adGroups +
          The ad groups.
          +
          long[]adGroupTimesUs +
          The times of ad groups, in microseconds, relative to the start of the Timeline.Period they belong to.
          +
          longadResumePositionUs +
          The position offset in the first unplayed ad at which to begin playback, in microseconds.
          +
          ObjectadsId +
          The opaque identifier for ads with which this instance is associated, or null if unset.
          +
          longcontentDurationUs +
          The duration of the content period in microseconds, if known.
          +
          static AdPlaybackStateNONE +
          Ad playback state with no ads.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          AdPlaybackState​(Object adsId, + long... adGroupTimesUs) +
          Creates a new ad playback state with the specified ad group times.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            AD_STATE_UNAVAILABLE

            +
            public static final int AD_STATE_UNAVAILABLE
            +
            State for an ad that does not yet have a URL.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AD_STATE_AVAILABLE

            +
            public static final int AD_STATE_AVAILABLE
            +
            State for an ad that has a URL but has not yet been played.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AD_STATE_SKIPPED

            +
            public static final int AD_STATE_SKIPPED
            +
            State for an ad that was skipped.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AD_STATE_PLAYED

            +
            public static final int AD_STATE_PLAYED
            +
            State for an ad that was played in full.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            AD_STATE_ERROR

            +
            public static final int AD_STATE_ERROR
            +
            State for an ad that could not be loaded.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            NONE

            +
            public static final AdPlaybackState NONE
            +
            Ad playback state with no ads.
            +
          • +
          + + + +
            +
          • +

            adsId

            +
            @Nullable
            +public final Object adsId
            +
            The opaque identifier for ads with which this instance is associated, or null if unset.
            +
          • +
          + + + +
            +
          • +

            adGroupCount

            +
            public final int adGroupCount
            +
            The number of ad groups.
            +
          • +
          + + + +
            +
          • +

            adGroupTimesUs

            +
            public final long[] adGroupTimesUs
            +
            The times of ad groups, in microseconds, relative to the start of the Timeline.Period they belong to. A final element with the value + C.TIME_END_OF_SOURCE indicates a postroll ad.
            +
          • +
          + + + + + + + +
            +
          • +

            adResumePositionUs

            +
            public final long adResumePositionUs
            +
            The position offset in the first unplayed ad at which to begin playback, in microseconds.
            +
          • +
          + + + +
            +
          • +

            contentDurationUs

            +
            public final long contentDurationUs
            +
            The duration of the content period in microseconds, if known. C.TIME_UNSET otherwise.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdPlaybackState

            +
            public AdPlaybackState​(Object adsId,
            +                       long... adGroupTimesUs)
            +
            Creates a new ad playback state with the specified ad group times.
            +
            +
            Parameters:
            +
            adsId - The opaque identifier for ads with which this instance is associated.
            +
            adGroupTimesUs - The times of ad groups in microseconds, relative to the start of the + Timeline.Period they belong to. A final element with + the value C.TIME_END_OF_SOURCE indicates that there is a postroll ad.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdGroupIndexForPositionUs

            +
            public int getAdGroupIndexForPositionUs​(long positionUs,
            +                                        long periodDurationUs)
            +
            Returns the index of the ad group at or before positionUs, if that ad group is + unplayed. Returns C.INDEX_UNSET if the ad group at or before positionUs has no + ads remaining to be played, or if there is no such ad group.
            +
            +
            Parameters:
            +
            positionUs - The period position at or before which to find an ad group, in microseconds, + or C.TIME_END_OF_SOURCE for the end of the stream (in which case the index of any + unplayed postroll ad group will be returned).
            +
            periodDurationUs - The duration of the containing timeline period, in microseconds, or + C.TIME_UNSET if not known.
            +
            Returns:
            +
            The index of the ad group, or C.INDEX_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getAdGroupIndexAfterPositionUs

            +
            public int getAdGroupIndexAfterPositionUs​(long positionUs,
            +                                          long periodDurationUs)
            +
            Returns the index of the next ad group after positionUs that has ads remaining to be + played. Returns C.INDEX_UNSET if there is no such ad group.
            +
            +
            Parameters:
            +
            positionUs - The period position after which to find an ad group, in microseconds, or + C.TIME_END_OF_SOURCE for the end of the stream (in which case there can be no ad + group after the position).
            +
            periodDurationUs - The duration of the containing timeline period, in microseconds, or + C.TIME_UNSET if not known.
            +
            Returns:
            +
            The index of the ad group, or C.INDEX_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            isAdInErrorState

            +
            public boolean isAdInErrorState​(int adGroupIndex,
            +                                int adIndexInAdGroup)
            +
            Returns whether the specified ad has been marked as in AD_STATE_ERROR.
            +
          • +
          + + + +
            +
          • +

            withAdCount

            +
            @CheckResult
            +public AdPlaybackState withAdCount​(int adGroupIndex,
            +                                   int adCount)
            +
            Returns an instance with the number of ads in adGroupIndex resolved to adCount. + The ad count must be greater than zero.
            +
          • +
          + + + +
            +
          • +

            withAdUri

            +
            @CheckResult
            +public AdPlaybackState withAdUri​(int adGroupIndex,
            +                                 int adIndexInAdGroup,
            +                                 Uri uri)
            +
            Returns an instance with the specified ad URI.
            +
          • +
          + + + +
            +
          • +

            withPlayedAd

            +
            @CheckResult
            +public AdPlaybackState withPlayedAd​(int adGroupIndex,
            +                                    int adIndexInAdGroup)
            +
            Returns an instance with the specified ad marked as played.
            +
          • +
          + + + +
            +
          • +

            withSkippedAd

            +
            @CheckResult
            +public AdPlaybackState withSkippedAd​(int adGroupIndex,
            +                                     int adIndexInAdGroup)
            +
            Returns an instance with the specified ad marked as skipped.
            +
          • +
          + + + +
            +
          • +

            withAdLoadError

            +
            @CheckResult
            +public AdPlaybackState withAdLoadError​(int adGroupIndex,
            +                                       int adIndexInAdGroup)
            +
            Returns an instance with the specified ad marked as having a load error.
            +
          • +
          + + + +
            +
          • +

            withSkippedAdGroup

            +
            @CheckResult
            +public AdPlaybackState withSkippedAdGroup​(int adGroupIndex)
            +
            Returns an instance with all ads in the specified ad group skipped (except for those already + marked as played or in the error state).
            +
          • +
          + + + +
            +
          • +

            withAdDurationsUs

            +
            @CheckResult
            +public AdPlaybackState withAdDurationsUs​(long[][] adDurationUs)
            +
            Returns an instance with the specified ad durations, in microseconds.
            +
          • +
          + + + +
            +
          • +

            withAdResumePositionUs

            +
            @CheckResult
            +public AdPlaybackState withAdResumePositionUs​(long adResumePositionUs)
            +
            Returns an instance with the specified ad resume position, in microseconds, relative to the + start of the current ad.
            +
          • +
          + + + +
            +
          • +

            withContentDurationUs

            +
            @CheckResult
            +public AdPlaybackState withContentDurationUs​(long contentDurationUs)
            +
            Returns an instance with the specified content duration, in microseconds.
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.AdViewProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.AdViewProvider.html new file mode 100644 index 0000000000..a857e9d5a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.AdViewProvider.html @@ -0,0 +1,311 @@ + + + + +AdsLoader.AdViewProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AdsLoader.AdViewProvider

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        PlayerView, StyledPlayerView
        +
        +
        +
        Enclosing interface:
        +
        AdsLoader
        +
        +
        +
        public static interface AdsLoader.AdViewProvider
        +
        Provides information about views for the ad playback UI.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdViewGroup

            +
            @Nullable
            +ViewGroup getAdViewGroup()
            +
            Returns the ViewGroup on top of the player that will show any ad UI, or null + if playing audio-only ads. Any views on top of the returned view group must be described by + OverlayInfos returned by getAdOverlayInfos(), for accurate + viewability measurement.
            +
          • +
          + + + + + + + +
            +
          • +

            getAdOverlayInfos

            +
            default List<AdsLoader.OverlayInfo> getAdOverlayInfos()
            +
            Returns a list of AdsLoader.OverlayInfo instances describing views that are on top of the ad + view group, but that are essential for controlling playback and should be excluded from ad + viewability measurements by the AdsLoader (if it supports this). + +

            Each view must be either a fully transparent overlay (for capturing touch events), or a + small piece of transient UI that is essential to the user experience of playback (such as a + button to pause/resume playback or a transient full-screen or cast button). For more + information see the documentation for your ads loader.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html new file mode 100644 index 0000000000..e72cc0fe45 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.EventListener.html @@ -0,0 +1,316 @@ + + + + +AdsLoader.EventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AdsLoader.EventListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        AdsLoader
        +
        +
        +
        public static interface AdsLoader.EventListener
        +
        Listener for ads loader events. All methods are called on the main thread.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onAdPlaybackState

            +
            default void onAdPlaybackState​(AdPlaybackState adPlaybackState)
            +
            Called when the ad playback state has been updated. The number of ad groups may not change after the first call.
            +
            +
            Parameters:
            +
            adPlaybackState - The new ad playback state.
            +
            +
          • +
          + + + +
            +
          • +

            onAdLoadError

            +
            default void onAdLoadError​(AdsMediaSource.AdLoadException error,
            +                           DataSpec dataSpec)
            +
            Called when there was an error loading ads.
            +
            +
            Parameters:
            +
            error - The error.
            +
            dataSpec - The data spec associated with the load error.
            +
            +
          • +
          + + + +
            +
          • +

            onAdClicked

            +
            default void onAdClicked()
            +
            Called when the user clicks through an ad (for example, following a 'learn more' link).
            +
          • +
          + + + +
            +
          • +

            onAdTapped

            +
            default void onAdTapped()
            +
            Called when the user taps a non-clickthrough part of an ad.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.Purpose.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.Purpose.html new file mode 100644 index 0000000000..e9566fbc58 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.Purpose.html @@ -0,0 +1,188 @@ + + + + +AdsLoader.OverlayInfo.Purpose (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AdsLoader.OverlayInfo.Purpose

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.html new file mode 100644 index 0000000000..ef4f44d0fb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.OverlayInfo.html @@ -0,0 +1,490 @@ + + + + +AdsLoader.OverlayInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdsLoader.OverlayInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        AdsLoader
        +
        +
        +
        public static final class AdsLoader.OverlayInfo
        +extends Object
        +
        Provides information about an overlay view shown on top of an ad view group.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PURPOSE_CONTROLS

            +
            public static final int PURPOSE_CONTROLS
            +
            Purpose for playback controls overlaying the player.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PURPOSE_CLOSE_AD

            +
            public static final int PURPOSE_CLOSE_AD
            +
            Purpose for ad close buttons overlaying the player.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PURPOSE_OTHER

            +
            public static final int PURPOSE_OTHER
            +
            Purpose for other overlays.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PURPOSE_NOT_VISIBLE

            +
            public static final int PURPOSE_NOT_VISIBLE
            +
            Purpose for overlays that are not visible.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            view

            +
            public final View view
            +
            The overlay view.
            +
          • +
          + + + +
            +
          • +

            purpose

            +
            @Purpose
            +public final int purpose
            +
            The purpose of the overlay view.
            +
          • +
          + + + +
            +
          • +

            reasonDetail

            +
            @Nullable
            +public final String reasonDetail
            +
            An optional, detailed reason that the overlay view is needed.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            OverlayInfo

            +
            public OverlayInfo​(View view,
            +                   @Purpose
            +                   int purpose)
            +
            Creates a new overlay info.
            +
            +
            Parameters:
            +
            view - The view that is overlaying the player.
            +
            purpose - The purpose of the view.
            +
            +
          • +
          + + + +
            +
          • +

            OverlayInfo

            +
            public OverlayInfo​(View view,
            +                   @Purpose
            +                   int purpose,
            +                   @Nullable
            +                   String detailedReason)
            +
            Creates a new overlay info.
            +
            +
            Parameters:
            +
            view - The view that is overlaying the player.
            +
            purpose - The purpose of the view.
            +
            detailedReason - An optional, detailed reason that the view is on top of the player. See + the documentation for the AdsLoader implementation for more information on this + string's formatting.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.html new file mode 100644 index 0000000000..1efd8a71a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsLoader.html @@ -0,0 +1,479 @@ + + + + +AdsLoader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AdsLoader

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setPlayer

            +
            void setPlayer​(@Nullable
            +               Player player)
            +
            Sets the player that will play the loaded ads. + +

            This method must be called before the player is prepared with media using this ads loader. + +

            This method must also be called on the main thread and only players which are accessed on + the main thread are supported (player.getApplicationLooper() == + Looper.getMainLooper()).

            +
            +
            Parameters:
            +
            player - The player instance that will play the loaded ads. May be null to delete the + reference to a previously set player.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            void release()
            +
            Releases the loader. Must be called by the application on the main thread when the instance is + no longer needed.
            +
          • +
          + + + + + + + +
            +
          • +

            start

            +
            void start​(AdsMediaSource adsMediaSource,
            +           DataSpec adTagDataSpec,
            +           Object adsId,
            +           AdsLoader.AdViewProvider adViewProvider,
            +           AdsLoader.EventListener eventListener)
            +
            Starts using the ads loader for playback. Called on the main thread by AdsMediaSource.
            +
            +
            Parameters:
            +
            adsMediaSource - The ads media source requesting to start loading ads.
            +
            adTagDataSpec - A data spec for the ad tag to load.
            +
            adsId - An opaque identifier for the ad playback state across start/stop calls.
            +
            adViewProvider - Provider of views for the ad UI.
            +
            eventListener - Listener for ads loader events.
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            void stop​(AdsMediaSource adsMediaSource,
            +          AdsLoader.EventListener eventListener)
            +
            Stops using the ads loader for playback and deregisters the event listener. Called on the main + thread by AdsMediaSource.
            +
            +
            Parameters:
            +
            adsMediaSource - The ads media source requesting to stop loading/playing ads.
            +
            eventListener - The ads media source's listener for ads loader events.
            +
            +
          • +
          + + + +
            +
          • +

            handlePrepareComplete

            +
            void handlePrepareComplete​(AdsMediaSource adsMediaSource,
            +                           int adGroupIndex,
            +                           int adIndexInAdGroup)
            +
            Notifies the ads loader that preparation of an ad media period is complete. Called on the main + thread by AdsMediaSource.
            +
            +
            Parameters:
            +
            adsMediaSource - The ads media source for which preparation of ad media completed.
            +
            adGroupIndex - The index of the ad group.
            +
            adIndexInAdGroup - The index of the ad in the ad group.
            +
            +
          • +
          + + + +
            +
          • +

            handlePrepareError

            +
            void handlePrepareError​(AdsMediaSource adsMediaSource,
            +                        int adGroupIndex,
            +                        int adIndexInAdGroup,
            +                        IOException exception)
            +
            Notifies the ads loader that the player was not able to prepare media for a given ad. + Implementations should update the ad playback state as the specified ad has failed to load. + Called on the main thread by AdsMediaSource.
            +
            +
            Parameters:
            +
            adsMediaSource - The ads media source for which preparation of ad media failed.
            +
            adGroupIndex - The index of the ad group.
            +
            adIndexInAdGroup - The index of the ad in the ad group.
            +
            exception - The preparation error.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html new file mode 100644 index 0000000000..dc5f19646e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.Type.html @@ -0,0 +1,189 @@ + + + + +AdsMediaSource.AdLoadException.Type (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AdsMediaSource.AdLoadException.Type

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html new file mode 100644 index 0000000000..e858ad6e31 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.AdLoadException.html @@ -0,0 +1,520 @@ + + + + +AdsMediaSource.AdLoadException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdsMediaSource.AdLoadException

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.html new file mode 100644 index 0000000000..783080725e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/AdsMediaSource.html @@ -0,0 +1,593 @@ + + + + +AdsMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdsMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html new file mode 100644 index 0000000000..21c1f87cd7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/SinglePeriodAdTimeline.html @@ -0,0 +1,391 @@ + + + + +SinglePeriodAdTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SinglePeriodAdTimeline

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SinglePeriodAdTimeline

            +
            public SinglePeriodAdTimeline​(Timeline contentTimeline,
            +                              AdPlaybackState adPlaybackState)
            +
            Creates a new timeline with a single period containing ads.
            +
            +
            Parameters:
            +
            contentTimeline - The timeline of the content alongside which ads will be played. It must + have one window and one period.
            +
            adPlaybackState - The state of the period's ads.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-frame.html new file mode 100644 index 0000000000..dad0f50f70 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-frame.html @@ -0,0 +1,47 @@ + + + + +com.google.android.exoplayer2.source.ads (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.ads

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-summary.html new file mode 100644 index 0000000000..2f269e496f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-summary.html @@ -0,0 +1,266 @@ + + + + +com.google.android.exoplayer2.source.ads (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.ads

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-tree.html new file mode 100644 index 0000000000..f2dd59d8d2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/ads/package-tree.html @@ -0,0 +1,206 @@ + + + + +com.google.android.exoplayer2.source.ads Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.ads

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html new file mode 100644 index 0000000000..3deee24ed7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunk.html @@ -0,0 +1,491 @@ + + + + +BaseMediaChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseMediaChunk

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            clippedStartTimeUs

            +
            public final long clippedStartTimeUs
            +
            The time from which output will begin, or C.TIME_UNSET if output will begin from the + start of the chunk.
            +
          • +
          + + + +
            +
          • +

            clippedEndTimeUs

            +
            public final long clippedEndTimeUs
            +
            The time from which output will end, or C.TIME_UNSET if output will end at the end of + the chunk.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseMediaChunk

            +
            public BaseMediaChunk​(DataSource dataSource,
            +                      DataSpec dataSpec,
            +                      Format trackFormat,
            +                      int trackSelectionReason,
            +                      @Nullable
            +                      Object trackSelectionData,
            +                      long startTimeUs,
            +                      long endTimeUs,
            +                      long clippedStartTimeUs,
            +                      long clippedEndTimeUs,
            +                      long chunkIndex)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            startTimeUs - The start time of the media contained by the chunk, in microseconds.
            +
            endTimeUs - The end time of the media contained by the chunk, in microseconds.
            +
            clippedStartTimeUs - The time in the chunk from which output will begin, or C.TIME_UNSET to output from the start of the chunk.
            +
            clippedEndTimeUs - The time in the chunk from which output will end, or C.TIME_UNSET to output to the end of the chunk.
            +
            chunkIndex - The index of the chunk, or C.INDEX_UNSET if it is not known.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            init

            +
            public void init​(BaseMediaChunkOutput output)
            +
            Initializes the chunk for loading, setting the BaseMediaChunkOutput that will receive + samples as they are loaded.
            +
            +
            Parameters:
            +
            output - The output that will receive the loaded media samples.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstSampleIndex

            +
            public final int getFirstSampleIndex​(int trackIndex)
            +
            Returns the index of the first sample in the specified track of the output that will originate + from this chunk.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkIterator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkIterator.html new file mode 100644 index 0000000000..1448e546c7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkIterator.html @@ -0,0 +1,436 @@ + + + + +BaseMediaChunkIterator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseMediaChunkIterator

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseMediaChunkIterator

            +
            public BaseMediaChunkIterator​(long fromIndex,
            +                              long toIndex)
            +
            Creates base iterator.
            +
            +
            Parameters:
            +
            fromIndex - The first available index.
            +
            toIndex - The last available index.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns whether the iteration has reached the end of the available data.
            +
            +
            Specified by:
            +
            isEnded in interface MediaChunkIterator
            +
            +
          • +
          + + + +
            +
          • +

            next

            +
            public boolean next()
            +
            Description copied from interface: MediaChunkIterator
            +
            Moves the iterator to the next media chunk. + +

            Check the return value or MediaChunkIterator.isEnded() to determine whether the iterator reached the + end of the available data.

            +
            +
            Specified by:
            +
            next in interface MediaChunkIterator
            +
            Returns:
            +
            Whether the iterator points to a media chunk with available data.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            checkInBounds

            +
            protected final void checkInBounds()
            +
            Verifies that the iterator points to a valid element.
            +
            +
            Throws:
            +
            NoSuchElementException - If the iterator does not point to a valid element.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentIndex

            +
            protected final long getCurrentIndex()
            +
            Returns the current index this iterator is pointing to.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html new file mode 100644 index 0000000000..216865aa26 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BaseMediaChunkOutput.html @@ -0,0 +1,367 @@ + + + + +BaseMediaChunkOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseMediaChunkOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.BaseMediaChunkOutput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseMediaChunkOutput

            +
            public BaseMediaChunkOutput​(int[] trackTypes,
            +                            SampleQueue[] sampleQueues)
            +
            +
            Parameters:
            +
            trackTypes - The track types of the individual track outputs.
            +
            sampleQueues - The individual sample queues.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getWriteIndices

            +
            public int[] getWriteIndices()
            +
            Returns the current absolute write indices of the individual sample queues.
            +
          • +
          + + + +
            +
          • +

            setSampleOffsetUs

            +
            public void setSampleOffsetUs​(long sampleOffsetUs)
            +
            Sets an offset that will be added to the timestamps (and sub-sample timestamps) of samples + subsequently written to the sample queues.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BundledChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BundledChunkExtractor.html new file mode 100644 index 0000000000..431f4efbd8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/BundledChunkExtractor.html @@ -0,0 +1,548 @@ + + + + +BundledChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BundledChunkExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BundledChunkExtractor

            +
            public BundledChunkExtractor​(Extractor extractor,
            +                             int primaryTrackType,
            +                             Format primaryTrackManifestFormat)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            extractor - The extractor to wrap.
            +
            primaryTrackType - The type of the primary track. Typically one of the C TRACK_TYPE_* constants.
            +
            primaryTrackManifestFormat - A manifest defined Format whose data should be merged + into any sample Format output from the Extractor for the primary track.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/Chunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/Chunk.html new file mode 100644 index 0000000000..8d383a04bf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/Chunk.html @@ -0,0 +1,591 @@ + + + + +Chunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            loadTaskId

            +
            public final long loadTaskId
            +
            Identifies the load task for this loadable.
            +
          • +
          + + + +
            +
          • +

            dataSpec

            +
            public final DataSpec dataSpec
            +
            The DataSpec that defines the data to be loaded.
            +
          • +
          + + + +
            +
          • +

            type

            +
            public final int type
            +
            The type of the chunk. One of the DATA_TYPE_* constants defined in C. For + reporting only.
            +
          • +
          + + + +
            +
          • +

            trackFormat

            +
            public final Format trackFormat
            +
            The format of the track to which this chunk belongs.
            +
          • +
          + + + +
            +
          • +

            trackSelectionReason

            +
            public final int trackSelectionReason
            +
            One of the C SELECTION_REASON_* constants if the chunk belongs to a track. + C.SELECTION_REASON_UNKNOWN if the chunk does not belong to a track, or if the selection + reason is unknown.
            +
          • +
          + + + +
            +
          • +

            trackSelectionData

            +
            @Nullable
            +public final Object trackSelectionData
            +
            Optional data associated with the selection of the track to which this chunk belongs. Null if + the chunk does not belong to a track, or if there is no associated track selection data.
            +
          • +
          + + + +
            +
          • +

            startTimeUs

            +
            public final long startTimeUs
            +
            The start time of the media contained by the chunk, or C.TIME_UNSET if the data + being loaded does not contain media samples.
            +
          • +
          + + + +
            +
          • +

            endTimeUs

            +
            public final long endTimeUs
            +
            The end time of the media contained by the chunk, or C.TIME_UNSET if the data being + loaded does not contain media samples.
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Chunk

            +
            public Chunk​(DataSource dataSource,
            +             DataSpec dataSpec,
            +             int type,
            +             Format trackFormat,
            +             int trackSelectionReason,
            +             @Nullable
            +             Object trackSelectionData,
            +             long startTimeUs,
            +             long endTimeUs)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            type - See type.
            +
            trackFormat - See trackFormat.
            +
            trackSelectionReason - See trackSelectionReason.
            +
            trackSelectionData - See trackSelectionData.
            +
            startTimeUs - See startTimeUs.
            +
            endTimeUs - See endTimeUs.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html new file mode 100644 index 0000000000..5cb803c3e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.TrackOutputProvider.html @@ -0,0 +1,271 @@ + + + + +ChunkExtractor.TrackOutputProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ChunkExtractor.TrackOutputProvider

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        BaseMediaChunkOutput
        +
        +
        +
        Enclosing interface:
        +
        ChunkExtractor
        +
        +
        +
        public static interface ChunkExtractor.TrackOutputProvider
        +
        Provides TrackOutput instances to be written to during extraction.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            track

            +
            TrackOutput track​(int id,
            +                  int type)
            +
            Called to get the TrackOutput for a specific track. + +

            The same TrackOutput is returned if multiple calls are made with the same + id.

            +
            +
            Parameters:
            +
            id - A track identifier.
            +
            type - The type of the track. Typically one of the C TRACK_TYPE_* + constants.
            +
            Returns:
            +
            The TrackOutput for the given track identifier.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.html new file mode 100644 index 0000000000..21b656a110 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkExtractor.html @@ -0,0 +1,374 @@ + + + + +ChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ChunkExtractor

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getChunkIndex

            +
            @Nullable
            +ChunkIndex getChunkIndex()
            +
            Returns the ChunkIndex most recently obtained from the chunks, or null if a ChunkIndex has not been obtained.
            +
          • +
          + + + +
            +
          • +

            getSampleFormats

            +
            @Nullable
            +Format[] getSampleFormats()
            +
            Returns the sample Formats for the tracks identified by the extractor, or null if the + extractor has not finished identifying tracks.
            +
          • +
          + + + +
            +
          • +

            init

            +
            void init​(@Nullable
            +          ChunkExtractor.TrackOutputProvider trackOutputProvider,
            +          long startTimeUs,
            +          long endTimeUs)
            +
            Initializes the wrapper to output to TrackOutputs provided by the specified ChunkExtractor.TrackOutputProvider, and configures the extractor to receive data from a new chunk.
            +
            +
            Parameters:
            +
            trackOutputProvider - The provider of TrackOutputs that will receive sample data.
            +
            startTimeUs - The start position in the new chunk, or C.TIME_UNSET to output + samples from the start of the chunk.
            +
            endTimeUs - The end position in the new chunk, or C.TIME_UNSET to output samples + to the end of the chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            void release()
            +
            Releases any held resources.
            +
          • +
          + + + +
            +
          • +

            read

            +
            boolean read​(ExtractorInput input)
            +      throws IOException
            +
            Reads from the given ExtractorInput.
            +
            +
            Parameters:
            +
            input - The input to read from.
            +
            Returns:
            +
            Whether there is any data left to extract. Returns false if the end of input has been + reached.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkHolder.html new file mode 100644 index 0000000000..bb4a9ed0bc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkHolder.html @@ -0,0 +1,361 @@ + + + + +ChunkHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChunkHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.ChunkHolder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ChunkHolder
        +extends Object
        +
        Holds a chunk or an indication that the end of the stream has been reached.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            chunk

            +
            @Nullable
            +public Chunk chunk
            +
            The chunk.
            +
          • +
          + + + +
            +
          • +

            endOfStream

            +
            public boolean endOfStream
            +
            Indicates that the end of the stream has been reached.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ChunkHolder

            +
            public ChunkHolder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears the holder.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.EmbeddedSampleStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.EmbeddedSampleStream.html new file mode 100644 index 0000000000..b987d40320 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.EmbeddedSampleStream.html @@ -0,0 +1,484 @@ + + + + +ChunkSampleStream.EmbeddedSampleStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChunkSampleStream.EmbeddedSampleStream

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            skipData

            +
            public int skipData​(long positionUs)
            +
            Description copied from interface: SampleStream
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
            +
            +
            Specified by:
            +
            skipData in interface SampleStream
            +
            Parameters:
            +
            positionUs - The specified time.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +
            Description copied from interface: SampleStream
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Specified by:
            +
            maybeThrowError in interface SampleStream
            +
            +
          • +
          + + + +
            +
          • +

            readData

            +
            public int readData​(FormatHolder formatHolder,
            +                    DecoderInputBuffer buffer,
            +                    boolean formatRequired)
            +
            Description copied from interface: SampleStream
            +
            Attempts to read from the stream. + +

            If the stream has ended then C.BUFFER_FLAG_END_OF_STREAM flag is set on + buffer and C.RESULT_BUFFER_READ is returned. Else if no data is available then C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if + formatRequired is set then formatHolder is populated and C.RESULT_FORMAT_READ + is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

            +
            +
            Specified by:
            +
            readData in interface SampleStream
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, then no DecoderInputBuffer.data will be read and the read position of the stream will not change, + but the flags of the buffer will be populated.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            Returns:
            +
            The status of read, one of SampleStream.ReadDataResult.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html new file mode 100644 index 0000000000..abf622cad5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.ReleaseCallback.html @@ -0,0 +1,258 @@ + + + + +ChunkSampleStream.ReleaseCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ChunkSampleStream.ReleaseCallback<T extends ChunkSource>

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ChunkSampleStream<T extends ChunkSource>
        +
        +
        +
        public static interface ChunkSampleStream.ReleaseCallback<T extends ChunkSource>
        +
        A callback to be notified when a sample stream has finished being released.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSampleStreamReleased

            +
            void onSampleStreamReleased​(ChunkSampleStream<T> chunkSampleStream)
            +
            Called when the ChunkSampleStream has finished being released.
            +
            +
            Parameters:
            +
            chunkSampleStream - The released sample stream.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html new file mode 100644 index 0000000000..3375aeb5c6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html @@ -0,0 +1,968 @@ + + + + +ChunkSampleStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ChunkSampleStream<T extends ChunkSource>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.ChunkSampleStream<T>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            primaryTrackType

            +
            public final int primaryTrackType
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Discards buffered media up to the specified position.
            +
            +
            Parameters:
            +
            positionUs - The position to discard up to, in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getChunkSource

            +
            public T getChunkSource()
            +
            Returns the ChunkSource used by this stream.
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Returns an estimate of the position up to which data is buffered.
            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Adjusts a seek position given the specified SeekParameters. Chunk boundaries are used + as sync points.
            +
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed.
            +
            Returns:
            +
            The adjusted seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public void seekToUs​(long positionUs)
            +
            Seeks to the specified position in microseconds.
            +
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Releases the stream. + +

            This method should be called when the stream is no longer required. Either this method or + release(ReleaseCallback) can be used to release this stream.

            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release​(@Nullable
            +                    ChunkSampleStream.ReleaseCallback<T> callback)
            +
            Releases the stream. + +

            This method should be called when the stream is no longer required. Either this method or + release() can be used to release this stream.

            +
            +
            Parameters:
            +
            callback - An optional callback to be called on the loading thread once the loader has + been released.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +                     throws IOException
            +
            Description copied from interface: SampleStream
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Specified by:
            +
            maybeThrowError in interface SampleStream
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            readData

            +
            public int readData​(FormatHolder formatHolder,
            +                    DecoderInputBuffer buffer,
            +                    boolean formatRequired)
            +
            Description copied from interface: SampleStream
            +
            Attempts to read from the stream. + +

            If the stream has ended then C.BUFFER_FLAG_END_OF_STREAM flag is set on + buffer and C.RESULT_BUFFER_READ is returned. Else if no data is available then C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if + formatRequired is set then formatHolder is populated and C.RESULT_FORMAT_READ + is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

            +
            +
            Specified by:
            +
            readData in interface SampleStream
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, then no DecoderInputBuffer.data will be read and the read position of the stream will not change, + but the flags of the buffer will be populated.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            Returns:
            +
            The status of read, one of SampleStream.ReadDataResult.
            +
            +
          • +
          + + + +
            +
          • +

            skipData

            +
            public int skipData​(long positionUs)
            +
            Description copied from interface: SampleStream
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
            +
            +
            Specified by:
            +
            skipData in interface SampleStream
            +
            Parameters:
            +
            positionUs - The specified time.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            continueLoading

            +
            public boolean continueLoading​(long positionUs)
            +
            Description copied from interface: SequenceableLoader
            +
            Attempts to continue loading.
            +
            +
            Specified by:
            +
            continueLoading in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of the period to + which this loader belongs has not yet started, the value will be the starting position + in the period minus the duration of any media in previous periods still to be played.
            +
            Returns:
            +
            True if progress was made, meaning that SequenceableLoader.getNextLoadPositionUs() will return + a different value than prior to the call. False otherwise.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: SequenceableLoader
            +
            Re-evaluates the buffer given the playback position. + +

            Re-evaluation may discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSource.html new file mode 100644 index 0000000000..72021c4c69 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ChunkSource.html @@ -0,0 +1,469 @@ + + + + +ChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ChunkSource

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            long getAdjustedSeekPositionUs​(long positionUs,
            +                               SeekParameters seekParameters)
            +
            Adjusts a seek position given the specified SeekParameters. Chunk boundaries are used + as sync points.
            +
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed.
            +
            Returns:
            +
            The adjusted seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            void maybeThrowError()
            +              throws IOException
            +
            If the source is currently having difficulty providing chunks, then this method throws the + underlying error. Otherwise does nothing.
            +
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredQueueSize

            +
            int getPreferredQueueSize​(long playbackPositionUs,
            +                          List<? extends MediaChunk> queue)
            +
            Evaluates whether MediaChunks should be removed from the back of the queue. + +

            Removing MediaChunks from the back of the queue can be useful if they could be + replaced with chunks of a significantly higher quality (e.g. because the available bandwidth + has substantially increased). + +

            Will only be called if no MediaChunk in the queue is currently loading.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            The preferred queue size.
            +
            +
          • +
          + + + +
            +
          • +

            shouldCancelLoad

            +
            boolean shouldCancelLoad​(long playbackPositionUs,
            +                         Chunk loadingChunk,
            +                         List<? extends MediaChunk> queue)
            +
            Returns whether an ongoing load of a chunk should be canceled.
            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            loadingChunk - The currently loading Chunk.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            Whether the ongoing load of loadingChunk should be canceled.
            +
            +
          • +
          + + + +
            +
          • +

            getNextChunk

            +
            void getNextChunk​(long playbackPositionUs,
            +                  long loadPositionUs,
            +                  List<? extends MediaChunk> queue,
            +                  ChunkHolder out)
            +
            Returns the next chunk to load. + +

            If a chunk is available then ChunkHolder.chunk is set. If the end of the stream has + been reached then ChunkHolder.endOfStream is set. If a chunk is not available but the + end of the stream has not been reached, the ChunkHolder is not modified.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this chunk source belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            loadPositionUs - The current load position in microseconds. If queue is empty, + this is the starting position from which chunks should be provided. Else it's equal to + Chunk.endTimeUs of the last chunk in the queue.
            +
            queue - The queue of buffered MediaChunks.
            +
            out - A holder to populate.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadCompleted

            +
            void onChunkLoadCompleted​(Chunk chunk)
            +
            Called when the ChunkSampleStream has finished loading a chunk obtained from this + source.
            +
            +
            Parameters:
            +
            chunk - The chunk whose load has been completed.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadError

            +
            boolean onChunkLoadError​(Chunk chunk,
            +                         boolean cancelable,
            +                         Exception e,
            +                         long exclusionDurationMs)
            +
            Called when the ChunkSampleStream encounters an error loading a chunk obtained from + this source.
            +
            +
            Parameters:
            +
            chunk - The chunk whose load encountered the error.
            +
            cancelable - Whether the load can be canceled.
            +
            e - The error.
            +
            exclusionDurationMs - The duration for which the associated track may be excluded, or + C.TIME_UNSET if the track may not be excluded.
            +
            Returns:
            +
            Whether the load should be canceled so that a replacement chunk can be loaded instead. + Must be false if cancelable is false. If true, getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement + chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            void release()
            +
            Releases any held resources.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ContainerMediaChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ContainerMediaChunk.html new file mode 100644 index 0000000000..c3a9752000 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/ContainerMediaChunk.html @@ -0,0 +1,512 @@ + + + + +ContainerMediaChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ContainerMediaChunk

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ContainerMediaChunk

            +
            public ContainerMediaChunk​(DataSource dataSource,
            +                           DataSpec dataSpec,
            +                           Format trackFormat,
            +                           int trackSelectionReason,
            +                           @Nullable
            +                           Object trackSelectionData,
            +                           long startTimeUs,
            +                           long endTimeUs,
            +                           long clippedStartTimeUs,
            +                           long clippedEndTimeUs,
            +                           long chunkIndex,
            +                           int chunkCount,
            +                           long sampleOffsetUs,
            +                           ChunkExtractor chunkExtractor)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            startTimeUs - The start time of the media contained by the chunk, in microseconds.
            +
            endTimeUs - The end time of the media contained by the chunk, in microseconds.
            +
            clippedStartTimeUs - The time in the chunk from which output will begin, or C.TIME_UNSET to output from the start of the chunk.
            +
            clippedEndTimeUs - The time in the chunk from which output will end, or C.TIME_UNSET to output to the end of the chunk.
            +
            chunkIndex - The index of the chunk, or C.INDEX_UNSET if it is not known.
            +
            chunkCount - The number of chunks in the underlying media that are spanned by this + instance. Normally equal to one, but may be larger if multiple chunks as defined by the + underlying media are being merged into a single load.
            +
            sampleOffsetUs - An offset to add to the sample timestamps parsed by the extractor.
            +
            chunkExtractor - A wrapped extractor to use for parsing the data.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html new file mode 100644 index 0000000000..b8d1c143ff --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html @@ -0,0 +1,447 @@ + + + + +DataChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataChunk

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Loader.Loadable
        +
        +
        +
        public abstract class DataChunk
        +extends Chunk
        +
        A base class for Chunk implementations where the data should be loaded into a + byte[] before being consumed.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DataChunk

            +
            public DataChunk​(DataSource dataSource,
            +                 DataSpec dataSpec,
            +                 int type,
            +                 Format trackFormat,
            +                 int trackSelectionReason,
            +                 @Nullable
            +                 Object trackSelectionData,
            +                 @Nullable
            +                 byte[] data)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            type - See Chunk.type.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            data - An optional recycled array that can be used as a holder for the data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getDataHolder

            +
            public byte[] getDataHolder()
            +
            Returns the array in which the data is held. + +

            This method should be used for recycling the holder only, and not for reading the data.

            +
            +
            Returns:
            +
            The array in which the data is held.
            +
            +
          • +
          + + + +
            +
          • +

            cancelLoad

            +
            public final void cancelLoad()
            +
            Description copied from interface: Loader.Loadable
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing Loader.Loadable.load() call + will exit reasonably quickly after this method is called. The Loader.Loadable.load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing Loader.Loadable.load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in Loader.Loadable.load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
          • +
          + + + +
            +
          • +

            load

            +
            public final void load()
            +                throws IOException
            +
            Description copied from interface: Loader.Loadable
            +
            Performs the load, returning on completion or cancellation.
            +
            +
            Throws:
            +
            IOException - If the input could not be loaded.
            +
            +
          • +
          + + + +
            +
          • +

            consume

            +
            protected abstract void consume​(byte[] data,
            +                                int limit)
            +                         throws IOException
            +
            Called by load(). Implementations should override this method to consume the loaded + data.
            +
            +
            Parameters:
            +
            data - An array containing the data.
            +
            limit - The limit of the data.
            +
            Throws:
            +
            IOException - If an error occurs consuming the loaded data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/InitializationChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/InitializationChunk.html new file mode 100644 index 0000000000..e7a5b1b0d5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/InitializationChunk.html @@ -0,0 +1,415 @@ + + + + +InitializationChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class InitializationChunk

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Loader.Loadable
        +
        +
        +
        public final class InitializationChunk
        +extends Chunk
        +
        A Chunk that uses an Extractor to decode initialization data for single track.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            InitializationChunk

            +
            public InitializationChunk​(DataSource dataSource,
            +                           DataSpec dataSpec,
            +                           Format trackFormat,
            +                           int trackSelectionReason,
            +                           @Nullable
            +                           Object trackSelectionData,
            +                           ChunkExtractor chunkExtractor)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            chunkExtractor - A wrapped extractor to use for parsing the initialization data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            cancelLoad

            +
            public void cancelLoad()
            +
            Description copied from interface: Loader.Loadable
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing Loader.Loadable.load() call + will exit reasonably quickly after this method is called. The Loader.Loadable.load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing Loader.Loadable.load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in Loader.Loadable.load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
          • +
          + + + +
            +
          • +

            load

            +
            public void load()
            +          throws IOException
            +
            Description copied from interface: Loader.Loadable
            +
            Performs the load, returning on completion or cancellation.
            +
            +
            Throws:
            +
            IOException - If the input could not be loaded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunk.html new file mode 100644 index 0000000000..6d3d11f2d0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunk.html @@ -0,0 +1,420 @@ + + + + +MediaChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaChunk

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            chunkIndex

            +
            public final long chunkIndex
            +
            The chunk index, or C.INDEX_UNSET if it is not known.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaChunk

            +
            public MediaChunk​(DataSource dataSource,
            +                  DataSpec dataSpec,
            +                  Format trackFormat,
            +                  int trackSelectionReason,
            +                  @Nullable
            +                  Object trackSelectionData,
            +                  long startTimeUs,
            +                  long endTimeUs,
            +                  long chunkIndex)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            startTimeUs - The start time of the media contained by the chunk, in microseconds.
            +
            endTimeUs - The end time of the media contained by the chunk, in microseconds.
            +
            chunkIndex - The index of the chunk, or C.INDEX_UNSET if it is not known.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getNextChunkIndex

            +
            public long getNextChunkIndex()
            +
            Returns the next chunk index or C.INDEX_UNSET if it is not known.
            +
          • +
          + + + +
            +
          • +

            isLoadCompleted

            +
            public abstract boolean isLoadCompleted()
            +
            Returns whether the chunk has been fully loaded.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html new file mode 100644 index 0000000000..834590b498 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaChunkIterator.html @@ -0,0 +1,406 @@ + + + + +MediaChunkIterator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaChunkIterator

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static MediaChunkIteratorEMPTY +
          An empty media chunk iterator without available data.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          longgetChunkEndTimeUs() +
          Returns the media end time of the chunk, in microseconds.
          +
          longgetChunkStartTimeUs() +
          Returns the media start time of the chunk, in microseconds.
          +
          DataSpecgetDataSpec() +
          Returns the DataSpec used to load the media chunk.
          +
          booleanisEnded() +
          Returns whether the iteration has reached the end of the available data.
          +
          booleannext() +
          Moves the iterator to the next media chunk.
          +
          voidreset() +
          Resets the iterator to the initial position.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EMPTY

            +
            static final MediaChunkIterator EMPTY
            +
            An empty media chunk iterator without available data.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isEnded

            +
            boolean isEnded()
            +
            Returns whether the iteration has reached the end of the available data.
            +
          • +
          + + + +
            +
          • +

            next

            +
            boolean next()
            +
            Moves the iterator to the next media chunk. + +

            Check the return value or isEnded() to determine whether the iterator reached the + end of the available data.

            +
            +
            Returns:
            +
            Whether the iterator points to a media chunk with available data.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getChunkStartTimeUs

            +
            long getChunkStartTimeUs()
            +
            Returns the media start time of the chunk, in microseconds.
            +
            +
            Throws:
            +
            NoSuchElementException - If the method is called before the first call to + next() or when isEnded() is true.
            +
            +
          • +
          + + + +
            +
          • +

            getChunkEndTimeUs

            +
            long getChunkEndTimeUs()
            +
            Returns the media end time of the chunk, in microseconds.
            +
            +
            Throws:
            +
            NoSuchElementException - If the method is called before the first call to + next() or when isEnded() is true.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            void reset()
            +
            Resets the iterator to the initial position.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html new file mode 100644 index 0000000000..ba12a4d733 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html @@ -0,0 +1,453 @@ + + + + +MediaParserChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaParserChunkExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaParserChunkExtractor

            +
            public MediaParserChunkExtractor​(int primaryTrackType,
            +                                 Format manifestFormat,
            +                                 List<Format> closedCaptionFormats)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            primaryTrackType - The type of the primary track, or C.TRACK_TYPE_NONE if there is + no primary track. Must be one of the C.TRACK_TYPE_* constants.
            +
            manifestFormat - The chunks Format as obtained from the manifest.
            +
            closedCaptionFormats - A list containing the Formats of the closed-caption + tracks in the chunks.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            init

            +
            public void init​(@Nullable
            +                 ChunkExtractor.TrackOutputProvider trackOutputProvider,
            +                 long startTimeUs,
            +                 long endTimeUs)
            +
            Description copied from interface: ChunkExtractor
            +
            Initializes the wrapper to output to TrackOutputs provided by the specified ChunkExtractor.TrackOutputProvider, and configures the extractor to receive data from a new chunk.
            +
            +
            Specified by:
            +
            init in interface ChunkExtractor
            +
            Parameters:
            +
            trackOutputProvider - The provider of TrackOutputs that will receive sample data.
            +
            startTimeUs - The start position in the new chunk, or C.TIME_UNSET to output + samples from the start of the chunk.
            +
            endTimeUs - The end position in the new chunk, or C.TIME_UNSET to output samples + to the end of the chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: ChunkExtractor
            +
            Releases any held resources.
            +
            +
            Specified by:
            +
            release in interface ChunkExtractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public boolean read​(ExtractorInput extractorInput)
            +             throws IOException
            +
            Description copied from interface: ChunkExtractor
            +
            Reads from the given ExtractorInput.
            +
            +
            Specified by:
            +
            read in interface ChunkExtractor
            +
            Parameters:
            +
            extractorInput - The input to read from.
            +
            Returns:
            +
            Whether there is any data left to extract. Returns false if the end of input has been + reached.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getSampleFormats

            +
            @Nullable
            +public Format[] getSampleFormats()
            +
            Description copied from interface: ChunkExtractor
            +
            Returns the sample Formats for the tracks identified by the extractor, or null if the + extractor has not finished identifying tracks.
            +
            +
            Specified by:
            +
            getSampleFormats in interface ChunkExtractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html new file mode 100644 index 0000000000..14396511cf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/SingleSampleMediaChunk.html @@ -0,0 +1,464 @@ + + + + +SingleSampleMediaChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SingleSampleMediaChunk

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SingleSampleMediaChunk

            +
            public SingleSampleMediaChunk​(DataSource dataSource,
            +                              DataSpec dataSpec,
            +                              Format trackFormat,
            +                              int trackSelectionReason,
            +                              @Nullable
            +                              Object trackSelectionData,
            +                              long startTimeUs,
            +                              long endTimeUs,
            +                              long chunkIndex,
            +                              int trackType,
            +                              Format sampleFormat)
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            dataSpec - Defines the data to be loaded.
            +
            trackFormat - See Chunk.trackFormat.
            +
            trackSelectionReason - See Chunk.trackSelectionReason.
            +
            trackSelectionData - See Chunk.trackSelectionData.
            +
            startTimeUs - The start time of the media contained by the chunk, in microseconds.
            +
            endTimeUs - The end time of the media contained by the chunk, in microseconds.
            +
            chunkIndex - The index of the chunk, or C.INDEX_UNSET if it is not known.
            +
            trackType - The type of the chunk. Typically one of the C TRACK_TYPE_* + constants.
            +
            sampleFormat - The Format of the sample in the chunk.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isLoadCompleted

            +
            public boolean isLoadCompleted()
            +
            Description copied from class: MediaChunk
            +
            Returns whether the chunk has been fully loaded.
            +
            +
            Specified by:
            +
            isLoadCompleted in class MediaChunk
            +
            +
          • +
          + + + +
            +
          • +

            cancelLoad

            +
            public void cancelLoad()
            +
            Description copied from interface: Loader.Loadable
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing Loader.Loadable.load() call + will exit reasonably quickly after this method is called. The Loader.Loadable.load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing Loader.Loadable.load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in Loader.Loadable.load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
          • +
          + + + +
            +
          • +

            load

            +
            public void load()
            +          throws IOException
            +
            Description copied from interface: Loader.Loadable
            +
            Performs the load, returning on completion or cancellation.
            +
            +
            Throws:
            +
            IOException - If the input could not be loaded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-frame.html new file mode 100644 index 0000000000..564502c0a3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-frame.html @@ -0,0 +1,47 @@ + + + + +com.google.android.exoplayer2.source.chunk (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.chunk

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-summary.html new file mode 100644 index 0000000000..f23ab5eca6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-summary.html @@ -0,0 +1,284 @@ + + + + +com.google.android.exoplayer2.source.chunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.chunk

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-tree.html new file mode 100644 index 0000000000..d1d1f5a101 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/chunk/package-tree.html @@ -0,0 +1,191 @@ + + + + +com.google.android.exoplayer2.source.chunk Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.chunk

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.Factory.html new file mode 100644 index 0000000000..ccb556f5bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.Factory.html @@ -0,0 +1,294 @@ + + + + +DashChunkSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DashChunkSource.Factory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createDashChunkSource

            +
            DashChunkSource createDashChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                                      DashManifest manifest,
            +                                      int periodIndex,
            +                                      int[] adaptationSetIndices,
            +                                      ExoTrackSelection trackSelection,
            +                                      int type,
            +                                      long elapsedRealtimeOffsetMs,
            +                                      boolean enableEventMessageTrack,
            +                                      List<Format> closedCaptionFormats,
            +                                      @Nullable
            +                                      PlayerEmsgHandler.PlayerTrackEmsgHandler playerEmsgHandler,
            +                                      @Nullable
            +                                      TransferListener transferListener)
            +
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            periodIndex - The index of the corresponding period in the manifest.
            +
            adaptationSetIndices - The indices of the corresponding adaptation sets in the period.
            +
            trackSelection - The track selection.
            +
            elapsedRealtimeOffsetMs - If known, an estimate of the instantaneous difference between + server-side unix time and SystemClock.elapsedRealtime() in milliseconds, + specified as the server's unix time minus the local elapsed time. Or C.TIME_UNSET if unknown.
            +
            enableEventMessageTrack - Whether to output an event message track.
            +
            closedCaptionFormats - The Formats of closed caption tracks to be output.
            +
            transferListener - The transfer listener which should be informed of any data transfers. + May be null if no listener is available.
            +
            Returns:
            +
            The created DashChunkSource.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.html new file mode 100644 index 0000000000..cd99eb5d35 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashChunkSource.html @@ -0,0 +1,316 @@ + + + + +DashChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DashChunkSource

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateManifest

            +
            void updateManifest​(DashManifest newManifest,
            +                    int periodIndex)
            +
            Updates the manifest.
            +
            +
            Parameters:
            +
            newManifest - The new manifest.
            +
            +
          • +
          + + + +
            +
          • +

            updateTrackSelection

            +
            void updateTrackSelection​(ExoTrackSelection trackSelection)
            +
            Updates the track selection.
            +
            +
            Parameters:
            +
            trackSelection - The new track selection instance. Must be equivalent to the previous one.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashManifestStaleException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashManifestStaleException.html new file mode 100644 index 0000000000..1004f442f2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashManifestStaleException.html @@ -0,0 +1,293 @@ + + + + +DashManifestStaleException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashManifestStaleException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class DashManifestStaleException
        +extends IOException
        +
        Thrown when a live playback's manifest is stale and a new manifest could not be loaded.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DashManifestStaleException

            +
            public DashManifestStaleException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.Factory.html new file mode 100644 index 0000000000..d48787b85c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.Factory.html @@ -0,0 +1,775 @@ + + + + +DashMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.html new file mode 100644 index 0000000000..12c411dc4d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashMediaSource.html @@ -0,0 +1,596 @@ + + + + +DashMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashSegmentIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashSegmentIndex.html new file mode 100644 index 0000000000..e4d34c84d4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashSegmentIndex.html @@ -0,0 +1,532 @@ + + + + +DashSegmentIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DashSegmentIndex

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static intINDEX_UNBOUNDED 
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          intgetAvailableSegmentCount​(long periodDurationUs, + long nowUnixTimeUs) +
          Returns the number of available segments in the index.
          +
          longgetDurationUs​(long segmentNum, + long periodDurationUs) +
          Returns the duration of a segment.
          +
          longgetFirstAvailableSegmentNum​(long periodDurationUs, + long nowUnixTimeUs) +
          Returns the segment number of the first available segment in the index.
          +
          longgetFirstSegmentNum() +
          Returns the segment number of the first defined segment in the index.
          +
          longgetNextSegmentAvailableTimeUs​(long periodDurationUs, + long nowUnixTimeUs) +
          Returns the time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
          +
          intgetSegmentCount​(long periodDurationUs) +
          Returns the number of segments defined in the index, or INDEX_UNBOUNDED.
          +
          longgetSegmentNum​(long timeUs, + long periodDurationUs) +
          Returns getFirstSegmentNum() if the index has no segments or if the given media time is + earlier than the start of the first segment.
          +
          RangedUrigetSegmentUrl​(long segmentNum) +
          Returns a RangedUri defining the location of a segment.
          +
          longgetTimeUs​(long segmentNum) +
          Returns the start time of a segment.
          +
          booleanisExplicit() +
          Returns true if segments are defined explicitly by the index.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSegmentNum

            +
            long getSegmentNum​(long timeUs,
            +                   long periodDurationUs)
            +
            Returns getFirstSegmentNum() if the index has no segments or if the given media time is + earlier than the start of the first segment. Returns getFirstSegmentNum() + + getSegmentCount() - 1 if the given media time is later than the end of the last segment. + Otherwise, returns the segment number of the segment containing the given media time.
            +
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The segment number of the corresponding segment.
            +
            +
          • +
          + + + +
            +
          • +

            getTimeUs

            +
            long getTimeUs​(long segmentNum)
            +
            Returns the start time of a segment.
            +
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            Returns:
            +
            The corresponding start time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            long getDurationUs​(long segmentNum,
            +                   long periodDurationUs)
            +
            Returns the duration of a segment.
            +
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The duration of the segment, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentUrl

            +
            RangedUri getSegmentUrl​(long segmentNum)
            +
            Returns a RangedUri defining the location of a segment.
            +
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            Returns:
            +
            The RangedUri defining the location of the data.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstSegmentNum

            +
            long getFirstSegmentNum()
            +
            Returns the segment number of the first defined segment in the index.
            +
          • +
          + + + +
            +
          • +

            getFirstAvailableSegmentNum

            +
            long getFirstAvailableSegmentNum​(long periodDurationUs,
            +                                 long nowUnixTimeUs)
            +
            Returns the segment number of the first available segment in the index.
            +
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of the first available segment.
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentCount

            +
            int getSegmentCount​(long periodDurationUs)
            +
            Returns the number of segments defined in the index, or INDEX_UNBOUNDED. + +

            An unbounded index occurs if a dynamic manifest uses SegmentTemplate elements without a + SegmentTimeline element, and if the period duration is not yet known. In this case the caller + can query the available segment using getFirstAvailableSegmentNum(long, long) and + getAvailableSegmentCount(long, long).

            +
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The number of segments in the index, or INDEX_UNBOUNDED.
            +
            +
          • +
          + + + +
            +
          • +

            getAvailableSegmentCount

            +
            int getAvailableSegmentCount​(long periodDurationUs,
            +                             long nowUnixTimeUs)
            +
            Returns the number of available segments in the index.
            +
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of available segments in the index.
            +
            +
          • +
          + + + +
            +
          • +

            getNextSegmentAvailableTimeUs

            +
            long getNextSegmentAvailableTimeUs​(long periodDurationUs,
            +                                   long nowUnixTimeUs)
            +
            Returns the time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
          • +
          + + + +
            +
          • +

            isExplicit

            +
            boolean isExplicit()
            +
            Returns true if segments are defined explicitly by the index. + +

            If true is returned, each segment is defined explicitly by the index data, and all of the + listed segments are guaranteed to be available at the time when the index was obtained. + +

            If false is returned then segment information was derived from properties such as a fixed + segment duration. If the presentation is dynamic, it's possible that only a subset of the + segments are available.

            +
            +
            Returns:
            +
            Whether segments are defined explicitly by the index.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashUtil.html new file mode 100644 index 0000000000..2feb9a0b8a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashUtil.html @@ -0,0 +1,404 @@ + + + + +DashUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DashUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DashUtil
        +extends Object
        +
        Utility methods for DASH streams.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            loadManifest

            +
            public static DashManifest loadManifest​(DataSource dataSource,
            +                                        Uri uri)
            +                                 throws IOException
            +
            Loads a DASH manifest.
            +
            +
            Parameters:
            +
            dataSource - The HttpDataSource from which the manifest should be read.
            +
            uri - The Uri of the manifest to be read.
            +
            Returns:
            +
            An instance of DashManifest.
            +
            Throws:
            +
            IOException - Thrown when there is an error while loading.
            +
            +
          • +
          + + + +
            +
          • +

            loadFormatWithDrmInitData

            +
            @Nullable
            +public static Format loadFormatWithDrmInitData​(DataSource dataSource,
            +                                               Period period)
            +                                        throws IOException
            +
            Loads a Format for acquiring keys for a given period in a DASH manifest.
            +
            +
            Parameters:
            +
            dataSource - The HttpDataSource from which data should be loaded.
            +
            period - The Period.
            +
            Returns:
            +
            The loaded Format, or null if none is defined.
            +
            Throws:
            +
            IOException - Thrown when there is an error while loading.
            +
            +
          • +
          + + + +
            +
          • +

            loadSampleFormat

            +
            @Nullable
            +public static Format loadSampleFormat​(DataSource dataSource,
            +                                      int trackType,
            +                                      Representation representation)
            +                               throws IOException
            +
            Loads initialization data for the representation and returns the sample Format.
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            trackType - The type of the representation. Typically one of the C TRACK_TYPE_* constants.
            +
            representation - The representation which initialization chunk belongs to.
            +
            Returns:
            +
            the sample Format of the given representation.
            +
            Throws:
            +
            IOException - Thrown when there is an error while loading.
            +
            +
          • +
          + + + +
            +
          • +

            loadChunkIndex

            +
            @Nullable
            +public static ChunkIndex loadChunkIndex​(DataSource dataSource,
            +                                        int trackType,
            +                                        Representation representation)
            +                                 throws IOException
            +
            Loads initialization and index data for the representation and returns the ChunkIndex.
            +
            +
            Parameters:
            +
            dataSource - The source from which the data should be loaded.
            +
            trackType - The type of the representation. Typically one of the C TRACK_TYPE_* constants.
            +
            representation - The representation which initialization chunk belongs to.
            +
            Returns:
            +
            The ChunkIndex of the given representation, or null if no initialization or + index data exists.
            +
            Throws:
            +
            IOException - Thrown when there is an error while loading.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashWrappingSegmentIndex.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashWrappingSegmentIndex.html new file mode 100644 index 0000000000..428e892bcf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DashWrappingSegmentIndex.html @@ -0,0 +1,598 @@ + + + + +DashWrappingSegmentIndex (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashWrappingSegmentIndex

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DashWrappingSegmentIndex

            +
            public DashWrappingSegmentIndex​(ChunkIndex chunkIndex,
            +                                long timeOffsetUs)
            +
            +
            Parameters:
            +
            chunkIndex - The ChunkIndex to wrap.
            +
            timeOffsetUs - An offset to subtract from the times in the wrapped index, in microseconds.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getFirstSegmentNum

            +
            public long getFirstSegmentNum()
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the segment number of the first defined segment in the index.
            +
            +
            Specified by:
            +
            getFirstSegmentNum in interface DashSegmentIndex
            +
            +
          • +
          + + + +
            +
          • +

            getFirstAvailableSegmentNum

            +
            public long getFirstAvailableSegmentNum​(long periodDurationUs,
            +                                        long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the segment number of the first available segment in the index.
            +
            +
            Specified by:
            +
            getFirstAvailableSegmentNum in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of the first available segment.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAvailableSegmentCount

            +
            public int getAvailableSegmentCount​(long periodDurationUs,
            +                                    long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the number of available segments in the index.
            +
            +
            Specified by:
            +
            getAvailableSegmentCount in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of available segments in the index.
            +
            +
          • +
          + + + +
            +
          • +

            getNextSegmentAvailableTimeUs

            +
            public long getNextSegmentAvailableTimeUs​(long periodDurationUs,
            +                                          long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
            Specified by:
            +
            getNextSegmentAvailableTimeUs in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
          • +
          + + + +
            +
          • +

            getTimeUs

            +
            public long getTimeUs​(long segmentNum)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the start time of a segment.
            +
            +
            Specified by:
            +
            getTimeUs in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            Returns:
            +
            The corresponding start time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs​(long segmentNum,
            +                          long periodDurationUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the duration of a segment.
            +
            +
            Specified by:
            +
            getDurationUs in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The duration of the segment, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentUrl

            +
            public RangedUri getSegmentUrl​(long segmentNum)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns a RangedUri defining the location of a segment.
            +
            +
            Specified by:
            +
            getSegmentUrl in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentNum - The segment number.
            +
            Returns:
            +
            The RangedUri defining the location of the data.
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentNum

            +
            public long getSegmentNum​(long timeUs,
            +                          long periodDurationUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns getFirstSegmentNum() if the index has no segments or if the given media time is + earlier than the start of the first segment. Returns getFirstSegmentNum() + + getSegmentCount() - 1 if the given media time is later than the end of the last segment. + Otherwise, returns the segment number of the segment containing the given media time.
            +
            +
            Specified by:
            +
            getSegmentNum in interface DashSegmentIndex
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The segment number of the corresponding segment.
            +
            +
          • +
          + + + +
            +
          • +

            isExplicit

            +
            public boolean isExplicit()
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns true if segments are defined explicitly by the index. + +

            If true is returned, each segment is defined explicitly by the index data, and all of the + listed segments are guaranteed to be available at the time when the index was obtained. + +

            If false is returned then segment information was derived from properties such as a fixed + segment duration. If the presentation is dynamic, it's possible that only a subset of the + segments are available.

            +
            +
            Specified by:
            +
            isExplicit in interface DashSegmentIndex
            +
            Returns:
            +
            Whether segments are defined explicitly by the index.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.Factory.html new file mode 100644 index 0000000000..07b01e4586 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.Factory.html @@ -0,0 +1,363 @@ + + + + +DefaultDashChunkSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDashChunkSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createDashChunkSource

            +
            public DashChunkSource createDashChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                                             DashManifest manifest,
            +                                             int periodIndex,
            +                                             int[] adaptationSetIndices,
            +                                             ExoTrackSelection trackSelection,
            +                                             int trackType,
            +                                             long elapsedRealtimeOffsetMs,
            +                                             boolean enableEventMessageTrack,
            +                                             List<Format> closedCaptionFormats,
            +                                             @Nullable
            +                                             PlayerEmsgHandler.PlayerTrackEmsgHandler playerEmsgHandler,
            +                                             @Nullable
            +                                             TransferListener transferListener)
            +
            +
            Specified by:
            +
            createDashChunkSource in interface DashChunkSource.Factory
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            periodIndex - The index of the corresponding period in the manifest.
            +
            adaptationSetIndices - The indices of the corresponding adaptation sets in the period.
            +
            trackSelection - The track selection.
            +
            elapsedRealtimeOffsetMs - If known, an estimate of the instantaneous difference between + server-side unix time and SystemClock.elapsedRealtime() in milliseconds, + specified as the server's unix time minus the local elapsed time. Or C.TIME_UNSET if unknown.
            +
            enableEventMessageTrack - Whether to output an event message track.
            +
            closedCaptionFormats - The Formats of closed caption tracks to be output.
            +
            transferListener - The transfer listener which should be informed of any data transfers. + May be null if no listener is available.
            +
            Returns:
            +
            The created DashChunkSource.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html new file mode 100644 index 0000000000..02b75bc284 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationHolder.html @@ -0,0 +1,434 @@ + + + + +DefaultDashChunkSource.RepresentationHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDashChunkSource.RepresentationHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getFirstSegmentNum

            +
            public long getFirstSegmentNum()
            +
          • +
          + + + +
            +
          • +

            getFirstAvailableSegmentNum

            +
            public long getFirstAvailableSegmentNum​(long nowUnixTimeUs)
            +
          • +
          + + + +
            +
          • +

            getSegmentCount

            +
            public int getSegmentCount()
            +
          • +
          + + + +
            +
          • +

            getSegmentStartTimeUs

            +
            public long getSegmentStartTimeUs​(long segmentNum)
            +
          • +
          + + + +
            +
          • +

            getSegmentEndTimeUs

            +
            public long getSegmentEndTimeUs​(long segmentNum)
            +
          • +
          + + + +
            +
          • +

            getSegmentNum

            +
            public long getSegmentNum​(long positionUs)
            +
          • +
          + + + +
            +
          • +

            getSegmentUrl

            +
            public RangedUri getSegmentUrl​(long segmentNum)
            +
          • +
          + + + +
            +
          • +

            getLastAvailableSegmentNum

            +
            public long getLastAvailableSegmentNum​(long nowUnixTimeUs)
            +
          • +
          + + + +
            +
          • +

            isSegmentAvailableAtFullNetworkSpeed

            +
            public boolean isSegmentAvailableAtFullNetworkSpeed​(long segmentNum,
            +                                                    long nowPeriodTimeUs)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationSegmentIterator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationSegmentIterator.html new file mode 100644 index 0000000000..f7f425bbb1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.RepresentationSegmentIterator.html @@ -0,0 +1,391 @@ + + + + +DefaultDashChunkSource.RepresentationSegmentIterator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDashChunkSource.RepresentationSegmentIterator

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RepresentationSegmentIterator

            +
            public RepresentationSegmentIterator​(DefaultDashChunkSource.RepresentationHolder representation,
            +                                     long firstAvailableSegmentNum,
            +                                     long lastAvailableSegmentNum,
            +                                     long nowPeriodTimeUs)
            +
            Creates iterator.
            +
            +
            Parameters:
            +
            representation - The DefaultDashChunkSource.RepresentationHolder to wrap.
            +
            firstAvailableSegmentNum - The number of the first available segment.
            +
            lastAvailableSegmentNum - The number of the last available segment.
            +
            nowPeriodTimeUs - The current time in microseconds since the start of the period used + for calculating if segments are available at full network speed.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getChunkStartTimeUs

            +
            public long getChunkStartTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media start time of the chunk, in microseconds.
            +
          • +
          + + + +
            +
          • +

            getChunkEndTimeUs

            +
            public long getChunkEndTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media end time of the chunk, in microseconds.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.html new file mode 100644 index 0000000000..e9fc0c0908 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/DefaultDashChunkSource.html @@ -0,0 +1,768 @@ + + + + +DefaultDashChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDashChunkSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultDashChunkSource

            +
            public DefaultDashChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                              DashManifest manifest,
            +                              int periodIndex,
            +                              int[] adaptationSetIndices,
            +                              ExoTrackSelection trackSelection,
            +                              int trackType,
            +                              DataSource dataSource,
            +                              long elapsedRealtimeOffsetMs,
            +                              int maxSegmentsPerLoad,
            +                              boolean enableEventMessageTrack,
            +                              List<Format> closedCaptionFormats,
            +                              @Nullable
            +                              PlayerEmsgHandler.PlayerTrackEmsgHandler playerTrackEmsgHandler)
            +
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            periodIndex - The index of the period in the manifest.
            +
            adaptationSetIndices - The indices of the adaptation sets in the period.
            +
            trackSelection - The track selection.
            +
            trackType - The type of the tracks in the selection.
            +
            dataSource - A DataSource suitable for loading the media data.
            +
            elapsedRealtimeOffsetMs - If known, an estimate of the instantaneous difference between + server-side unix time and SystemClock.elapsedRealtime() in milliseconds, specified + as the server's unix time minus the local elapsed time. Or C.TIME_UNSET if unknown.
            +
            maxSegmentsPerLoad - The maximum number of segments to combine into a single request. Note + that segments will only be combined if their Uris are the same and if their data + ranges are adjacent.
            +
            enableEventMessageTrack - Whether to output an event message track.
            +
            closedCaptionFormats - The Formats of closed caption tracks to be output.
            +
            playerTrackEmsgHandler - The PlayerEmsgHandler.PlayerTrackEmsgHandler instance to handle emsg + messages targeting the player. Maybe null if this is not necessary.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: ChunkSource
            +
            Adjusts a seek position given the specified SeekParameters. Chunk boundaries are used + as sync points.
            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface ChunkSource
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed.
            +
            Returns:
            +
            The adjusted seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            updateManifest

            +
            public void updateManifest​(DashManifest newManifest,
            +                           int newPeriodIndex)
            +
            Description copied from interface: DashChunkSource
            +
            Updates the manifest.
            +
            +
            Specified by:
            +
            updateManifest in interface DashChunkSource
            +
            Parameters:
            +
            newManifest - The new manifest.
            +
            +
          • +
          + + + +
            +
          • +

            updateTrackSelection

            +
            public void updateTrackSelection​(ExoTrackSelection trackSelection)
            +
            Description copied from interface: DashChunkSource
            +
            Updates the track selection.
            +
            +
            Specified by:
            +
            updateTrackSelection in interface DashChunkSource
            +
            Parameters:
            +
            trackSelection - The new track selection instance. Must be equivalent to the previous one.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +                     throws IOException
            +
            Description copied from interface: ChunkSource
            +
            If the source is currently having difficulty providing chunks, then this method throws the + underlying error. Otherwise does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface ChunkSource
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredQueueSize

            +
            public int getPreferredQueueSize​(long playbackPositionUs,
            +                                 List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Evaluates whether MediaChunks should be removed from the back of the queue. + +

            Removing MediaChunks from the back of the queue can be useful if they could be + replaced with chunks of a significantly higher quality (e.g. because the available bandwidth + has substantially increased). + +

            Will only be called if no MediaChunk in the queue is currently loading.

            +
            +
            Specified by:
            +
            getPreferredQueueSize in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            The preferred queue size.
            +
            +
          • +
          + + + +
            +
          • +

            shouldCancelLoad

            +
            public boolean shouldCancelLoad​(long playbackPositionUs,
            +                                Chunk loadingChunk,
            +                                List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Returns whether an ongoing load of a chunk should be canceled.
            +
            +
            Specified by:
            +
            shouldCancelLoad in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            loadingChunk - The currently loading Chunk.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            Whether the ongoing load of loadingChunk should be canceled.
            +
            +
          • +
          + + + +
            +
          • +

            getNextChunk

            +
            public void getNextChunk​(long playbackPositionUs,
            +                         long loadPositionUs,
            +                         List<? extends MediaChunk> queue,
            +                         ChunkHolder out)
            +
            Description copied from interface: ChunkSource
            +
            Returns the next chunk to load. + +

            If a chunk is available then ChunkHolder.chunk is set. If the end of the stream has + been reached then ChunkHolder.endOfStream is set. If a chunk is not available but the + end of the stream has not been reached, the ChunkHolder is not modified.

            +
            +
            Specified by:
            +
            getNextChunk in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this chunk source belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            loadPositionUs - The current load position in microseconds. If queue is empty, + this is the starting position from which chunks should be provided. Else it's equal to + Chunk.endTimeUs of the last chunk in the queue.
            +
            queue - The queue of buffered MediaChunks.
            +
            out - A holder to populate.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadCompleted

            +
            public void onChunkLoadCompleted​(Chunk chunk)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream has finished loading a chunk obtained from this + source.
            +
            +
            Specified by:
            +
            onChunkLoadCompleted in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load has been completed.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadError

            +
            public boolean onChunkLoadError​(Chunk chunk,
            +                                boolean cancelable,
            +                                Exception e,
            +                                long exclusionDurationMs)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream encounters an error loading a chunk obtained from + this source.
            +
            +
            Specified by:
            +
            onChunkLoadError in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load encountered the error.
            +
            cancelable - Whether the load can be canceled.
            +
            e - The error.
            +
            exclusionDurationMs - The duration for which the associated track may be excluded, or + C.TIME_UNSET if the track may not be excluded.
            +
            Returns:
            +
            Whether the load should be canceled so that a replacement chunk can be loaded instead. + Must be false if cancelable is false. If true, ChunkSource.getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement + chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: ChunkSource
            +
            Releases any held resources.
            +
            +
            Specified by:
            +
            release in interface ChunkSource
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html new file mode 100644 index 0000000000..560d97d273 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerEmsgCallback.html @@ -0,0 +1,275 @@ + + + + +PlayerEmsgHandler.PlayerEmsgCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerEmsgHandler.PlayerEmsgCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerEmsgHandler
        +
        +
        +
        public static interface PlayerEmsgHandler.PlayerEmsgCallback
        +
        Callbacks for player emsg events encountered during DASH live stream.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onDashManifestRefreshRequested

            +
            void onDashManifestRefreshRequested()
            +
            Called when the current manifest should be refreshed.
            +
          • +
          + + + +
            +
          • +

            onDashManifestPublishTimeExpired

            +
            void onDashManifestPublishTimeExpired​(long expiredManifestPublishTimeUs)
            +
            Called when the manifest with the publish time has been expired.
            +
            +
            Parameters:
            +
            expiredManifestPublishTimeUs - The manifest publish time that has been expired.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html new file mode 100644 index 0000000000..3a9ac09b4a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html @@ -0,0 +1,518 @@ + + + + +PlayerEmsgHandler.PlayerTrackEmsgHandler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerEmsgHandler.PlayerTrackEmsgHandler

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        TrackOutput
        +
        +
        +
        Enclosing class:
        +
        PlayerEmsgHandler
        +
        +
        +
        public final class PlayerEmsgHandler.PlayerTrackEmsgHandler
        +extends Object
        +implements TrackOutput
        +
        Handles emsg messages for a specific track for the player.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            format

            +
            public void format​(Format format)
            +
            Description copied from interface: TrackOutput
            +
            Called when the Format of the track has been extracted from the stream.
            +
            +
            Specified by:
            +
            format in interface TrackOutput
            +
            Parameters:
            +
            format - The extracted Format.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public int sampleData​(DataReader input,
            +                      int length,
            +                      boolean allowEndOfInput,
            +                      @SampleDataPart
            +                      int sampleDataPart)
            +               throws IOException
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            input - A DataReader from which to read the sample data.
            +
            length - The maximum length to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it + should be considered an error, causing an EOFException to be thrown.
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            Returns:
            +
            The number of bytes appended.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public void sampleData​(ParsableByteArray data,
            +                       int length,
            +                       @SampleDataPart
            +                       int sampleDataPart)
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            data - A ParsableByteArray from which to read the sample data.
            +
            length - The number of bytes to read, starting from data.getPosition().
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            maybeRefreshManifestBeforeLoadingNextChunk

            +
            public boolean maybeRefreshManifestBeforeLoadingNextChunk​(long presentationPositionUs)
            +
            For live streaming, check if the DASH manifest is expired before the next segment start time. + If it is, the DASH media source will be notified to refresh the manifest.
            +
            +
            Parameters:
            +
            presentationPositionUs - The next load position in presentation time.
            +
            Returns:
            +
            True if manifest refresh has been requested, false otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadCompleted

            +
            public void onChunkLoadCompleted​(Chunk chunk)
            +
            Called when a chunk load has been completed.
            +
            +
            Parameters:
            +
            chunk - The chunk whose load has been completed.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadError

            +
            public boolean onChunkLoadError​(Chunk chunk)
            +
            Called when a chunk load has encountered an error.
            +
            +
            Parameters:
            +
            chunk - The chunk whose load encountered an error.
            +
            Returns:
            +
            Whether a manifest refresh has been requested.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Release this track emsg handler. It should not be reused after this call.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html new file mode 100644 index 0000000000..961473bc91 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.html @@ -0,0 +1,418 @@ + + + + +PlayerEmsgHandler (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerEmsgHandler

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Handler.Callback
        +
        +
        +
        public final class PlayerEmsgHandler
        +extends Object
        +implements Handler.Callback
        +
        Handles all emsg messages from all media tracks for the player. + +

        This class will only respond to emsg messages which have schemeIdUri + "urn:mpeg:dash:event:2012", and value "1"/"2"/"3". When it encounters one of these messages, it + will handle the message according to Section 4.5.2.1 DASH -IF IOP Version 4.1: + +

          +
        • If both presentation time delta and event duration are zero, it means the media + presentation has ended. +
        • Else, it will parse the message data from the emsg message to find the publishTime of the + expired manifest, and mark manifest with publishTime smaller than that values to be + expired. +
        + + In both cases, the DASH media source will be notified, and a manifest reload should be triggered.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerEmsgHandler

            +
            public PlayerEmsgHandler​(DashManifest manifest,
            +                         PlayerEmsgHandler.PlayerEmsgCallback playerEmsgCallback,
            +                         Allocator allocator)
            +
            +
            Parameters:
            +
            manifest - The initial manifest.
            +
            playerEmsgCallback - The callback that this event handler can invoke when handling emsg + messages that generate DASH media source events.
            +
            allocator - An Allocator from which allocations can be obtained.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateManifest

            +
            public void updateManifest​(DashManifest newManifest)
            +
            Updates the DashManifest that this handler works on.
            +
            +
            Parameters:
            +
            newManifest - The updated manifest.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            release

            +
            public void release()
            +
            Release this emsg handler. It should not be reused after this call.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/AdaptationSet.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/AdaptationSet.html new file mode 100644 index 0000000000..fac1b4ad92 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/AdaptationSet.html @@ -0,0 +1,434 @@ + + + + +AdaptationSet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdaptationSet

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class AdaptationSet
        +extends Object
        +
        Represents a set of interchangeable encoded versions of a media content component.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            ID_UNSET

            +
            public static final int ID_UNSET
            +
            Value of id indicating no value is set.=
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            id

            +
            public final int id
            +
            A non-negative identifier for the adaptation set that's unique in the scope of its containing + period, or ID_UNSET if not specified.
            +
          • +
          + + + +
            +
          • +

            type

            +
            public final int type
            +
            The type of the adaptation set. One of the C + TRACK_TYPE_* constants.
            +
          • +
          + + + + + + + +
            +
          • +

            accessibilityDescriptors

            +
            public final List<Descriptor> accessibilityDescriptors
            +
            Accessibility descriptors in the adaptation set.
            +
          • +
          + + + +
            +
          • +

            essentialProperties

            +
            public final List<Descriptor> essentialProperties
            +
            Essential properties in the adaptation set.
            +
          • +
          + + + +
            +
          • +

            supplementalProperties

            +
            public final List<Descriptor> supplementalProperties
            +
            Supplemental properties in the adaptation set.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdaptationSet

            +
            public AdaptationSet​(int id,
            +                     int type,
            +                     List<Representation> representations,
            +                     List<Descriptor> accessibilityDescriptors,
            +                     List<Descriptor> essentialProperties,
            +                     List<Descriptor> supplementalProperties)
            +
            +
            Parameters:
            +
            id - A non-negative identifier for the adaptation set that's unique in the scope of its + containing period, or ID_UNSET if not specified.
            +
            type - The type of the adaptation set. One of the C + TRACK_TYPE_* constants.
            +
            representations - Representations in the adaptation set.
            +
            accessibilityDescriptors - Accessibility descriptors in the adaptation set.
            +
            essentialProperties - Essential properties in the adaptation set.
            +
            supplementalProperties - Supplemental properties in the adaptation set.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifest.html new file mode 100644 index 0000000000..e01718092a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifest.html @@ -0,0 +1,690 @@ + + + + +DashManifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.DashManifest
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            availabilityStartTimeMs

            +
            public final long availabilityStartTimeMs
            +
            The availabilityStartTime value in milliseconds since epoch, or C.TIME_UNSET if + not present.
            +
          • +
          + + + +
            +
          • +

            durationMs

            +
            public final long durationMs
            +
            The duration of the presentation in milliseconds, or C.TIME_UNSET if not applicable.
            +
          • +
          + + + +
            +
          • +

            minBufferTimeMs

            +
            public final long minBufferTimeMs
            +
            The minBufferTime value in milliseconds, or C.TIME_UNSET if not present.
            +
          • +
          + + + +
            +
          • +

            dynamic

            +
            public final boolean dynamic
            +
            Whether the manifest has value "dynamic" for the type attribute.
            +
          • +
          + + + +
            +
          • +

            minUpdatePeriodMs

            +
            public final long minUpdatePeriodMs
            +
            The minimumUpdatePeriod value in milliseconds, or C.TIME_UNSET if not + applicable.
            +
          • +
          + + + +
            +
          • +

            timeShiftBufferDepthMs

            +
            public final long timeShiftBufferDepthMs
            +
            The timeShiftBufferDepth value in milliseconds, or C.TIME_UNSET if not + present.
            +
          • +
          + + + +
            +
          • +

            suggestedPresentationDelayMs

            +
            public final long suggestedPresentationDelayMs
            +
            The suggestedPresentationDelay value in milliseconds, or C.TIME_UNSET if not + present.
            +
          • +
          + + + +
            +
          • +

            publishTimeMs

            +
            public final long publishTimeMs
            +
            The publishTime value in milliseconds since epoch, or C.TIME_UNSET if + not present.
            +
          • +
          + + + +
            +
          • +

            utcTiming

            +
            @Nullable
            +public final UtcTimingElement utcTiming
            +
            The UtcTimingElement, or null if not present. Defined in DVB A168:7/2016, Section + 4.7.2.
            +
          • +
          + + + + + + + +
            +
          • +

            location

            +
            @Nullable
            +public final Uri location
            +
            The location of this manifest, or null if not present.
            +
          • +
          + + + + +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getPeriodCount

            +
            public final int getPeriodCount()
            +
          • +
          + + + +
            +
          • +

            getPeriod

            +
            public final Period getPeriod​(int index)
            +
          • +
          + + + +
            +
          • +

            getPeriodDurationMs

            +
            public final long getPeriodDurationMs​(int index)
            +
          • +
          + + + +
            +
          • +

            getPeriodDurationUs

            +
            public final long getPeriodDurationUs​(int index)
            +
          • +
          + + + +
            +
          • +

            copy

            +
            public final DashManifest copy​(List<StreamKey> streamKeys)
            +
            Description copied from interface: FilterableManifest
            +
            Returns a copy of the manifest including only the streams specified by the given keys. If the + manifest is unchanged then the instance may return itself.
            +
            +
            Specified by:
            +
            copy in interface FilterableManifest<DashManifest>
            +
            Parameters:
            +
            streamKeys - A non-empty list of stream keys.
            +
            Returns:
            +
            The filtered manifest.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.RepresentationInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.RepresentationInfo.html new file mode 100644 index 0000000000..3bc2c75040 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.RepresentationInfo.html @@ -0,0 +1,403 @@ + + + + +DashManifestParser.RepresentationInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashManifestParser.RepresentationInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DashManifestParser
        +
        +
        +
        protected static final class DashManifestParser.RepresentationInfo
        +extends Object
        +
        A parsed Representation element.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.html new file mode 100644 index 0000000000..8d25b38367 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/DashManifestParser.html @@ -0,0 +1,1808 @@ + + + + +DashManifestParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashManifestParser

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Descriptor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Descriptor.html new file mode 100644 index 0000000000..ccd7c859a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Descriptor.html @@ -0,0 +1,411 @@ + + + + +Descriptor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.Descriptor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class Descriptor
        +extends Object
        +
        A descriptor, as defined by ISO 23009-1, 2nd edition, 5.8.2.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            schemeIdUri

            +
            public final String schemeIdUri
            +
            The scheme URI.
            +
          • +
          + + + +
            +
          • +

            value

            +
            @Nullable
            +public final String value
            +
            The value, or null.
            +
          • +
          + + + +
            +
          • +

            id

            +
            @Nullable
            +public final String id
            +
            The identifier, or null.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Descriptor

            +
            public Descriptor​(String schemeIdUri,
            +                  @Nullable
            +                  String value,
            +                  @Nullable
            +                  String id)
            +
            +
            Parameters:
            +
            schemeIdUri - The scheme URI.
            +
            value - The value, or null.
            +
            id - The identifier, or null.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/EventStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/EventStream.html new file mode 100644 index 0000000000..283eb451b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/EventStream.html @@ -0,0 +1,419 @@ + + + + +EventStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.EventStream
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class EventStream
        +extends Object
        +
        A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            presentationTimesUs

            +
            public final long[] presentationTimesUs
            +
            Presentation time of the events in microsecond, sorted in ascending order.
            +
          • +
          + + + +
            +
          • +

            schemeIdUri

            +
            public final String schemeIdUri
            +
            The scheme URI.
            +
          • +
          + + + +
            +
          • +

            value

            +
            public final String value
            +
            The value of the event stream. Use empty string if not defined in manifest.
            +
          • +
          + + + +
            +
          • +

            timescale

            +
            public final long timescale
            +
            The timescale in units per seconds, as defined in the manifest.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventStream

            +
            public EventStream​(String schemeIdUri,
            +                   String value,
            +                   long timescale,
            +                   long[] presentationTimesUs,
            +                   EventMessage[] events)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            id

            +
            public String id()
            +
            A constructed id of this EventStream. Equal to schemeIdUri + "/" + value.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Period.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Period.html new file mode 100644 index 0000000000..0cc739bcc7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Period.html @@ -0,0 +1,490 @@ + + + + +Period (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.Period
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class Period
        +extends Object
        +
        Encapsulates media content components over a contiguous period of time.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            id

            +
            @Nullable
            +public final String id
            +
            The period identifier, if one exists.
            +
          • +
          + + + +
            +
          • +

            startMs

            +
            public final long startMs
            +
            The start time of the period in milliseconds, relative to the start of the manifest.
            +
          • +
          + + + +
            +
          • +

            adaptationSets

            +
            public final List<AdaptationSet> adaptationSets
            +
            The adaptation sets belonging to the period.
            +
          • +
          + + + +
            +
          • +

            eventStreams

            +
            public final List<EventStream> eventStreams
            +
            The event stream belonging to the period.
            +
          • +
          + + + +
            +
          • +

            assetIdentifier

            +
            @Nullable
            +public final Descriptor assetIdentifier
            +
            The asset identifier for this period, if one exists
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Period

            +
            public Period​(@Nullable
            +              String id,
            +              long startMs,
            +              List<AdaptationSet> adaptationSets)
            +
            +
            Parameters:
            +
            id - The period identifier. May be null.
            +
            startMs - The start time of the period in milliseconds.
            +
            adaptationSets - The adaptation sets belonging to the period.
            +
            +
          • +
          + + + +
            +
          • +

            Period

            +
            public Period​(@Nullable
            +              String id,
            +              long startMs,
            +              List<AdaptationSet> adaptationSets,
            +              List<EventStream> eventStreams)
            +
            +
            Parameters:
            +
            id - The period identifier. May be null.
            +
            startMs - The start time of the period in milliseconds.
            +
            adaptationSets - The adaptation sets belonging to the period.
            +
            eventStreams - The EventStreams belonging to the period.
            +
            +
          • +
          + + + +
            +
          • +

            Period

            +
            public Period​(@Nullable
            +              String id,
            +              long startMs,
            +              List<AdaptationSet> adaptationSets,
            +              List<EventStream> eventStreams,
            +              @Nullable
            +              Descriptor assetIdentifier)
            +
            +
            Parameters:
            +
            id - The period identifier. May be null.
            +
            startMs - The start time of the period in milliseconds.
            +
            adaptationSets - The adaptation sets belonging to the period.
            +
            eventStreams - The EventStreams belonging to the period.
            +
            assetIdentifier - The asset identifier for this period
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdaptationSetIndex

            +
            public int getAdaptationSetIndex​(int type)
            +
            Returns the index of the first adaptation set of a given type, or C.INDEX_UNSET if no + adaptation set of the specified type exists.
            +
            +
            Parameters:
            +
            type - An adaptation set type.
            +
            Returns:
            +
            The index of the first adaptation set of the specified type, or C.INDEX_UNSET.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ProgramInformation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ProgramInformation.html new file mode 100644 index 0000000000..fe1ac741bf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ProgramInformation.html @@ -0,0 +1,449 @@ + + + + +ProgramInformation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProgramInformation

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class ProgramInformation
        +extends Object
        +
        A parsed program information element.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            title

            +
            @Nullable
            +public final String title
            +
            The title for the media presentation.
            +
          • +
          + + + +
            +
          • +

            source

            +
            @Nullable
            +public final String source
            +
            Information about the original source of the media presentation.
            +
          • +
          + + + +
            +
          • +

            copyright

            +
            @Nullable
            +public final String copyright
            +
            A copyright statement for the media presentation.
            +
          • +
          + + + +
            +
          • +

            moreInformationURL

            +
            @Nullable
            +public final String moreInformationURL
            +
            A URL that provides more information about the media presentation.
            +
          • +
          + + + +
            +
          • +

            lang

            +
            @Nullable
            +public final String lang
            +
            Declares the language code(s) for this ProgramInformation.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ProgramInformation

            +
            public ProgramInformation​(@Nullable
            +                          String title,
            +                          @Nullable
            +                          String source,
            +                          @Nullable
            +                          String copyright,
            +                          @Nullable
            +                          String moreInformationURL,
            +                          @Nullable
            +                          String lang)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/RangedUri.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/RangedUri.html new file mode 100644 index 0000000000..2d706bc0cc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/RangedUri.html @@ -0,0 +1,493 @@ + + + + +RangedUri (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.RangedUri
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class RangedUri
        +extends Object
        +
        Defines a range of data located at a reference uri.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            start

            +
            public final long start
            +
            The (zero based) index of the first byte of the range.
            +
          • +
          + + + +
            +
          • +

            length

            +
            public final long length
            +
            The length of the range, or C.LENGTH_UNSET to indicate that the range is unbounded.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RangedUri

            +
            public RangedUri​(@Nullable
            +                 String referenceUri,
            +                 long start,
            +                 long length)
            +
            Constructs an ranged uri.
            +
            +
            Parameters:
            +
            referenceUri - The reference uri.
            +
            start - The (zero based) index of the first byte of the range.
            +
            length - The length of the range, or C.LENGTH_UNSET to indicate that the range is + unbounded.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            resolveUri

            +
            public Uri resolveUri​(String baseUri)
            +
            Returns the resolved Uri represented by the instance.
            +
            +
            Parameters:
            +
            baseUri - The base Uri.
            +
            Returns:
            +
            The Uri represented by the instance.
            +
            +
          • +
          + + + +
            +
          • +

            resolveUriString

            +
            public String resolveUriString​(String baseUri)
            +
            Returns the resolved uri represented by the instance as a string.
            +
            +
            Parameters:
            +
            baseUri - The base Uri.
            +
            Returns:
            +
            The uri represented by the instance.
            +
            +
          • +
          + + + +
            +
          • +

            attemptMerge

            +
            @Nullable
            +public RangedUri attemptMerge​(@Nullable
            +                              RangedUri other,
            +                              String baseUri)
            +
            Attempts to merge this RangedUri with another and an optional common base uri. + +

            A merge is successful if both instances define the same Uri after resolution with + the base uri, and if one starts the byte after the other ends, forming a contiguous region with + no overlap. + +

            If other is null then the merge is considered unsuccessful, and null is returned.

            +
            +
            Parameters:
            +
            other - The RangedUri to merge.
            +
            baseUri - The base Uri.
            +
            Returns:
            +
            The merged RangedUri if the merge was successful. Null otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.MultiSegmentRepresentation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.MultiSegmentRepresentation.html new file mode 100644 index 0000000000..ed5ffaf04b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.MultiSegmentRepresentation.html @@ -0,0 +1,718 @@ + + + + +Representation.MultiSegmentRepresentation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Representation.MultiSegmentRepresentation

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MultiSegmentRepresentation

            +
            public MultiSegmentRepresentation​(long revisionId,
            +                                  Format format,
            +                                  String baseUrl,
            +                                  SegmentBase.MultiSegmentBase segmentBase,
            +                                  @Nullable
            +                                  List<Descriptor> inbandEventStreams)
            +
            Creates the multi-segment Representation.
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            baseUrl - The base URL of the representation.
            +
            segmentBase - The segment base underlying the representation.
            +
            inbandEventStreams - The in-band event streams in the representation. May be null.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getIndexUri

            +
            @Nullable
            +public RangedUri getIndexUri()
            +
            Description copied from class: Representation
            +
            Returns a RangedUri defining the location of the representation's segment index, or + null if the representation provides an index directly.
            +
            +
            Specified by:
            +
            getIndexUri in class Representation
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCacheKey

            +
            @Nullable
            +public String getCacheKey()
            +
            Description copied from class: Representation
            +
            Returns a cache key for the representation if set, or null.
            +
            +
            Specified by:
            +
            getCacheKey in class Representation
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentUrl

            +
            public RangedUri getSegmentUrl​(long segmentIndex)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns a RangedUri defining the location of a segment.
            +
            +
            Specified by:
            +
            getSegmentUrl in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentIndex - The segment number.
            +
            Returns:
            +
            The RangedUri defining the location of the data.
            +
            +
          • +
          + + + +
            +
          • +

            getSegmentNum

            +
            public long getSegmentNum​(long timeUs,
            +                          long periodDurationUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns getFirstSegmentNum() if the index has no segments or if the given media time is + earlier than the start of the first segment. Returns getFirstSegmentNum() + + getSegmentCount() - 1 if the given media time is later than the end of the last segment. + Otherwise, returns the segment number of the segment containing the given media time.
            +
            +
            Specified by:
            +
            getSegmentNum in interface DashSegmentIndex
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The segment number of the corresponding segment.
            +
            +
          • +
          + + + +
            +
          • +

            getTimeUs

            +
            public long getTimeUs​(long segmentIndex)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the start time of a segment.
            +
            +
            Specified by:
            +
            getTimeUs in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentIndex - The segment number.
            +
            Returns:
            +
            The corresponding start time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getDurationUs

            +
            public long getDurationUs​(long segmentIndex,
            +                          long periodDurationUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the duration of a segment.
            +
            +
            Specified by:
            +
            getDurationUs in interface DashSegmentIndex
            +
            Parameters:
            +
            segmentIndex - The segment number.
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            Returns:
            +
            The duration of the segment, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstSegmentNum

            +
            public long getFirstSegmentNum()
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the segment number of the first defined segment in the index.
            +
            +
            Specified by:
            +
            getFirstSegmentNum in interface DashSegmentIndex
            +
            +
          • +
          + + + +
            +
          • +

            getFirstAvailableSegmentNum

            +
            public long getFirstAvailableSegmentNum​(long periodDurationUs,
            +                                        long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the segment number of the first available segment in the index.
            +
            +
            Specified by:
            +
            getFirstAvailableSegmentNum in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of the first available segment.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAvailableSegmentCount

            +
            public int getAvailableSegmentCount​(long periodDurationUs,
            +                                    long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the number of available segments in the index.
            +
            +
            Specified by:
            +
            getAvailableSegmentCount in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The number of available segments in the index.
            +
            +
          • +
          + + + +
            +
          • +

            getNextSegmentAvailableTimeUs

            +
            public long getNextSegmentAvailableTimeUs​(long periodDurationUs,
            +                                          long nowUnixTimeUs)
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns the time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
            Specified by:
            +
            getNextSegmentAvailableTimeUs in interface DashSegmentIndex
            +
            Parameters:
            +
            periodDurationUs - The duration of the enclosing period in microseconds, or C.TIME_UNSET if the period's duration is not yet known.
            +
            nowUnixTimeUs - The current time in milliseconds since the Unix epoch.
            +
            Returns:
            +
            The time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
            +
            +
          • +
          + + + +
            +
          • +

            isExplicit

            +
            public boolean isExplicit()
            +
            Description copied from interface: DashSegmentIndex
            +
            Returns true if segments are defined explicitly by the index. + +

            If true is returned, each segment is defined explicitly by the index data, and all of the + listed segments are guaranteed to be available at the time when the index was obtained. + +

            If false is returned then segment information was derived from properties such as a fixed + segment duration. If the presentation is dynamic, it's possible that only a subset of the + segments are available.

            +
            +
            Specified by:
            +
            isExplicit in interface DashSegmentIndex
            +
            Returns:
            +
            Whether segments are defined explicitly by the index.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.SingleSegmentRepresentation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.SingleSegmentRepresentation.html new file mode 100644 index 0000000000..599537fc2d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.SingleSegmentRepresentation.html @@ -0,0 +1,522 @@ + + + + +Representation.SingleSegmentRepresentation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Representation.SingleSegmentRepresentation

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Representation
        +
        +
        +
        public static class Representation.SingleSegmentRepresentation
        +extends Representation
        +
        A DASH representation consisting of a single segment.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            The uri of the single segment.
            +
          • +
          + + + +
            +
          • +

            contentLength

            +
            public final long contentLength
            +
            The content length, or C.LENGTH_UNSET if unknown.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SingleSegmentRepresentation

            +
            public SingleSegmentRepresentation​(long revisionId,
            +                                   Format format,
            +                                   String baseUrl,
            +                                   SegmentBase.SingleSegmentBase segmentBase,
            +                                   @Nullable
            +                                   List<Descriptor> inbandEventStreams,
            +                                   @Nullable
            +                                   String cacheKey,
            +                                   long contentLength)
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            baseUrl - The base URL of the representation.
            +
            segmentBase - The segment base underlying the representation.
            +
            inbandEventStreams - The in-band event streams in the representation. May be null.
            +
            cacheKey - An optional key to be returned from getCacheKey(), or null.
            +
            contentLength - The content length, or C.LENGTH_UNSET if unknown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            newInstance

            +
            public static Representation.SingleSegmentRepresentation newInstance​(long revisionId,
            +                                                                     Format format,
            +                                                                     String uri,
            +                                                                     long initializationStart,
            +                                                                     long initializationEnd,
            +                                                                     long indexStart,
            +                                                                     long indexEnd,
            +                                                                     List<Descriptor> inbandEventStreams,
            +                                                                     @Nullable
            +                                                                     String cacheKey,
            +                                                                     long contentLength)
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            uri - The uri of the media.
            +
            initializationStart - The offset of the first byte of initialization data.
            +
            initializationEnd - The offset of the last byte of initialization data.
            +
            indexStart - The offset of the first byte of index data.
            +
            indexEnd - The offset of the last byte of index data.
            +
            inbandEventStreams - The in-band event streams in the representation. May be null.
            +
            cacheKey - An optional key to be returned from getCacheKey(), or null.
            +
            contentLength - The content length, or C.LENGTH_UNSET if unknown.
            +
            +
          • +
          + + + +
            +
          • +

            getIndexUri

            +
            @Nullable
            +public RangedUri getIndexUri()
            +
            Description copied from class: Representation
            +
            Returns a RangedUri defining the location of the representation's segment index, or + null if the representation provides an index directly.
            +
            +
            Specified by:
            +
            getIndexUri in class Representation
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCacheKey

            +
            @Nullable
            +public String getCacheKey()
            +
            Description copied from class: Representation
            +
            Returns a cache key for the representation if set, or null.
            +
            +
            Specified by:
            +
            getCacheKey in class Representation
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.html new file mode 100644 index 0000000000..13246a46f2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/Representation.html @@ -0,0 +1,601 @@ + + + + +Representation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Representation

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.Representation
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            revisionId

            +
            public final long revisionId
            +
            Identifies the revision of the media contained within the representation. If the media can + change over time (e.g. as a result of it being re-encoded), then this identifier can be set to + uniquely identify the revision of the media. The timestamp at which the media was encoded is + often a suitable.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            The format of the representation.
            +
          • +
          + + + +
            +
          • +

            baseUrl

            +
            public final String baseUrl
            +
            The base URL of the representation.
            +
          • +
          + + + +
            +
          • +

            presentationTimeOffsetUs

            +
            public final long presentationTimeOffsetUs
            +
            The offset of the presentation timestamps in the media stream relative to media time.
            +
          • +
          + + + +
            +
          • +

            inbandEventStreams

            +
            public final List<Descriptor> inbandEventStreams
            +
            The in-band event streams in the representation. May be empty.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            newInstance

            +
            public static Representation newInstance​(long revisionId,
            +                                         Format format,
            +                                         String baseUrl,
            +                                         SegmentBase segmentBase)
            +
            Constructs a new instance.
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            baseUrl - The base URL.
            +
            segmentBase - A segment base element for the representation.
            +
            Returns:
            +
            The constructed instance.
            +
            +
          • +
          + + + +
            +
          • +

            newInstance

            +
            public static Representation newInstance​(long revisionId,
            +                                         Format format,
            +                                         String baseUrl,
            +                                         SegmentBase segmentBase,
            +                                         @Nullable
            +                                         List<Descriptor> inbandEventStreams)
            +
            Constructs a new instance.
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            baseUrl - The base URL.
            +
            segmentBase - A segment base element for the representation.
            +
            inbandEventStreams - The in-band event streams in the representation. May be null.
            +
            Returns:
            +
            The constructed instance.
            +
            +
          • +
          + + + +
            +
          • +

            newInstance

            +
            public static Representation newInstance​(long revisionId,
            +                                         Format format,
            +                                         String baseUrl,
            +                                         SegmentBase segmentBase,
            +                                         @Nullable
            +                                         List<Descriptor> inbandEventStreams,
            +                                         @Nullable
            +                                         String cacheKey)
            +
            Constructs a new instance.
            +
            +
            Parameters:
            +
            revisionId - Identifies the revision of the content.
            +
            format - The format of the representation.
            +
            baseUrl - The base URL of the representation.
            +
            segmentBase - A segment base element for the representation.
            +
            inbandEventStreams - The in-band event streams in the representation. May be null.
            +
            cacheKey - An optional key to be returned from getCacheKey(), or null. This + parameter is ignored if segmentBase consists of multiple segments.
            +
            Returns:
            +
            The constructed instance.
            +
            +
          • +
          + + + +
            +
          • +

            getInitializationUri

            +
            @Nullable
            +public RangedUri getInitializationUri()
            +
            Returns a RangedUri defining the location of the representation's initialization data, + or null if no initialization data exists.
            +
          • +
          + + + +
            +
          • +

            getIndexUri

            +
            @Nullable
            +public abstract RangedUri getIndexUri()
            +
            Returns a RangedUri defining the location of the representation's segment index, or + null if the representation provides an index directly.
            +
          • +
          + + + +
            +
          • +

            getIndex

            +
            @Nullable
            +public abstract DashSegmentIndex getIndex()
            +
            Returns an index if the representation provides one directly, or null otherwise.
            +
          • +
          + + + +
            +
          • +

            getCacheKey

            +
            @Nullable
            +public abstract String getCacheKey()
            +
            Returns a cache key for the representation if set, or null.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html new file mode 100644 index 0000000000..825f095ead --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.MultiSegmentBase.html @@ -0,0 +1,544 @@ + + + + +SegmentBase.MultiSegmentBase (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentBase.MultiSegmentBase

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MultiSegmentBase

            +
            public MultiSegmentBase​(@Nullable
            +                        RangedUri initialization,
            +                        long timescale,
            +                        long presentationTimeOffset,
            +                        long startNumber,
            +                        long duration,
            +                        @Nullable
            +                        List<SegmentBase.SegmentTimelineElement> segmentTimeline,
            +                        long availabilityTimeOffsetUs,
            +                        long timeShiftBufferDepthUs,
            +                        long periodStartUnixTimeUs)
            +
            +
            Parameters:
            +
            initialization - A RangedUri corresponding to initialization data, if such data + exists.
            +
            timescale - The timescale in units per second.
            +
            presentationTimeOffset - The presentation time offset. The value in seconds is the + division of this value and timescale.
            +
            startNumber - The sequence number of the first segment.
            +
            duration - The duration of each segment in the case of fixed duration segments. The + value in seconds is the division of this value and timescale. If + segmentTimeline is non-null then this parameter is ignored.
            +
            segmentTimeline - A segment timeline corresponding to the segments. If null, then + segments are assumed to be of fixed duration as specified by the duration + parameter.
            +
            availabilityTimeOffsetUs - The offset to the current realtime at which segments become + available in microseconds, or C.TIME_UNSET if not applicable.
            +
            timeShiftBufferDepthUs - The time shift buffer depth in microseconds.
            +
            periodStartUnixTimeUs - The start of the enclosing period in microseconds since the Unix + epoch.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentList.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentList.html new file mode 100644 index 0000000000..bb0d9d3e72 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentList.html @@ -0,0 +1,441 @@ + + + + +SegmentBase.SegmentList (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentBase.SegmentList

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SegmentList

            +
            public SegmentList​(RangedUri initialization,
            +                   long timescale,
            +                   long presentationTimeOffset,
            +                   long startNumber,
            +                   long duration,
            +                   @Nullable
            +                   List<SegmentBase.SegmentTimelineElement> segmentTimeline,
            +                   long availabilityTimeOffsetUs,
            +                   @Nullable
            +                   List<RangedUri> mediaSegments,
            +                   long timeShiftBufferDepthUs,
            +                   long periodStartUnixTimeUs)
            +
            +
            Parameters:
            +
            initialization - A RangedUri corresponding to initialization data, if such data + exists.
            +
            timescale - The timescale in units per second.
            +
            presentationTimeOffset - The presentation time offset. The value in seconds is the + division of this value and timescale.
            +
            startNumber - The sequence number of the first segment.
            +
            duration - The duration of each segment in the case of fixed duration segments. The + value in seconds is the division of this value and timescale. If + segmentTimeline is non-null then this parameter is ignored.
            +
            segmentTimeline - A segment timeline corresponding to the segments. If null, then + segments are assumed to be of fixed duration as specified by the duration + parameter.
            +
            availabilityTimeOffsetUs - The offset to the current realtime at which segments become + available in microseconds, or C.TIME_UNSET if not applicable.
            +
            mediaSegments - A list of RangedUris indicating the locations of the segments.
            +
            timeShiftBufferDepthUs - The time shift buffer depth in microseconds.
            +
            periodStartUnixTimeUs - The start of the enclosing period in microseconds since the Unix + epoch.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html new file mode 100644 index 0000000000..79c6176b78 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTemplate.html @@ -0,0 +1,460 @@ + + + + +SegmentBase.SegmentTemplate (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentBase.SegmentTemplate

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SegmentTemplate

            +
            public SegmentTemplate​(RangedUri initialization,
            +                       long timescale,
            +                       long presentationTimeOffset,
            +                       long startNumber,
            +                       long endNumber,
            +                       long duration,
            +                       @Nullable
            +                       List<SegmentBase.SegmentTimelineElement> segmentTimeline,
            +                       long availabilityTimeOffsetUs,
            +                       @Nullable
            +                       UrlTemplate initializationTemplate,
            +                       @Nullable
            +                       UrlTemplate mediaTemplate,
            +                       long timeShiftBufferDepthUs,
            +                       long periodStartUnixTimeUs)
            +
            +
            Parameters:
            +
            initialization - A RangedUri corresponding to initialization data, if such data + exists. The value of this parameter is ignored if initializationTemplate is + non-null.
            +
            timescale - The timescale in units per second.
            +
            presentationTimeOffset - The presentation time offset. The value in seconds is the + division of this value and timescale.
            +
            startNumber - The sequence number of the first segment.
            +
            endNumber - The sequence number of the last segment as specified by the + SupplementalProperty with schemeIdUri="http://dashif.org/guidelines/last-segment-number", + or C.INDEX_UNSET.
            +
            duration - The duration of each segment in the case of fixed duration segments. The + value in seconds is the division of this value and timescale. If + segmentTimeline is non-null then this parameter is ignored.
            +
            segmentTimeline - A segment timeline corresponding to the segments. If null, then + segments are assumed to be of fixed duration as specified by the duration + parameter.
            +
            availabilityTimeOffsetUs - The offset to the current realtime at which segments become + available in microseconds, or C.TIME_UNSET if not applicable.
            +
            initializationTemplate - A template defining the location of initialization data, if + such data exists. If non-null then the initialization parameter is ignored. If + null then initialization will be used.
            +
            mediaTemplate - A template defining the location of each media segment.
            +
            timeShiftBufferDepthUs - The time shift buffer depth in microseconds.
            +
            periodStartUnixTimeUs - The start of the enclosing period in microseconds since the Unix + epoch.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTimelineElement.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTimelineElement.html new file mode 100644 index 0000000000..2561423ae8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SegmentTimelineElement.html @@ -0,0 +1,335 @@ + + + + +SegmentBase.SegmentTimelineElement (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentBase.SegmentTimelineElement

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SegmentBase
        +
        +
        +
        public static final class SegmentBase.SegmentTimelineElement
        +extends Object
        +
        Represents a timeline segment from the MPD's SegmentTimeline list.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SegmentTimelineElement

            +
            public SegmentTimelineElement​(long startTime,
            +                              long duration)
            +
            +
            Parameters:
            +
            startTime - The start time of the element. The value in seconds is the division of this + value and the timescale of the enclosing element.
            +
            duration - The duration of the element. The value in seconds is the division of this + value and the timescale of the enclosing element.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SingleSegmentBase.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SingleSegmentBase.html new file mode 100644 index 0000000000..e7ffd2b46f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.SingleSegmentBase.html @@ -0,0 +1,363 @@ + + + + +SegmentBase.SingleSegmentBase (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SegmentBase.SingleSegmentBase

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SingleSegmentBase

            +
            public SingleSegmentBase​(@Nullable
            +                         RangedUri initialization,
            +                         long timescale,
            +                         long presentationTimeOffset,
            +                         long indexStart,
            +                         long indexLength)
            +
            +
            Parameters:
            +
            initialization - A RangedUri corresponding to initialization data, if such data + exists.
            +
            timescale - The timescale in units per second.
            +
            presentationTimeOffset - The presentation time offset. The value in seconds is the + division of this value and timescale.
            +
            indexStart - The byte offset of the index data in the segment.
            +
            indexLength - The length of the index data in bytes.
            +
            +
          • +
          + + + +
            +
          • +

            SingleSegmentBase

            +
            public SingleSegmentBase()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getIndex

            +
            @Nullable
            +public RangedUri getIndex()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html new file mode 100644 index 0000000000..370603e209 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/SegmentBase.html @@ -0,0 +1,396 @@ + + + + +SegmentBase (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.SegmentBase
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SegmentBase

            +
            public SegmentBase​(@Nullable
            +                   RangedUri initialization,
            +                   long timescale,
            +                   long presentationTimeOffset)
            +
            +
            Parameters:
            +
            initialization - A RangedUri corresponding to initialization data, if such data + exists.
            +
            timescale - The timescale in units per second.
            +
            presentationTimeOffset - The presentation time offset. The value in seconds is the + division of this value and timescale.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getInitialization

            +
            @Nullable
            +public RangedUri getInitialization​(Representation representation)
            +
            Returns the RangedUri defining the location of initialization data for a given + representation, or null if no initialization data exists.
            +
            +
            Parameters:
            +
            representation - The Representation for which initialization data is required.
            +
            Returns:
            +
            A RangedUri defining the location of the initialization data, or null.
            +
            +
          • +
          + + + +
            +
          • +

            getPresentationTimeOffsetUs

            +
            public long getPresentationTimeOffsetUs()
            +
            Returns the presentation time offset, in microseconds.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html new file mode 100644 index 0000000000..ee960635e6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/ServiceDescriptionElement.html @@ -0,0 +1,396 @@ + + + + +ServiceDescriptionElement (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ServiceDescriptionElement

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ServiceDescriptionElement
        +extends Object
        +
        Represents a service description element.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            targetOffsetMs

            +
            public final long targetOffsetMs
            +
            The target live offset in milliseconds, or C.TIME_UNSET if undefined.
            +
          • +
          + + + +
            +
          • +

            minOffsetMs

            +
            public final long minOffsetMs
            +
            The minimum live offset in milliseconds, or C.TIME_UNSET if undefined.
            +
          • +
          + + + +
            +
          • +

            maxOffsetMs

            +
            public final long maxOffsetMs
            +
            The maximum live offset in milliseconds, or C.TIME_UNSET if undefined.
            +
          • +
          + + + +
            +
          • +

            minPlaybackSpeed

            +
            public final float minPlaybackSpeed
            +
            The minimum factor by which playback can be sped up for live speed adjustment, or C.RATE_UNSET if undefined.
            +
          • +
          + + + +
            +
          • +

            maxPlaybackSpeed

            +
            public final float maxPlaybackSpeed
            +
            The maximum factor by which playback can be sped up for live speed adjustment, or C.RATE_UNSET if undefined.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ServiceDescriptionElement

            +
            public ServiceDescriptionElement​(long targetOffsetMs,
            +                                 long minOffsetMs,
            +                                 long maxOffsetMs,
            +                                 float minPlaybackSpeed,
            +                                 float maxPlaybackSpeed)
            +
            Creates a service description element.
            +
            +
            Parameters:
            +
            targetOffsetMs - The target live offset in milliseconds, or C.TIME_UNSET if + undefined.
            +
            minOffsetMs - The minimum live offset in milliseconds, or C.TIME_UNSET if + undefined.
            +
            maxOffsetMs - The maximum live offset in milliseconds, or C.TIME_UNSET if + undefined.
            +
            minPlaybackSpeed - The minimum factor by which playback can be sped up for live speed + adjustment, or C.RATE_UNSET if undefined.
            +
            maxPlaybackSpeed - The maximum factor by which playback can be sped up for live speed + adjustment, or C.RATE_UNSET if undefined.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UrlTemplate.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UrlTemplate.html new file mode 100644 index 0000000000..ceec8a33f8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UrlTemplate.html @@ -0,0 +1,310 @@ + + + + +UrlTemplate (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.UrlTemplate
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class UrlTemplate
        +extends Object
        +
        A template from which URLs can be built. +

        + URLs are built according to the substitution rules defined in ISO/IEC 23009-1:2014 5.3.9.4.4.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            compile

            +
            public static UrlTemplate compile​(String template)
            +
            Compile an instance from the provided template string.
            +
            +
            Parameters:
            +
            template - The template.
            +
            Returns:
            +
            The compiled instance.
            +
            Throws:
            +
            IllegalArgumentException - If the template string is malformed.
            +
            +
          • +
          + + + +
            +
          • +

            buildUri

            +
            public String buildUri​(String representationId,
            +                       long segmentNumber,
            +                       int bandwidth,
            +                       long time)
            +
            Constructs a Uri from the template, substituting in the provided arguments. + +

            Arguments whose corresponding identifiers are not present in the template will be ignored.

            +
            +
            Parameters:
            +
            representationId - The representation identifier.
            +
            segmentNumber - The segment number.
            +
            bandwidth - The bandwidth.
            +
            time - The time as specified by the segment timeline.
            +
            Returns:
            +
            The built Uri.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UtcTimingElement.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UtcTimingElement.html new file mode 100644 index 0000000000..745b0def71 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/UtcTimingElement.html @@ -0,0 +1,357 @@ + + + + +UtcTimingElement (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UtcTimingElement

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class UtcTimingElement
        +extends Object
        +
        Represents a UTCTiming element.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            schemeIdUri

            +
            public final String schemeIdUri
            +
          • +
          + + + +
            +
          • +

            value

            +
            public final String value
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UtcTimingElement

            +
            public UtcTimingElement​(String schemeIdUri,
            +                        String value)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-frame.html new file mode 100644 index 0000000000..800bc2c917 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-frame.html @@ -0,0 +1,47 @@ + + + + +com.google.android.exoplayer2.source.dash.manifest (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.dash.manifest

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html new file mode 100644 index 0000000000..86548a0e86 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html @@ -0,0 +1,289 @@ + + + + +com.google.android.exoplayer2.source.dash.manifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.dash.manifest

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-tree.html new file mode 100644 index 0000000000..5a83cc7ca7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/manifest/package-tree.html @@ -0,0 +1,194 @@ + + + + +com.google.android.exoplayer2.source.dash.manifest Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.dash.manifest

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/DashDownloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/DashDownloader.html new file mode 100644 index 0000000000..e207a27cdd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/DashDownloader.html @@ -0,0 +1,512 @@ + + + + +DashDownloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DashDownloader

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Downloader
        +
        +
        +
        public final class DashDownloader
        +extends SegmentDownloader<DashManifest>
        +
        A downloader for DASH streams. + +

        Example usage: + +

        
        + SimpleCache cache = new SimpleCache(downloadFolder, new NoOpCacheEvictor(), databaseProvider);
        + CacheDataSource.Factory cacheDataSourceFactory =
        +     new CacheDataSource.Factory()
        +         .setCache(cache)
        +         .setUpstreamDataSourceFactory(new DefaultHttpDataSourceFactory(userAgent));
        + // Create a downloader for the first representation of the first adaptation set of the first
        + // period.
        + DashDownloader dashDownloader =
        +     new DashDownloader(
        +         new MediaItem.Builder()
        +             .setUri(manifestUrl)
        +             .setStreamKeys(Collections.singletonList(new StreamKey(0, 0, 0)))
        +             .build(),
        +         cacheDataSourceFactory);
        + // Perform the download.
        + dashDownloader.download(progressListener);
        + // Use the downloaded data for playback.
        + DashMediaSource mediaSource =
        +     new DashMediaSource.Factory(cacheDataSourceFactory).createMediaSource(mediaItem);
        + 
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-frame.html new file mode 100644 index 0000000000..8cb60b2325 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.source.dash.offline (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.dash.offline

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-summary.html new file mode 100644 index 0000000000..a2afc63c16 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.source.dash.offline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.dash.offline

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        DashDownloader +
        A downloader for DASH streams.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-tree.html new file mode 100644 index 0000000000..43a7ed6324 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/offline/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.source.dash.offline Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.dash.offline

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-frame.html new file mode 100644 index 0000000000..e361083637 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-frame.html @@ -0,0 +1,46 @@ + + + + +com.google.android.exoplayer2.source.dash (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.dash

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-summary.html new file mode 100644 index 0000000000..fc1d81dfcf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-summary.html @@ -0,0 +1,267 @@ + + + + +com.google.android.exoplayer2.source.dash (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.dash

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-tree.html new file mode 100644 index 0000000000..63fcbf337f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/dash/package-tree.html @@ -0,0 +1,202 @@ + + + + +com.google.android.exoplayer2.source.dash Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.dash

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/BundledHlsMediaChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/BundledHlsMediaChunkExtractor.html new file mode 100644 index 0000000000..c9c19bafef --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/BundledHlsMediaChunkExtractor.html @@ -0,0 +1,458 @@ + + + + +BundledHlsMediaChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BundledHlsMediaChunkExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BundledHlsMediaChunkExtractor

            +
            public BundledHlsMediaChunkExtractor​(Extractor extractor,
            +                                     Format masterPlaylistFormat,
            +                                     TimestampAdjuster timestampAdjuster)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            extractor - The underlying Extractor.
            +
            masterPlaylistFormat - The Format obtained from the master playlist.
            +
            timestampAdjuster - A TimestampAdjuster to adjust sample timestamps.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            public boolean read​(ExtractorInput extractorInput)
            +             throws IOException
            +
            Description copied from interface: HlsMediaChunkExtractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before HlsMediaChunkExtractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface HlsMediaChunkExtractor
            +
            Parameters:
            +
            extractorInput - The input to read from.
            +
            Returns:
            +
            Whether there is any data left to extract. Returns false if the end of input has been + reached.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            onTruncatedSegmentParsed

            +
            public void onTruncatedSegmentParsed()
            +
            Description copied from interface: HlsMediaChunkExtractor
            +
            Resets the sample parsing state. + +

            Resetting the parsing state allows support for Fragmented MP4 EXT-X-I-FRAME-STREAM-INF + segments. EXT-X-I-FRAME-STREAM-INF segments are truncated to include only a leading key frame. + After parsing said keyframe, an extractor may reach an unexpected end of file. By resetting its + state, we can continue feeding samples from the following segments to the extractor. See #7512 for context.

            +
            +
            Specified by:
            +
            onTruncatedSegmentParsed in interface HlsMediaChunkExtractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html new file mode 100644 index 0000000000..ff7c8d66e1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.html @@ -0,0 +1,321 @@ + + + + +DefaultHlsDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHlsDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.DefaultHlsDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.html new file mode 100644 index 0000000000..36fa8bac01 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/DefaultHlsExtractorFactory.html @@ -0,0 +1,387 @@ + + + + +DefaultHlsExtractorFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHlsExtractorFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.DefaultHlsExtractorFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html new file mode 100644 index 0000000000..01a8a737b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.html @@ -0,0 +1,261 @@ + + + + +HlsDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsDataSourceFactory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createDataSource

            +
            DataSource createDataSource​(int dataType)
            +
            Creates a DataSource for the given data type.
            +
            +
            Parameters:
            +
            dataType - The data type for which the DataSource will be used. One of C + .DATA_TYPE_* constants.
            +
            Returns:
            +
            A DataSource for the given data type.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html new file mode 100644 index 0000000000..09ff958d4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsExtractorFactory.html @@ -0,0 +1,321 @@ + + + + +HlsExtractorFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsExtractorFactory

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultHlsExtractorFactory
        +
        +
        +
        public interface HlsExtractorFactory
        +
        Factory for HLS media chunk extractors.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsManifest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsManifest.html new file mode 100644 index 0000000000..cdc81d09de --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsManifest.html @@ -0,0 +1,285 @@ + + + + +HlsManifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsManifest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.HlsManifest
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class HlsManifest
        +extends Object
        +
        Holds a master playlist along with a snapshot of one of its media playlists.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html new file mode 100644 index 0000000000..4933b3f554 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaChunkExtractor.html @@ -0,0 +1,366 @@ + + + + +HlsMediaChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsMediaChunkExtractor

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            boolean read​(ExtractorInput extractorInput)
            +      throws IOException
            +
            Extracts data read from a provided ExtractorInput. Must not be called before init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Parameters:
            +
            extractorInput - The input to read from.
            +
            Returns:
            +
            Whether there is any data left to extract. Returns false if the end of input has been + reached.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + +
            +
          • +

            isPackedAudioExtractor

            +
            boolean isPackedAudioExtractor()
            +
            Returns whether this is a packed audio extractor, as defined in RFC 8216, Section 3.4.
            +
          • +
          + + + +
            +
          • +

            isReusable

            +
            boolean isReusable()
            +
            Returns whether this instance can be used for extracting multiple continuous segments.
            +
          • +
          + + + +
            +
          • +

            recreate

            +
            HlsMediaChunkExtractor recreate()
            +
            Returns a new instance for extracting the same type of media as this one. Can only be called on + instances that are not reusable.
            +
          • +
          + + + +
            +
          • +

            onTruncatedSegmentParsed

            +
            void onTruncatedSegmentParsed()
            +
            Resets the sample parsing state. + +

            Resetting the parsing state allows support for Fragmented MP4 EXT-X-I-FRAME-STREAM-INF + segments. EXT-X-I-FRAME-STREAM-INF segments are truncated to include only a leading key frame. + After parsing said keyframe, an extractor may reach an unexpected end of file. By resetting its + state, we can continue feeding samples from the following segments to the extractor. See #7512 for context.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html new file mode 100644 index 0000000000..78f6417e6a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.html @@ -0,0 +1,944 @@ + + + + +HlsMediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPeriod

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.HlsMediaPeriod
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            release

            +
            public void release()
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowPrepareError

            +
            public void maybeThrowPrepareError()
            +                            throws IOException
            +
            Description copied from interface: MediaPeriod
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Specified by:
            +
            maybeThrowPrepareError in interface MediaPeriod
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getStreamKeys

            +
            public List<StreamKey> getStreamKeys​(List<ExoTrackSelection> trackSelections)
            +
            Description copied from interface: MediaPeriod
            +
            Returns a list of StreamKeys which allow to filter the media in this period + to load only the parts needed to play the provided TrackSelections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getStreamKeys in interface MediaPeriod
            +
            Parameters:
            +
            trackSelections - The TrackSelections describing the tracks for + which stream keys are requested.
            +
            Returns:
            +
            The corresponding StreamKeys for the selected tracks, or an empty + list if filtering is not possible and the entire media needs to be loaded to play the + selected tracks.
            +
            +
          • +
          + + + +
            +
          • +

            selectTracks

            +
            public long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                         boolean[] mayRetainStreamFlags,
            +                         @NullableType SampleStream[] streams,
            +                         boolean[] streamResetFlags,
            +                         long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            selectTracks in interface MediaPeriod
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Description copied from interface: MediaPeriod
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            discardBuffer in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface MediaPeriod
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            readDiscontinuity

            +
            public long readDiscontinuity()
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Specified by:
            +
            readDiscontinuity in interface MediaPeriod
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Description copied from interface: MediaPeriod
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface MediaPeriod
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public long seekToUs​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            seekToUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: MediaPeriod
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onPlaylistRefreshRequired

            +
            public void onPlaylistRefreshRequired​(Uri url)
            +
            Description copied from interface: com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.Callback
            +
            Called to schedule a SequenceableLoader.continueLoading(long) call when the playlist referred by the + given url changes.
            +
            +
            Specified by:
            +
            onPlaylistRefreshRequired in interface com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.Callback
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onPlaylistError

            +
            public boolean onPlaylistError​(Uri url,
            +                               long exclusionDurationMs)
            +
            Description copied from interface: HlsPlaylistTracker.PlaylistEventListener
            +
            Called if an error is encountered while loading a playlist.
            +
            +
            Specified by:
            +
            onPlaylistError in interface HlsPlaylistTracker.PlaylistEventListener
            +
            Parameters:
            +
            url - The loaded url that caused the error.
            +
            exclusionDurationMs - The duration for which the playlist should be excluded. Or C.TIME_UNSET if the playlist should not be excluded.
            +
            Returns:
            +
            True if excluding did not encounter errors. False otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html new file mode 100644 index 0000000000..4a09683e08 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.Factory.html @@ -0,0 +1,795 @@ + + + + +HlsMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html new file mode 100644 index 0000000000..1ebfbc560f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.MetadataType.html @@ -0,0 +1,198 @@ + + + + +HlsMediaSource.MetadataType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type HlsMediaSource.MetadataType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.html new file mode 100644 index 0000000000..230e77b8d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsMediaSource.html @@ -0,0 +1,593 @@ + + + + +HlsMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.VariantInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.VariantInfo.html new file mode 100644 index 0000000000..1773a7a922 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.VariantInfo.html @@ -0,0 +1,571 @@ + + + + +HlsTrackMetadataEntry.VariantInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsTrackMetadataEntry.VariantInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        Enclosing class:
        +
        HlsTrackMetadataEntry
        +
        +
        +
        public static final class HlsTrackMetadataEntry.VariantInfo
        +extends Object
        +implements Parcelable
        +
        Holds attributes defined in an EXT-X-STREAM-INF tag.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            averageBitrate

            +
            public final int averageBitrate
            +
            The average bitrate as declared by the AVERAGE-BANDWIDTH attribute of the EXT-X-STREAM-INF + tag, or Format.NO_VALUE if the attribute is not declared.
            +
          • +
          + + + +
            +
          • +

            peakBitrate

            +
            public final int peakBitrate
            +
            The peak bitrate as declared by the BANDWIDTH attribute of the EXT-X-STREAM-INF tag.
            +
          • +
          + + + +
            +
          • +

            videoGroupId

            +
            @Nullable
            +public final String videoGroupId
            +
            The VIDEO value as defined in the EXT-X-STREAM-INF tag, or null if the VIDEO attribute is not + present.
            +
          • +
          + + + +
            +
          • +

            audioGroupId

            +
            @Nullable
            +public final String audioGroupId
            +
            The AUDIO value as defined in the EXT-X-STREAM-INF tag, or null if the AUDIO attribute is not + present.
            +
          • +
          + + + +
            +
          • +

            subtitleGroupId

            +
            @Nullable
            +public final String subtitleGroupId
            +
            The SUBTITLES value as defined in the EXT-X-STREAM-INF tag, or null if the SUBTITLES + attribute is not present.
            +
          • +
          + + + +
            +
          • +

            captionGroupId

            +
            @Nullable
            +public final String captionGroupId
            +
            The CLOSED-CAPTIONS value as defined in the EXT-X-STREAM-INF tag, or null if the + CLOSED-CAPTIONS attribute is not present.
            +
          • +
          + + + + +
        • +
        + + + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.html new file mode 100644 index 0000000000..906ef078f9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/HlsTrackMetadataEntry.html @@ -0,0 +1,536 @@ + + + + +HlsTrackMetadataEntry (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsTrackMetadataEntry

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            groupId

            +
            @Nullable
            +public final String groupId
            +
            The GROUP-ID value of this track, if the track is derived from an EXT-X-MEDIA tag. Null if the + track is not derived from an EXT-X-MEDIA TAG.
            +
          • +
          + + + +
            +
          • +

            name

            +
            @Nullable
            +public final String name
            +
            The NAME value of this track, if the track is derived from an EXT-X-MEDIA tag. Null if the + track is not derived from an EXT-X-MEDIA TAG.
            +
          • +
          + + + +
            +
          • +

            variantInfos

            +
            public final List<HlsTrackMetadataEntry.VariantInfo> variantInfos
            +
            The EXT-X-STREAM-INF tags attributes associated with this track. This field is non-applicable + (and therefore empty) if this track is derived from an EXT-X-MEDIA tag.
            +
          • +
          + + + + +
        • +
        + + + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html new file mode 100644 index 0000000000..d1ca325cae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/MediaParserHlsMediaChunkExtractor.html @@ -0,0 +1,515 @@ + + + + +MediaParserHlsMediaChunkExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaParserHlsMediaChunkExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaParserHlsMediaChunkExtractor

            +
            public MediaParserHlsMediaChunkExtractor​(MediaParser mediaParser,
            +                                         OutputConsumerAdapterV30 outputConsumerAdapter,
            +                                         Format format,
            +                                         boolean overrideInBandCaptionDeclarations,
            +                                         ImmutableList<MediaFormat> muxedCaptionMediaFormats,
            +                                         int leadingBytesToSkip)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            mediaParser - The MediaParser instance to use for extraction of segments. The + provided instance must have completed sniffing, or must have been created by name.
            +
            outputConsumerAdapter - The OutputConsumerAdapterV30 with which + mediaParser was created.
            +
            format - The Format associated with the segment.
            +
            overrideInBandCaptionDeclarations - Whether to ignore any in-band caption track + declarations in favor of using the muxedCaptionMediaFormats instead. If false, + caption declarations found in the extracted media will be used, causing + muxedCaptionMediaFormats to be ignored instead.
            +
            muxedCaptionMediaFormats - The list of in-band caption MediaFormats + that MediaParser should expose.
            +
            leadingBytesToSkip - The number of bytes to skip from the start of the input before + starting extraction.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            public boolean read​(ExtractorInput extractorInput)
            +             throws IOException
            +
            Description copied from interface: HlsMediaChunkExtractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before HlsMediaChunkExtractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface HlsMediaChunkExtractor
            +
            Parameters:
            +
            extractorInput - The input to read from.
            +
            Returns:
            +
            Whether there is any data left to extract. Returns false if the end of input has been + reached.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            onTruncatedSegmentParsed

            +
            public void onTruncatedSegmentParsed()
            +
            Description copied from interface: HlsMediaChunkExtractor
            +
            Resets the sample parsing state. + +

            Resetting the parsing state allows support for Fragmented MP4 EXT-X-I-FRAME-STREAM-INF + segments. EXT-X-I-FRAME-STREAM-INF segments are truncated to include only a leading key frame. + After parsing said keyframe, an extractor may reach an unexpected end of file. By resetting its + state, we can continue feeding samples from the following segments to the extractor. See #7512 for context.

            +
            +
            Specified by:
            +
            onTruncatedSegmentParsed in interface HlsMediaChunkExtractor
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/SampleQueueMappingException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/SampleQueueMappingException.html new file mode 100644 index 0000000000..046d94bed8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/SampleQueueMappingException.html @@ -0,0 +1,298 @@ + + + + +SampleQueueMappingException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SampleQueueMappingException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SampleQueueMappingException

            +
            public SampleQueueMappingException​(@Nullable
            +                                   String mimeType)
            +
            +
            Parameters:
            +
            mimeType - The mime type of the track group whose mapping failed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.html new file mode 100644 index 0000000000..48c046fd51 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.html @@ -0,0 +1,327 @@ + + + + +TimestampAdjusterProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimestampAdjusterProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.TimestampAdjusterProvider
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TimestampAdjusterProvider
        +extends Object
        +
        Provides TimestampAdjuster instances for use during HLS playbacks.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TimestampAdjusterProvider

            +
            public TimestampAdjusterProvider()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdjuster

            +
            public TimestampAdjuster getAdjuster​(int discontinuitySequence)
            +
            Returns a TimestampAdjuster suitable for adjusting the pts timestamps contained in + a chunk with a given discontinuity sequence.
            +
            +
            Parameters:
            +
            discontinuitySequence - The chunk's discontinuity sequence.
            +
            Returns:
            +
            A TimestampAdjuster.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Resets the provider.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/WebvttExtractor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/WebvttExtractor.html new file mode 100644 index 0000000000..e1d2a0b793 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/WebvttExtractor.html @@ -0,0 +1,486 @@ + + + + +WebvttExtractor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttExtractor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.WebvttExtractor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Extractor
        +
        +
        +
        public final class WebvttExtractor
        +extends Object
        +implements Extractor
        +
        A special purpose extractor for WebVTT content in HLS. + +

        This extractor passes through non-empty WebVTT files untouched, however derives the correct + sample timestamp for each by sniffing the X-TIMESTAMP-MAP header along with the start timestamp + of the first cue header. Empty WebVTT files are not passed through, since it's not possible to + derive a sample timestamp in this case.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WebvttExtractor

            +
            public WebvttExtractor​(@Nullable
            +                       String language,
            +                       TimestampAdjuster timestampAdjuster)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sniff

            +
            public boolean sniff​(ExtractorInput input)
            +              throws IOException
            +
            Description copied from interface: Extractor
            +
            Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream. + +

            If true is returned, the input's reading position may have been modified. + Otherwise, only its peek position may have been modified.

            +
            +
            Specified by:
            +
            sniff in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be peeked/read.
            +
            Returns:
            +
            Whether this extractor can read the provided input.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            seek

            +
            public void seek​(long position,
            +                 long timeUs)
            +
            Description copied from interface: Extractor
            +
            Notifies the extractor that a seek has occurred. +

            + Following a call to this method, the ExtractorInput passed to the next invocation of + Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from + position in the stream. Valid random access positions are the start of the stream and + positions that can be obtained from any SeekMap passed to the ExtractorOutput.

            +
            +
            Specified by:
            +
            seek in interface Extractor
            +
            Parameters:
            +
            position - The byte offset in the stream from which data will be provided.
            +
            timeUs - The seek time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Extractor
            +
            Releases all kept resources.
            +
            +
            Specified by:
            +
            release in interface Extractor
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(ExtractorInput input,
            +                PositionHolder seekPosition)
            +         throws IOException
            +
            Description copied from interface: Extractor
            +
            Extracts data read from a provided ExtractorInput. Must not be called before Extractor.init(ExtractorOutput). + +

            A single call to this method will block until some progress has been made, but will not + block for longer than this. Hence each call will consume only a small amount of input data. + +

            In the common case, Extractor.RESULT_CONTINUE is returned to indicate that the ExtractorInput passed to the next read is required to provide data continuing from the + position in the stream reached by the returning call. If the extractor requires data to be + provided from a different position, then that position is set in seekPosition and + Extractor.RESULT_SEEK is returned. If the extractor reached the end of the data provided by the + ExtractorInput, then Extractor.RESULT_END_OF_INPUT is returned. + +

            When this method throws an IOException, extraction may continue by providing an + ExtractorInput with an unchanged read position to + a subsequent call to this method.

            +
            +
            Specified by:
            +
            read in interface Extractor
            +
            Parameters:
            +
            input - The ExtractorInput from which data should be read.
            +
            seekPosition - If Extractor.RESULT_SEEK is returned, this holder is updated to hold the + position of the required data.
            +
            Returns:
            +
            One of the RESULT_ values defined in this interface.
            +
            Throws:
            +
            IOException - If an error occurred reading from or parsing the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html new file mode 100644 index 0000000000..5a7317a786 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.html @@ -0,0 +1,513 @@ + + + + +HlsDownloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsDownloader

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Downloader
        +
        +
        +
        public final class HlsDownloader
        +extends SegmentDownloader<HlsPlaylist>
        +
        A downloader for HLS streams. + +

        Example usage: + +

        
        + SimpleCache cache = new SimpleCache(downloadFolder, new NoOpCacheEvictor(), databaseProvider);
        + CacheDataSource.Factory cacheDataSourceFactory =
        +     new CacheDataSource.Factory()
        +         .setCache(cache)
        +         .setUpstreamDataSourceFactory(new DefaultHttpDataSourceFactory(userAgent));
        + // Create a downloader for the first variant in a master playlist.
        + HlsDownloader hlsDownloader =
        +     new HlsDownloader(
        +         new MediaItem.Builder()
        +             .setUri(playlistUri)
        +             .setStreamKeys(
        +                 Collections.singletonList(
        +                     new StreamKey(HlsMasterPlaylist.GROUP_INDEX_VARIANT, 0)))
        +             .build(),
        +         Collections.singletonList();
        + // Perform the download.
        + hlsDownloader.download(progressListener);
        + // Use the downloaded data for playback.
        + HlsMediaSource mediaSource =
        +     new HlsMediaSource.Factory(cacheDataSourceFactory).createMediaSource(mediaItem);
        + 
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-frame.html new file mode 100644 index 0000000000..0c252ec4ec --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.source.hls.offline (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.hls.offline

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-summary.html new file mode 100644 index 0000000000..030205ee8a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.source.hls.offline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.hls.offline

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        HlsDownloader +
        A downloader for HLS streams.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-tree.html new file mode 100644 index 0000000000..6ae2bb51c4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/offline/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.source.hls.offline Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.hls.offline

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-frame.html new file mode 100644 index 0000000000..bbf5c2abe1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-frame.html @@ -0,0 +1,52 @@ + + + + +com.google.android.exoplayer2.source.hls (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.hls

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-summary.html new file mode 100644 index 0000000000..4e04675961 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-summary.html @@ -0,0 +1,297 @@ + + + + +com.google.android.exoplayer2.source.hls (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.hls

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-tree.html new file mode 100644 index 0000000000..2fdc04e250 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/package-tree.html @@ -0,0 +1,199 @@ + + + + +com.google.android.exoplayer2.source.hls Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.hls

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistParserFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistParserFactory.html new file mode 100644 index 0000000000..cb8d26e713 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistParserFactory.html @@ -0,0 +1,345 @@ + + + + +DefaultHlsPlaylistParserFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHlsPlaylistParserFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistParserFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.html new file mode 100644 index 0000000000..0a4ba8a800 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/DefaultHlsPlaylistTracker.html @@ -0,0 +1,854 @@ + + + + +DefaultHlsPlaylistTracker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHlsPlaylistTracker

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/FilteringHlsPlaylistParserFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/FilteringHlsPlaylistParserFactory.html new file mode 100644 index 0000000000..62a861582c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/FilteringHlsPlaylistParserFactory.html @@ -0,0 +1,354 @@ + + + + +FilteringHlsPlaylistParserFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FilteringHlsPlaylistParserFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.FilteringHlsPlaylistParserFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html new file mode 100644 index 0000000000..4a4378f859 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Rendition.html @@ -0,0 +1,374 @@ + + + + +HlsMasterPlaylist.Rendition (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMasterPlaylist.Rendition

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        HlsMasterPlaylist
        +
        +
        +
        public static final class HlsMasterPlaylist.Rendition
        +extends Object
        +
        A rendition (i.e. an #EXT-X-MEDIA tag) in a master playlist.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            url

            +
            @Nullable
            +public final Uri url
            +
            The rendition's url, or null if the tag does not have a URI attribute.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            Format information associated with this rendition.
            +
          • +
          + + + +
            +
          • +

            groupId

            +
            public final String groupId
            +
            The group to which this rendition belongs.
            +
          • +
          + + + +
            +
          • +

            name

            +
            public final String name
            +
            The name of the rendition.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Rendition

            +
            public Rendition​(@Nullable
            +                 Uri url,
            +                 Format format,
            +                 String groupId,
            +                 String name)
            +
            +
            Parameters:
            +
            url - See url.
            +
            format - See format.
            +
            groupId - See groupId.
            +
            name - See name.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html new file mode 100644 index 0000000000..16db215c34 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.Variant.html @@ -0,0 +1,482 @@ + + + + +HlsMasterPlaylist.Variant (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMasterPlaylist.Variant

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        HlsMasterPlaylist
        +
        +
        +
        public static final class HlsMasterPlaylist.Variant
        +extends Object
        +
        A variant (i.e. an #EXT-X-STREAM-INF tag) in a master playlist.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            url

            +
            public final Uri url
            +
            The variant's url.
            +
          • +
          + + + +
            +
          • +

            format

            +
            public final Format format
            +
            Format information associated with this variant.
            +
          • +
          + + + +
            +
          • +

            videoGroupId

            +
            @Nullable
            +public final String videoGroupId
            +
            The video rendition group referenced by this variant, or null.
            +
          • +
          + + + +
            +
          • +

            audioGroupId

            +
            @Nullable
            +public final String audioGroupId
            +
            The audio rendition group referenced by this variant, or null.
            +
          • +
          + + + +
            +
          • +

            subtitleGroupId

            +
            @Nullable
            +public final String subtitleGroupId
            +
            The subtitle rendition group referenced by this variant, or null.
            +
          • +
          + + + +
            +
          • +

            captionGroupId

            +
            @Nullable
            +public final String captionGroupId
            +
            The caption rendition group referenced by this variant, or null.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createMediaPlaylistVariantUrl

            +
            public static HlsMasterPlaylist.Variant createMediaPlaylistVariantUrl​(Uri url)
            +
            Creates a variant for a given media playlist url.
            +
            +
            Parameters:
            +
            url - The media playlist url.
            +
            Returns:
            +
            The variant instance.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html new file mode 100644 index 0000000000..3dbaf156d4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.html @@ -0,0 +1,688 @@ + + + + +HlsMasterPlaylist (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMasterPlaylist

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html new file mode 100644 index 0000000000..3b20222e1b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Part.html @@ -0,0 +1,433 @@ + + + + +HlsMediaPlaylist.Part (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist.Part

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.PlaylistType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.PlaylistType.html new file mode 100644 index 0000000000..0292439147 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.PlaylistType.html @@ -0,0 +1,189 @@ + + + + +HlsMediaPlaylist.PlaylistType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type HlsMediaPlaylist.PlaylistType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.RenditionReport.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.RenditionReport.html new file mode 100644 index 0000000000..291967d245 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.RenditionReport.html @@ -0,0 +1,357 @@ + + + + +HlsMediaPlaylist.RenditionReport (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist.RenditionReport

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.RenditionReport
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        HlsMediaPlaylist
        +
        +
        +
        public static final class HlsMediaPlaylist.RenditionReport
        +extends Object
        +
        A rendition report for an alternative rendition defined in another media playlist. + +

        See RFC 8216, section 4.4.5.1.4.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          longlastMediaSequence +
          The last media sequence that is in the playlist of the reported rendition.
          +
          intlastPartIndex +
          The last part index that is in the playlist of the reported rendition, or C.INDEX_UNSET if the rendition does not contain partial segments.
          +
          UriplaylistUri +
          The URI of the media playlist of the reported rendition.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          RenditionReport​(Uri playlistUri, + long lastMediaSequence, + int lastPartIndex) +
          Creates a new instance.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            playlistUri

            +
            public final Uri playlistUri
            +
            The URI of the media playlist of the reported rendition.
            +
          • +
          + + + +
            +
          • +

            lastMediaSequence

            +
            public final long lastMediaSequence
            +
            The last media sequence that is in the playlist of the reported rendition.
            +
          • +
          + + + +
            +
          • +

            lastPartIndex

            +
            public final int lastPartIndex
            +
            The last part index that is in the playlist of the reported rendition, or C.INDEX_UNSET if the rendition does not contain partial segments.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RenditionReport

            +
            public RenditionReport​(Uri playlistUri,
            +                       long lastMediaSequence,
            +                       int lastPartIndex)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            playlistUri - See playlistUri.
            +
            lastMediaSequence - See lastMediaSequence.
            +
            lastPartIndex - See lastPartIndex.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html new file mode 100644 index 0000000000..889649b804 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.Segment.html @@ -0,0 +1,467 @@ + + + + +HlsMediaPlaylist.Segment (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist.Segment

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.SegmentBase.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.SegmentBase.html new file mode 100644 index 0000000000..221068dd29 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.SegmentBase.html @@ -0,0 +1,509 @@ + + + + +HlsMediaPlaylist.SegmentBase (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist.SegmentBase

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            url

            +
            public final String url
            +
            The url of the segment.
            +
          • +
          + + + +
            +
          • +

            initializationSegment

            +
            @Nullable
            +public final HlsMediaPlaylist.Segment initializationSegment
            +
            The media initialization section for this segment, as defined by #EXT-X-MAP. May be null if + the media playlist does not define a media initialization section for this segment. The same + instance is used for all segments that share an EXT-X-MAP tag.
            +
          • +
          + + + +
            +
          • +

            durationUs

            +
            public final long durationUs
            +
            The duration of the segment in microseconds, as defined by #EXTINF or #EXT-X-PART.
            +
          • +
          + + + +
            +
          • +

            relativeDiscontinuitySequence

            +
            public final int relativeDiscontinuitySequence
            +
            The number of #EXT-X-DISCONTINUITY tags in the playlist before the segment.
            +
          • +
          + + + +
            +
          • +

            relativeStartTimeUs

            +
            public final long relativeStartTimeUs
            +
            The start time of the segment in microseconds, relative to the start of the playlist.
            +
          • +
          + + + +
            +
          • +

            drmInitData

            +
            @Nullable
            +public final DrmInitData drmInitData
            +
            DRM initialization data for sample decryption, or null if the segment does not use CDM-DRM + protection.
            +
          • +
          + + + +
            +
          • +

            fullSegmentEncryptionKeyUri

            +
            @Nullable
            +public final String fullSegmentEncryptionKeyUri
            +
            The encryption identity key uri as defined by #EXT-X-KEY, or null if the segment does not use + full segment encryption with identity key.
            +
          • +
          + + + +
            +
          • +

            encryptionIV

            +
            @Nullable
            +public final String encryptionIV
            +
            The encryption initialization vector as defined by #EXT-X-KEY, or null if the segment is not + encrypted.
            +
          • +
          + + + +
            +
          • +

            byteRangeOffset

            +
            public final long byteRangeOffset
            +
            The segment's byte range offset, as defined by #EXT-X-BYTERANGE, #EXT-X-PART or + #EXT-X-PRELOAD-HINT.
            +
          • +
          + + + +
            +
          • +

            byteRangeLength

            +
            public final long byteRangeLength
            +
            The segment's byte range length, as defined by #EXT-X-BYTERANGE, #EXT-X-PART or + #EXT-X-PRELOAD-HINT, or C.LENGTH_UNSET if no byte range is specified or the byte + range is open-ended.
            +
          • +
          + + + +
            +
          • +

            hasGapTag

            +
            public final boolean hasGapTag
            +
            Whether the segment is marked as a gap.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.ServerControl.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.ServerControl.html new file mode 100644 index 0000000000..312b2a7ef5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.ServerControl.html @@ -0,0 +1,399 @@ + + + + +HlsMediaPlaylist.ServerControl (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist.ServerControl

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        HlsMediaPlaylist
        +
        +
        +
        public static final class HlsMediaPlaylist.ServerControl
        +extends Object
        +
        Server control attributes.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          booleancanBlockReload +
          Whether the server supports blocking playlist reload.
          +
          booleancanSkipDateRanges +
          Whether the playlist can produce delta updates that skip older #EXT-X-DATERANGE tags in + addition to media segments.
          +
          longholdBackUs +
          The server-recommended live offset in microseconds, or C.TIME_UNSET if none defined.
          +
          longpartHoldBackUs +
          The server-recommended live offset in microseconds in low-latency mode, or C.TIME_UNSET if none defined.
          +
          longskipUntilUs +
          The skip boundary for delta updates in microseconds, or C.TIME_UNSET if delta updates + are not supported.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          ServerControl​(long skipUntilUs, + boolean canSkipDateRanges, + long holdBackUs, + long partHoldBackUs, + boolean canBlockReload) +
          Creates a new instance.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            skipUntilUs

            +
            public final long skipUntilUs
            +
            The skip boundary for delta updates in microseconds, or C.TIME_UNSET if delta updates + are not supported.
            +
          • +
          + + + +
            +
          • +

            canSkipDateRanges

            +
            public final boolean canSkipDateRanges
            +
            Whether the playlist can produce delta updates that skip older #EXT-X-DATERANGE tags in + addition to media segments.
            +
          • +
          + + + +
            +
          • +

            holdBackUs

            +
            public final long holdBackUs
            +
            The server-recommended live offset in microseconds, or C.TIME_UNSET if none defined.
            +
          • +
          + + + +
            +
          • +

            partHoldBackUs

            +
            public final long partHoldBackUs
            +
            The server-recommended live offset in microseconds in low-latency mode, or C.TIME_UNSET if none defined.
            +
          • +
          + + + +
            +
          • +

            canBlockReload

            +
            public final boolean canBlockReload
            +
            Whether the server supports blocking playlist reload.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ServerControl

            +
            public ServerControl​(long skipUntilUs,
            +                     boolean canSkipDateRanges,
            +                     long holdBackUs,
            +                     long partHoldBackUs,
            +                     boolean canBlockReload)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            skipUntilUs - See skipUntilUs.
            +
            canSkipDateRanges - See canSkipDateRanges.
            +
            holdBackUs - See holdBackUs.
            +
            partHoldBackUs - See partHoldBackUs.
            +
            canBlockReload - See canBlockReload.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html new file mode 100644 index 0000000000..54997700ab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.html @@ -0,0 +1,909 @@ + + + + +HlsMediaPlaylist (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsMediaPlaylist

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PLAYLIST_TYPE_UNKNOWN

            +
            public static final int PLAYLIST_TYPE_UNKNOWN
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYLIST_TYPE_VOD

            +
            public static final int PLAYLIST_TYPE_VOD
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PLAYLIST_TYPE_EVENT

            +
            public static final int PLAYLIST_TYPE_EVENT
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            startOffsetUs

            +
            public final long startOffsetUs
            +
            The start offset in microseconds, as defined by #EXT-X-START.
            +
          • +
          + + + +
            +
          • +

            startTimeUs

            +
            public final long startTimeUs
            +
            If hasProgramDateTime is true, contains the datetime as microseconds since epoch. + Otherwise, contains the aggregated duration of removed segments up to this snapshot of the + playlist.
            +
          • +
          + + + +
            +
          • +

            hasDiscontinuitySequence

            +
            public final boolean hasDiscontinuitySequence
            +
            Whether the playlist contains the #EXT-X-DISCONTINUITY-SEQUENCE tag.
            +
          • +
          + + + +
            +
          • +

            discontinuitySequence

            +
            public final int discontinuitySequence
            +
            The discontinuity sequence number of the first media segment in the playlist, as defined by + #EXT-X-DISCONTINUITY-SEQUENCE.
            +
          • +
          + + + +
            +
          • +

            mediaSequence

            +
            public final long mediaSequence
            +
            The media sequence number of the first media segment in the playlist, as defined by + #EXT-X-MEDIA-SEQUENCE.
            +
          • +
          + + + +
            +
          • +

            version

            +
            public final int version
            +
            The compatibility version, as defined by #EXT-X-VERSION.
            +
          • +
          + + + +
            +
          • +

            targetDurationUs

            +
            public final long targetDurationUs
            +
            The target duration in microseconds, as defined by #EXT-X-TARGETDURATION.
            +
          • +
          + + + +
            +
          • +

            partTargetDurationUs

            +
            public final long partTargetDurationUs
            +
            The target duration for segment parts, as defined by #EXT-X-PART-INF, or C.TIME_UNSET + if undefined.
            +
          • +
          + + + +
            +
          • +

            hasEndTag

            +
            public final boolean hasEndTag
            +
            Whether the playlist contains the #EXT-X-ENDLIST tag.
            +
          • +
          + + + +
            +
          • +

            hasProgramDateTime

            +
            public final boolean hasProgramDateTime
            +
            Whether the playlist contains a #EXT-X-PROGRAM-DATE-TIME tag.
            +
          • +
          + + + +
            +
          • +

            protectionSchemes

            +
            @Nullable
            +public final DrmInitData protectionSchemes
            +
            Contains the CDM protection schemes used by segments in this playlist. Does not contain any key + acquisition data. Null if none of the segments in the playlist is CDM-encrypted.
            +
          • +
          + + + + + + + +
            +
          • +

            trailingParts

            +
            public final List<HlsMediaPlaylist.Part> trailingParts
            +
            The list of parts at the end of the playlist for which the segment is not in the playlist yet.
            +
          • +
          + + + + + + + +
            +
          • +

            durationUs

            +
            public final long durationUs
            +
            The total duration of the playlist in microseconds.
            +
          • +
          + + + + +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copy

            +
            public HlsMediaPlaylist copy​(List<StreamKey> streamKeys)
            +
            Description copied from interface: FilterableManifest
            +
            Returns a copy of the manifest including only the streams specified by the given keys. If the + manifest is unchanged then the instance may return itself.
            +
            +
            Parameters:
            +
            streamKeys - A non-empty list of stream keys.
            +
            Returns:
            +
            The filtered manifest.
            +
            +
          • +
          + + + +
            +
          • +

            isNewerThan

            +
            public boolean isNewerThan​(@Nullable
            +                           HlsMediaPlaylist other)
            +
            Returns whether this playlist is newer than other.
            +
            +
            Parameters:
            +
            other - The playlist to compare.
            +
            Returns:
            +
            Whether this playlist is newer than other.
            +
            +
          • +
          + + + +
            +
          • +

            getEndTimeUs

            +
            public long getEndTimeUs()
            +
            Returns the result of adding the duration of the playlist to its start time.
            +
          • +
          + + + +
            +
          • +

            copyWith

            +
            public HlsMediaPlaylist copyWith​(long startTimeUs,
            +                                 int discontinuitySequence)
            +
            Returns a playlist identical to this one except for the start time, the discontinuity sequence + and hasDiscontinuitySequence values. The first two are set to the specified values, + hasDiscontinuitySequence is set to true.
            +
            +
            Parameters:
            +
            startTimeUs - The start time for the returned playlist.
            +
            discontinuitySequence - The discontinuity sequence for the returned playlist.
            +
            Returns:
            +
            An identical playlist including the provided discontinuity and timing information.
            +
            +
          • +
          + + + +
            +
          • +

            copyWithEndTag

            +
            public HlsMediaPlaylist copyWithEndTag()
            +
            Returns a playlist identical to this one except that an end tag is added. If an end tag is + already present then the playlist will return itself.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html new file mode 100644 index 0000000000..d85693ef90 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.html @@ -0,0 +1,368 @@ + + + + +HlsPlaylist (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            baseUri

            +
            public final String baseUri
            +
            The base uri. Used to resolve relative paths.
            +
          • +
          + + + +
            +
          • +

            tags

            +
            public final List<String> tags
            +
            The list of tags in the playlist.
            +
          • +
          + + + +
            +
          • +

            hasIndependentSegments

            +
            public final boolean hasIndependentSegments
            +
            Whether the media is formed of independent segments, as defined by the + #EXT-X-INDEPENDENT-SEGMENTS tag.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html new file mode 100644 index 0000000000..fad0542c33 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.DeltaUpdateException.html @@ -0,0 +1,297 @@ + + + + +HlsPlaylistParser.DeltaUpdateException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsPlaylistParser.DeltaUpdateException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DeltaUpdateException

            +
            public DeltaUpdateException()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html new file mode 100644 index 0000000000..e3fc0ff457 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.html @@ -0,0 +1,378 @@ + + + + +HlsPlaylistParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsPlaylistParser

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HlsPlaylistParser

            +
            public HlsPlaylistParser()
            +
            Creates an instance where media playlists are parsed without inheriting attributes from a + master playlist.
            +
          • +
          + + + +
            +
          • +

            HlsPlaylistParser

            +
            public HlsPlaylistParser​(HlsMasterPlaylist masterPlaylist,
            +                         @Nullable
            +                         HlsMediaPlaylist previousMediaPlaylist)
            +
            Creates an instance where parsed media playlists inherit attributes from the given master + playlist.
            +
            +
            Parameters:
            +
            masterPlaylist - The master playlist from which media playlists will inherit attributes.
            +
            previousMediaPlaylist - The previous media playlist from which the new media playlist may + inherit skipped segments.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html new file mode 100644 index 0000000000..7533eb78d3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParserFactory.html @@ -0,0 +1,284 @@ + + + + +HlsPlaylistParserFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsPlaylistParserFactory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createPlaylistParser

            +
            ParsingLoadable.Parser<HlsPlaylist> createPlaylistParser()
            +
            Returns a stand-alone playlist parser. Playlists parsed by the returned parser do not inherit + any attributes from other playlists.
            +
          • +
          + + + +
            +
          • +

            createPlaylistParser

            +
            ParsingLoadable.Parser<HlsPlaylist> createPlaylistParser​(HlsMasterPlaylist masterPlaylist,
            +                                                         @Nullable
            +                                                         HlsMediaPlaylist previousMediaPlaylist)
            +
            Returns a playlist parser for playlists that were referenced by the given HlsMasterPlaylist. Returned HlsMediaPlaylist instances may inherit attributes from + masterPlaylist.
            +
            +
            Parameters:
            +
            masterPlaylist - The master playlist that referenced any parsed media playlists.
            +
            previousMediaPlaylist - The previous media playlist or null if there is no previous media + playlist.
            +
            Returns:
            +
            A parser for HLS playlists.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.Factory.html new file mode 100644 index 0000000000..c16e7908a2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.Factory.html @@ -0,0 +1,264 @@ + + + + +HlsPlaylistTracker.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsPlaylistTracker.Factory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistEventListener.html new file mode 100644 index 0000000000..dce6099105 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistEventListener.html @@ -0,0 +1,284 @@ + + + + +HlsPlaylistTracker.PlaylistEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsPlaylistTracker.PlaylistEventListener

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        HlsMediaPeriod
        +
        +
        +
        Enclosing interface:
        +
        HlsPlaylistTracker
        +
        +
        +
        public static interface HlsPlaylistTracker.PlaylistEventListener
        +
        Called on playlist loading events.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPlaylistChanged

            +
            void onPlaylistChanged()
            +
            Called a playlist changes.
            +
          • +
          + + + +
            +
          • +

            onPlaylistError

            +
            boolean onPlaylistError​(Uri url,
            +                        long exclusionDurationMs)
            +
            Called if an error is encountered while loading a playlist.
            +
            +
            Parameters:
            +
            url - The loaded url that caused the error.
            +
            exclusionDurationMs - The duration for which the playlist should be excluded. Or C.TIME_UNSET if the playlist should not be excluded.
            +
            Returns:
            +
            True if excluding did not encounter errors. False otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistResetException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistResetException.html new file mode 100644 index 0000000000..36a7a65512 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistResetException.html @@ -0,0 +1,345 @@ + + + + +HlsPlaylistTracker.PlaylistResetException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsPlaylistTracker.PlaylistResetException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        HlsPlaylistTracker
        +
        +
        +
        public static final class HlsPlaylistTracker.PlaylistResetException
        +extends IOException
        +
        Thrown when the media sequence of a new snapshot indicates the server has reset.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            url

            +
            public final Uri url
            +
            The url of the reset playlist.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlaylistResetException

            +
            public PlaylistResetException​(Uri url)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            url - See url.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistStuckException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistStuckException.html new file mode 100644 index 0000000000..dc95ebcf39 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PlaylistStuckException.html @@ -0,0 +1,345 @@ + + + + +HlsPlaylistTracker.PlaylistStuckException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HlsPlaylistTracker.PlaylistStuckException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing interface:
        +
        HlsPlaylistTracker
        +
        +
        +
        public static final class HlsPlaylistTracker.PlaylistStuckException
        +extends IOException
        +
        Thrown when a playlist is considered to be stuck due to a server side error.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            url

            +
            public final Uri url
            +
            The url of the stuck playlist.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlaylistStuckException

            +
            public PlaylistStuckException​(Uri url)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            url - See url.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener.html new file mode 100644 index 0000000000..88865eac91 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.PrimaryPlaylistListener.html @@ -0,0 +1,262 @@ + + + + +HlsPlaylistTracker.PrimaryPlaylistListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsPlaylistTracker.PrimaryPlaylistListener

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        HlsMediaSource
        +
        +
        +
        Enclosing interface:
        +
        HlsPlaylistTracker
        +
        +
        +
        public static interface HlsPlaylistTracker.PrimaryPlaylistListener
        +
        Listener for primary playlist changes.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onPrimaryPlaylistRefreshed

            +
            void onPrimaryPlaylistRefreshed​(HlsMediaPlaylist mediaPlaylist)
            +
            Called when the primary playlist changes.
            +
            +
            Parameters:
            +
            mediaPlaylist - The primary playlist new snapshot.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html new file mode 100644 index 0000000000..38ef419910 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.html @@ -0,0 +1,583 @@ + + + + +HlsPlaylistTracker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HlsPlaylistTracker

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultHlsPlaylistTracker
        +
        +
        +
        public interface HlsPlaylistTracker
        +
        Tracks playlists associated to an HLS stream and provides snapshots. + +

        The playlist tracker is responsible for exposing the seeking window, which is defined by the + segments that one of the playlists exposes. This playlist is called primary and needs to be + periodically refreshed in the case of live streams. Note that the primary playlist is one of the + media playlists while the master playlist is an optional kind of playlist defined by the HLS + specification (RFC 8216). + +

        Playlist loads might encounter errors. The tracker may choose to exclude them to ensure a + primary playlist is always available.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            start

            +
            void start​(Uri initialPlaylistUri,
            +           MediaSourceEventListener.EventDispatcher eventDispatcher,
            +           HlsPlaylistTracker.PrimaryPlaylistListener listener)
            +
            Starts the playlist tracker. + +

            Must be called from the playback thread. A tracker may be restarted after a stop() + call.

            +
            +
            Parameters:
            +
            initialPlaylistUri - Uri of the HLS stream. Can point to a media playlist or a master + playlist.
            +
            eventDispatcher - A dispatcher to notify of events.
            +
            listener - A callback for the primary playlist change events.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            addListener

            +
            void addListener​(HlsPlaylistTracker.PlaylistEventListener listener)
            +
            Registers a listener to receive events from the playlist tracker.
            +
            +
            Parameters:
            +
            listener - The listener.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getPlaylistSnapshot

            +
            @Nullable
            +HlsMediaPlaylist getPlaylistSnapshot​(Uri url,
            +                                     boolean isForPlayback)
            +
            Returns the most recent snapshot available of the playlist referenced by the provided Uri.
            +
            +
            Parameters:
            +
            url - The Uri corresponding to the requested media playlist.
            +
            isForPlayback - Whether the caller might use the snapshot to request media segments for + playback. If true, the primary playlist may be updated to the one requested.
            +
            Returns:
            +
            The most recent snapshot of the playlist referenced by the provided Uri. May be + null if no snapshot has been loaded yet.
            +
            +
          • +
          + + + +
            +
          • +

            getInitialStartTimeUs

            +
            long getInitialStartTimeUs()
            +
            Returns the start time of the first loaded primary playlist, or C.TIME_UNSET if no + media playlist has been loaded.
            +
          • +
          + + + +
            +
          • +

            isSnapshotValid

            +
            boolean isSnapshotValid​(Uri url)
            +
            Returns whether the snapshot of the playlist referenced by the provided Uri is valid, + meaning all the segments referenced by the playlist are expected to be available. If the + playlist is not valid then some of the segments may no longer be available.
            +
            +
            Parameters:
            +
            url - The Uri.
            +
            Returns:
            +
            Whether the snapshot of the playlist referenced by the provided Uri is valid.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowPrimaryPlaylistRefreshError

            +
            void maybeThrowPrimaryPlaylistRefreshError()
            +                                    throws IOException
            +
            If the tracker is having trouble refreshing the master playlist or the primary playlist, this + method throws the underlying error. Otherwise, does nothing.
            +
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowPlaylistRefreshError

            +
            void maybeThrowPlaylistRefreshError​(Uri url)
            +                             throws IOException
            +
            If the playlist is having trouble refreshing the playlist referenced by the given Uri, + this method throws the underlying error.
            +
            +
            Parameters:
            +
            url - The Uri.
            +
            Throws:
            +
            IOException - The underyling error.
            +
            +
          • +
          + + + +
            +
          • +

            refreshPlaylist

            +
            void refreshPlaylist​(Uri url)
            +
            Requests a playlist refresh and removes it from the exclusion list. + +

            The playlist tracker may choose to delay the playlist refresh. The request is discarded if a + refresh was already pending.

            +
            +
            Parameters:
            +
            url - The Uri of the playlist to be refreshed.
            +
            +
          • +
          + + + +
            +
          • +

            isLive

            +
            boolean isLive()
            +
            Returns whether the tracked playlists describe a live stream.
            +
            +
            Returns:
            +
            True if the content is live. False otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-frame.html new file mode 100644 index 0000000000..832dd87f2b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-frame.html @@ -0,0 +1,58 @@ + + + + +com.google.android.exoplayer2.source.hls.playlist (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.hls.playlist

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-summary.html new file mode 100644 index 0000000000..84a6f622e6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-summary.html @@ -0,0 +1,334 @@ + + + + +com.google.android.exoplayer2.source.hls.playlist (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.hls.playlist

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-tree.html new file mode 100644 index 0000000000..4e21db57cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/hls/playlist/package-tree.html @@ -0,0 +1,207 @@ + + + + +com.google.android.exoplayer2.source.hls.playlist Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.hls.playlist

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html new file mode 100644 index 0000000000..ec8a6bba70 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/InputReaderAdapterV30.html @@ -0,0 +1,429 @@ + + + + +InputReaderAdapterV30 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class InputReaderAdapterV30

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/MediaParserUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/MediaParserUtil.html new file mode 100644 index 0000000000..b2a0945e02 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/MediaParserUtil.html @@ -0,0 +1,436 @@ + + + + +MediaParserUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaParserUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaParserUtil
        +extends Object
        +
        Miscellaneous constants and utility methods related to the MediaParser integration. + +

        For documentation on constants, please see the MediaParser documentation.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.html new file mode 100644 index 0000000000..bf10b38ac5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.html @@ -0,0 +1,629 @@ + + + + +OutputConsumerAdapterV30 (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class OutputConsumerAdapterV30

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-frame.html new file mode 100644 index 0000000000..72401ea715 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-frame.html @@ -0,0 +1,29 @@ + + + + +com.google.android.exoplayer2.source.mediaparser (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.mediaparser

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-summary.html new file mode 100644 index 0000000000..9e232034ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-summary.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.source.mediaparser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.mediaparser

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-tree.html new file mode 100644 index 0000000000..f418d70a03 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/mediaparser/package-tree.html @@ -0,0 +1,163 @@ + + + + +com.google.android.exoplayer2.source.mediaparser Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.mediaparser

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-frame.html new file mode 100644 index 0000000000..5b404287dd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-frame.html @@ -0,0 +1,92 @@ + + + + +com.google.android.exoplayer2.source (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source

      +
      +

      Interfaces

      + +

      Classes

      + +

      Exceptions

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-summary.html new file mode 100644 index 0000000000..7930216aa7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-summary.html @@ -0,0 +1,542 @@ + + + + +com.google.android.exoplayer2.source (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-tree.html new file mode 100644 index 0000000000..e9d0e4570a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/package-tree.html @@ -0,0 +1,258 @@ + + + + +com.google.android.exoplayer2.source Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.Factory.html new file mode 100644 index 0000000000..051f318c35 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.Factory.html @@ -0,0 +1,333 @@ + + + + +DefaultSsChunkSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultSsChunkSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createChunkSource

            +
            public SsChunkSource createChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                                       SsManifest manifest,
            +                                       int elementIndex,
            +                                       ExoTrackSelection trackSelection,
            +                                       @Nullable
            +                                       TransferListener transferListener)
            +
            Description copied from interface: SsChunkSource.Factory
            +
            Creates a new SsChunkSource.
            +
            +
            Specified by:
            +
            createChunkSource in interface SsChunkSource.Factory
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            elementIndex - The index of the corresponding stream element in the manifest.
            +
            trackSelection - The track selection.
            +
            transferListener - The transfer listener which should be informed of any data transfers. + May be null if no listener is available.
            +
            Returns:
            +
            The created SsChunkSource.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.html new file mode 100644 index 0000000000..649d4bf718 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/DefaultSsChunkSource.html @@ -0,0 +1,629 @@ + + + + +DefaultSsChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultSsChunkSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultSsChunkSource

            +
            public DefaultSsChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                            SsManifest manifest,
            +                            int streamElementIndex,
            +                            ExoTrackSelection trackSelection,
            +                            DataSource dataSource)
            +
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            streamElementIndex - The index of the stream element in the manifest.
            +
            trackSelection - The track selection.
            +
            dataSource - A DataSource suitable for loading the media data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: ChunkSource
            +
            Adjusts a seek position given the specified SeekParameters. Chunk boundaries are used + as sync points.
            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface ChunkSource
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed.
            +
            Returns:
            +
            The adjusted seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            updateManifest

            +
            public void updateManifest​(SsManifest newManifest)
            +
            Description copied from interface: SsChunkSource
            +
            Updates the manifest.
            +
            +
            Specified by:
            +
            updateManifest in interface SsChunkSource
            +
            Parameters:
            +
            newManifest - The new manifest.
            +
            +
          • +
          + + + +
            +
          • +

            updateTrackSelection

            +
            public void updateTrackSelection​(ExoTrackSelection trackSelection)
            +
            Description copied from interface: SsChunkSource
            +
            Updates the track selection.
            +
            +
            Specified by:
            +
            updateTrackSelection in interface SsChunkSource
            +
            Parameters:
            +
            trackSelection - The new track selection instance. Must be equivalent to the previous one.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +                     throws IOException
            +
            Description copied from interface: ChunkSource
            +
            If the source is currently having difficulty providing chunks, then this method throws the + underlying error. Otherwise does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface ChunkSource
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredQueueSize

            +
            public int getPreferredQueueSize​(long playbackPositionUs,
            +                                 List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Evaluates whether MediaChunks should be removed from the back of the queue. + +

            Removing MediaChunks from the back of the queue can be useful if they could be + replaced with chunks of a significantly higher quality (e.g. because the available bandwidth + has substantially increased). + +

            Will only be called if no MediaChunk in the queue is currently loading.

            +
            +
            Specified by:
            +
            getPreferredQueueSize in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            The preferred queue size.
            +
            +
          • +
          + + + +
            +
          • +

            shouldCancelLoad

            +
            public boolean shouldCancelLoad​(long playbackPositionUs,
            +                                Chunk loadingChunk,
            +                                List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Returns whether an ongoing load of a chunk should be canceled.
            +
            +
            Specified by:
            +
            shouldCancelLoad in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            loadingChunk - The currently loading Chunk.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            Whether the ongoing load of loadingChunk should be canceled.
            +
            +
          • +
          + + + +
            +
          • +

            getNextChunk

            +
            public final void getNextChunk​(long playbackPositionUs,
            +                               long loadPositionUs,
            +                               List<? extends MediaChunk> queue,
            +                               ChunkHolder out)
            +
            Description copied from interface: ChunkSource
            +
            Returns the next chunk to load. + +

            If a chunk is available then ChunkHolder.chunk is set. If the end of the stream has + been reached then ChunkHolder.endOfStream is set. If a chunk is not available but the + end of the stream has not been reached, the ChunkHolder is not modified.

            +
            +
            Specified by:
            +
            getNextChunk in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this chunk source belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            loadPositionUs - The current load position in microseconds. If queue is empty, + this is the starting position from which chunks should be provided. Else it's equal to + Chunk.endTimeUs of the last chunk in the queue.
            +
            queue - The queue of buffered MediaChunks.
            +
            out - A holder to populate.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadCompleted

            +
            public void onChunkLoadCompleted​(Chunk chunk)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream has finished loading a chunk obtained from this + source.
            +
            +
            Specified by:
            +
            onChunkLoadCompleted in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load has been completed.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadError

            +
            public boolean onChunkLoadError​(Chunk chunk,
            +                                boolean cancelable,
            +                                Exception e,
            +                                long exclusionDurationMs)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream encounters an error loading a chunk obtained from + this source.
            +
            +
            Specified by:
            +
            onChunkLoadError in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load encountered the error.
            +
            cancelable - Whether the load can be canceled.
            +
            e - The error.
            +
            exclusionDurationMs - The duration for which the associated track may be excluded, or + C.TIME_UNSET if the track may not be excluded.
            +
            Returns:
            +
            Whether the load should be canceled so that a replacement chunk can be loaded instead. + Must be false if cancelable is false. If true, ChunkSource.getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement + chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: ChunkSource
            +
            Releases any held resources.
            +
            +
            Specified by:
            +
            release in interface ChunkSource
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.Factory.html new file mode 100644 index 0000000000..061219a697 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.Factory.html @@ -0,0 +1,278 @@ + + + + +SsChunkSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SsChunkSource.Factory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createChunkSource

            +
            SsChunkSource createChunkSource​(LoaderErrorThrower manifestLoaderErrorThrower,
            +                                SsManifest manifest,
            +                                int streamElementIndex,
            +                                ExoTrackSelection trackSelection,
            +                                @Nullable
            +                                TransferListener transferListener)
            +
            Creates a new SsChunkSource.
            +
            +
            Parameters:
            +
            manifestLoaderErrorThrower - Throws errors affecting loading of manifests.
            +
            manifest - The initial manifest.
            +
            streamElementIndex - The index of the corresponding stream element in the manifest.
            +
            trackSelection - The track selection.
            +
            transferListener - The transfer listener which should be informed of any data transfers. + May be null if no listener is available.
            +
            Returns:
            +
            The created SsChunkSource.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html new file mode 100644 index 0000000000..5fb55762b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsChunkSource.html @@ -0,0 +1,314 @@ + + + + +SsChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SsChunkSource

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateManifest

            +
            void updateManifest​(SsManifest newManifest)
            +
            Updates the manifest.
            +
            +
            Parameters:
            +
            newManifest - The new manifest.
            +
            +
          • +
          + + + +
            +
          • +

            updateTrackSelection

            +
            void updateTrackSelection​(ExoTrackSelection trackSelection)
            +
            Updates the track selection.
            +
            +
            Parameters:
            +
            trackSelection - The new track selection instance. Must be equivalent to the previous one.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.Factory.html new file mode 100644 index 0000000000..fe61caf9e4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.Factory.html @@ -0,0 +1,748 @@ + + + + +SsMediaSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SsMediaSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html new file mode 100644 index 0000000000..c77d96dc80 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.html @@ -0,0 +1,657 @@ + + + + +SsMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.ProtectionElement.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.ProtectionElement.html new file mode 100644 index 0000000000..ae3dfb516b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.ProtectionElement.html @@ -0,0 +1,337 @@ + + + + +SsManifest.ProtectionElement (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SsManifest.ProtectionElement

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.ProtectionElement
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SsManifest
        +
        +
        +
        public static class SsManifest.ProtectionElement
        +extends Object
        +
        Represents a protection element containing a single header.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            uuid

            +
            public final UUID uuid
            +
          • +
          + + + +
            +
          • +

            data

            +
            public final byte[] data
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ProtectionElement

            +
            public ProtectionElement​(UUID uuid,
            +                         byte[] data,
            +                         TrackEncryptionBox[] trackEncryptionBoxes)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.StreamElement.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.StreamElement.html new file mode 100644 index 0000000000..5ec37a80e1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.StreamElement.html @@ -0,0 +1,615 @@ + + + + +SsManifest.StreamElement (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SsManifest.StreamElement

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SsManifest
        +
        +
        +
        public static class SsManifest.StreamElement
        +extends Object
        +
        Represents a StreamIndex element.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            type

            +
            public final int type
            +
          • +
          + + + +
            +
          • +

            subType

            +
            public final String subType
            +
          • +
          + + + +
            +
          • +

            timescale

            +
            public final long timescale
            +
          • +
          + + + +
            +
          • +

            name

            +
            public final String name
            +
          • +
          + + + +
            +
          • +

            maxWidth

            +
            public final int maxWidth
            +
          • +
          + + + +
            +
          • +

            maxHeight

            +
            public final int maxHeight
            +
          • +
          + + + +
            +
          • +

            displayWidth

            +
            public final int displayWidth
            +
          • +
          + + + +
            +
          • +

            displayHeight

            +
            public final int displayHeight
            +
          • +
          + + + +
            +
          • +

            language

            +
            @Nullable
            +public final String language
            +
          • +
          + + + +
            +
          • +

            formats

            +
            public final Format[] formats
            +
          • +
          + + + +
            +
          • +

            chunkCount

            +
            public final int chunkCount
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StreamElement

            +
            public StreamElement​(String baseUri,
            +                     String chunkTemplate,
            +                     int type,
            +                     String subType,
            +                     long timescale,
            +                     String name,
            +                     int maxWidth,
            +                     int maxHeight,
            +                     int displayWidth,
            +                     int displayHeight,
            +                     @Nullable
            +                     String language,
            +                     Format[] formats,
            +                     List<Long> chunkStartTimes,
            +                     long lastChunkDuration)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copy

            +
            public SsManifest.StreamElement copy​(Format[] formats)
            +
            Creates a copy of this stream element with the formats replaced with those specified.
            +
            +
            Parameters:
            +
            formats - The formats to be included in the copy.
            +
            Returns:
            +
            A copy of this stream element with the formats replaced.
            +
            Throws:
            +
            IndexOutOfBoundsException - If a key has an invalid index.
            +
            +
          • +
          + + + +
            +
          • +

            getChunkIndex

            +
            public int getChunkIndex​(long timeUs)
            +
            Returns the index of the chunk that contains the specified time.
            +
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            Returns:
            +
            The index of the corresponding chunk.
            +
            +
          • +
          + + + +
            +
          • +

            getStartTimeUs

            +
            public long getStartTimeUs​(int chunkIndex)
            +
            Returns the start time of the specified chunk.
            +
            +
            Parameters:
            +
            chunkIndex - The index of the chunk.
            +
            Returns:
            +
            The start time of the chunk, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getChunkDurationUs

            +
            public long getChunkDurationUs​(int chunkIndex)
            +
            Returns the duration of the specified chunk.
            +
            +
            Parameters:
            +
            chunkIndex - The index of the chunk.
            +
            Returns:
            +
            The duration of the chunk, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            buildRequestUri

            +
            public Uri buildRequestUri​(int track,
            +                           int chunkIndex)
            +
            Builds a uri for requesting the specified chunk of the specified track.
            +
            +
            Parameters:
            +
            track - The index of the track for which to build the URL.
            +
            chunkIndex - The index of the chunk for which to build the URL.
            +
            Returns:
            +
            The request uri.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.html new file mode 100644 index 0000000000..40f7525f31 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifest.html @@ -0,0 +1,571 @@ + + + + +SsManifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            majorVersion

            +
            public final int majorVersion
            +
            The client manifest major version.
            +
          • +
          + + + +
            +
          • +

            minorVersion

            +
            public final int minorVersion
            +
            The client manifest minor version.
            +
          • +
          + + + +
            +
          • +

            lookAheadCount

            +
            public final int lookAheadCount
            +
            The number of fragments in a lookahead, or UNSET_LOOKAHEAD if the lookahead is + unspecified.
            +
          • +
          + + + +
            +
          • +

            isLive

            +
            public final boolean isLive
            +
            Whether the manifest describes a live presentation still in progress.
            +
          • +
          + + + +
            +
          • +

            protectionElement

            +
            @Nullable
            +public final SsManifest.ProtectionElement protectionElement
            +
            Content protection information, or null if the content is not protected.
            +
          • +
          + + + + + + + +
            +
          • +

            durationUs

            +
            public final long durationUs
            +
            The overall presentation duration of the media in microseconds, or C.TIME_UNSET if the + duration is unknown.
            +
          • +
          + + + +
            +
          • +

            dvrWindowLengthUs

            +
            public final long dvrWindowLengthUs
            +
            The length of the trailing window for a live broadcast in microseconds, or C.TIME_UNSET + if the stream is not live or if the window length is unspecified.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SsManifest

            +
            public SsManifest​(int majorVersion,
            +                  int minorVersion,
            +                  long timescale,
            +                  long duration,
            +                  long dvrWindowLength,
            +                  int lookAheadCount,
            +                  boolean isLive,
            +                  @Nullable
            +                  SsManifest.ProtectionElement protectionElement,
            +                  SsManifest.StreamElement[] streamElements)
            +
            +
            Parameters:
            +
            majorVersion - The client manifest major version.
            +
            minorVersion - The client manifest minor version.
            +
            timescale - The timescale of the media as the number of units that pass in one second.
            +
            duration - The overall presentation duration in units of the timescale attribute, or 0 if + the duration is unknown.
            +
            dvrWindowLength - The length of the trailing window in units of the timescale attribute, + or 0 if this attribute is unspecified or not applicable.
            +
            lookAheadCount - The number of fragments in a lookahead, or UNSET_LOOKAHEAD if + this attribute is unspecified or not applicable.
            +
            isLive - True if the manifest describes a live presentation still in progress. False + otherwise.
            +
            protectionElement - Content protection information, or null if the content is not + protected.
            +
            streamElements - The contained stream elements.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            copy

            +
            public final SsManifest copy​(List<StreamKey> streamKeys)
            +
            Description copied from interface: FilterableManifest
            +
            Returns a copy of the manifest including only the streams specified by the given keys. If the + manifest is unchanged then the instance may return itself.
            +
            +
            Specified by:
            +
            copy in interface FilterableManifest<SsManifest>
            +
            Parameters:
            +
            streamKeys - A non-empty list of stream keys.
            +
            Returns:
            +
            The filtered manifest.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.MissingFieldException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.MissingFieldException.html new file mode 100644 index 0000000000..e65158d360 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.MissingFieldException.html @@ -0,0 +1,302 @@ + + + + +SsManifestParser.MissingFieldException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SsManifestParser.MissingFieldException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MissingFieldException

            +
            public MissingFieldException​(String fieldName)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.html new file mode 100644 index 0000000000..fb2af60d3d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/SsManifestParser.html @@ -0,0 +1,351 @@ + + + + +SsManifestParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifestParser
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-frame.html new file mode 100644 index 0000000000..93968ab281 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-frame.html @@ -0,0 +1,34 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.manifest (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.smoothstreaming.manifest

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-summary.html new file mode 100644 index 0000000000..a54e349936 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-summary.html @@ -0,0 +1,203 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.manifest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.smoothstreaming.manifest

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-tree.html new file mode 100644 index 0000000000..e674ded582 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/manifest/package-tree.html @@ -0,0 +1,181 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.manifest Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.smoothstreaming.manifest

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.html new file mode 100644 index 0000000000..921f79c2bf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/SsDownloader.html @@ -0,0 +1,505 @@ + + + + +SsDownloader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + + +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Downloader
        +
        +
        +
        public final class SsDownloader
        +extends SegmentDownloader<SsManifest>
        +
        A downloader for SmoothStreaming streams. + +

        Example usage: + +

        
        + SimpleCache cache = new SimpleCache(downloadFolder, new NoOpCacheEvictor(), databaseProvider);
        + CacheDataSource.Factory cacheDataSourceFactory =
        +     new CacheDataSource.Factory()
        +         .setCache(cache)
        +         .setUpstreamDataSourceFactory(new DefaultHttpDataSourceFactory(userAgent));
        + // Create a downloader for the first track of the first stream element.
        + SsDownloader ssDownloader =
        +     new SsDownloader(
        +         new MediaItem.Builder()
        +             .setUri(manifestUri)
        +             .setStreamKeys(Collections.singletonList(new StreamKey(0, 0)))
        +             .build(),
        +         cacheDataSourceFactory);
        + // Perform the download.
        + ssDownloader.download(progressListener);
        + // Use the downloaded data for playback.
        + SsMediaSource mediaSource =
        +     new SsMediaSource.Factory(cacheDataSourceFactory).createMediaSource(mediaItem);
        + 
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-frame.html new file mode 100644 index 0000000000..23a987f375 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.offline (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.smoothstreaming.offline

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-summary.html new file mode 100644 index 0000000000..359868c551 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.offline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.smoothstreaming.offline

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        SsDownloader +
        A downloader for SmoothStreaming streams.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-tree.html new file mode 100644 index 0000000000..92bc47f294 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/offline/package-tree.html @@ -0,0 +1,165 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming.offline Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.smoothstreaming.offline

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.android.exoplayer2.offline.SegmentDownloader<M> (implements com.google.android.exoplayer2.offline.Downloader) +
            +
          • com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
          • +
          +
        • +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-frame.html new file mode 100644 index 0000000000..22c66e2eca --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-frame.html @@ -0,0 +1,35 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.source.smoothstreaming

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-summary.html new file mode 100644 index 0000000000..6a18b985b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-summary.html @@ -0,0 +1,207 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.source.smoothstreaming

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-tree.html new file mode 100644 index 0000000000..89fecdfa91 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/source/smoothstreaming/package-tree.html @@ -0,0 +1,177 @@ + + + + +com.google.android.exoplayer2.source.smoothstreaming Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.source.smoothstreaming

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.AddMediaItems.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.AddMediaItems.html new file mode 100644 index 0000000000..9b6280a5de --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.AddMediaItems.html @@ -0,0 +1,357 @@ + + + + +Action.AddMediaItems (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.AddMediaItems

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearMediaItems.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearMediaItems.html new file mode 100644 index 0000000000..dd4b526482 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearMediaItems.html @@ -0,0 +1,354 @@ + + + + +Action.ClearMediaItems (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.ClearMediaItems

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearVideoSurface.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearVideoSurface.html new file mode 100644 index 0000000000..b84b964366 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ClearVideoSurface.html @@ -0,0 +1,354 @@ + + + + +Action.ClearVideoSurface (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.ClearVideoSurface

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ExecuteRunnable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ExecuteRunnable.html new file mode 100644 index 0000000000..cc9fa0af85 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ExecuteRunnable.html @@ -0,0 +1,356 @@ + + + + +Action.ExecuteRunnable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.ExecuteRunnable

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Action
        +
        +
        +
        public static final class Action.ExecuteRunnable
        +extends Action
        +
        Calls Runnable.run().
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.MoveMediaItem.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.MoveMediaItem.html new file mode 100644 index 0000000000..ce3a5a3bc5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.MoveMediaItem.html @@ -0,0 +1,360 @@ + + + + +Action.MoveMediaItem (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.MoveMediaItem

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.PlayUntilPosition.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.PlayUntilPosition.html new file mode 100644 index 0000000000..1cc3d20e2a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.PlayUntilPosition.html @@ -0,0 +1,403 @@ + + + + +Action.PlayUntilPosition (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.PlayUntilPosition

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Action
        +
        +
        +
        public static final class Action.PlayUntilPosition
        +extends Action
        +
        Schedules a play action to be executed, waits until the player reaches the specified position, + and pauses the player again.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Prepare.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Prepare.html new file mode 100644 index 0000000000..fa10ef8d01 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Prepare.html @@ -0,0 +1,354 @@ + + + + +Action.Prepare (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.Prepare

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItem.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItem.html new file mode 100644 index 0000000000..04e1d1647c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItem.html @@ -0,0 +1,357 @@ + + + + +Action.RemoveMediaItem (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.RemoveMediaItem

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItems.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItems.html new file mode 100644 index 0000000000..15d92444cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.RemoveMediaItems.html @@ -0,0 +1,360 @@ + + + + +Action.RemoveMediaItems (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.RemoveMediaItems

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Seek.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Seek.html new file mode 100644 index 0000000000..c13cd466d7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Seek.html @@ -0,0 +1,390 @@ + + + + +Action.Seek (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.Seek

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SendMessages.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SendMessages.html new file mode 100644 index 0000000000..f6352289f3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SendMessages.html @@ -0,0 +1,389 @@ + + + + +Action.SendMessages (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SendMessages

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SendMessages

            +
            public SendMessages​(String tag,
            +                    PlayerMessage.Target target,
            +                    long positionMs)
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            target - A message target.
            +
            positionMs - The position at which the message should be sent, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            SendMessages

            +
            public SendMessages​(String tag,
            +                    PlayerMessage.Target target,
            +                    int windowIndex,
            +                    long positionMs,
            +                    boolean deleteAfterDelivery)
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            target - A message target.
            +
            windowIndex - The window index at which the message should be sent, or C.INDEX_UNSET for the current window.
            +
            positionMs - The position at which the message should be sent, in milliseconds.
            +
            deleteAfterDelivery - Whether the message will be deleted after delivery.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetAudioAttributes.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetAudioAttributes.html new file mode 100644 index 0000000000..04d063d10c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetAudioAttributes.html @@ -0,0 +1,360 @@ + + + + +Action.SetAudioAttributes (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetAudioAttributes

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItems.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItems.html new file mode 100644 index 0000000000..8f6ed07d4a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItems.html @@ -0,0 +1,363 @@ + + + + +Action.SetMediaItems (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetMediaItems

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SetMediaItems

            +
            public SetMediaItems​(String tag,
            +                     int windowIndex,
            +                     long positionMs,
            +                     MediaSource... mediaSources)
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            windowIndex - The window index to start playback from.
            +
            positionMs - The position in milliseconds to start playback from.
            +
            mediaSources - The media sources to populate the playlist with.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItemsResetPosition.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItemsResetPosition.html new file mode 100644 index 0000000000..50dea0a8a3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetMediaItemsResetPosition.html @@ -0,0 +1,360 @@ + + + + +Action.SetMediaItemsResetPosition (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetMediaItemsResetPosition

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlayWhenReady.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlayWhenReady.html new file mode 100644 index 0000000000..a6934d2e7a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlayWhenReady.html @@ -0,0 +1,357 @@ + + + + +Action.SetPlayWhenReady (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetPlayWhenReady

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlaybackParameters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlaybackParameters.html new file mode 100644 index 0000000000..fb87a440d7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetPlaybackParameters.html @@ -0,0 +1,360 @@ + + + + +Action.SetPlaybackParameters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetPlaybackParameters

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRendererDisabled.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRendererDisabled.html new file mode 100644 index 0000000000..b3224b1f6b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRendererDisabled.html @@ -0,0 +1,361 @@ + + + + +Action.SetRendererDisabled (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetRendererDisabled

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRepeatMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRepeatMode.html new file mode 100644 index 0000000000..184dd12d71 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetRepeatMode.html @@ -0,0 +1,358 @@ + + + + +Action.SetRepeatMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetRepeatMode

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleModeEnabled.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleModeEnabled.html new file mode 100644 index 0000000000..590eb52f50 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleModeEnabled.html @@ -0,0 +1,357 @@ + + + + +Action.SetShuffleModeEnabled (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetShuffleModeEnabled

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleOrder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleOrder.html new file mode 100644 index 0000000000..33c8013fde --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetShuffleOrder.html @@ -0,0 +1,357 @@ + + + + +Action.SetShuffleOrder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetShuffleOrder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetVideoSurface.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetVideoSurface.html new file mode 100644 index 0000000000..ca40c4e445 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.SetVideoSurface.html @@ -0,0 +1,354 @@ + + + + +Action.SetVideoSurface (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.SetVideoSurface

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Stop.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Stop.html new file mode 100644 index 0000000000..e2b4cc0692 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.Stop.html @@ -0,0 +1,380 @@ + + + + +Action.Stop (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.Stop

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ThrowPlaybackException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ThrowPlaybackException.html new file mode 100644 index 0000000000..bad0bea320 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.ThrowPlaybackException.html @@ -0,0 +1,357 @@ + + + + +Action.ThrowPlaybackException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.ThrowPlaybackException

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Action
        +
        +
        +
        public static final class Action.ThrowPlaybackException
        +extends Action
        +
        Throws a playback exception on the playback thread.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForIsLoading.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForIsLoading.html new file mode 100644 index 0000000000..7237efc99a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForIsLoading.html @@ -0,0 +1,399 @@ + + + + +Action.WaitForIsLoading (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForIsLoading

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForMessage.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForMessage.html new file mode 100644 index 0000000000..69a55512da --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForMessage.html @@ -0,0 +1,400 @@ + + + + +Action.WaitForMessage (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForMessage

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Action
        +
        +
        +
        public static final class Action.WaitForMessage
        +extends Action
        +
        Waits for a player message to arrive. If the target already received a message, the action + returns immediately.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPendingPlayerCommands.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPendingPlayerCommands.html new file mode 100644 index 0000000000..a79c9ad309 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPendingPlayerCommands.html @@ -0,0 +1,396 @@ + + + + +Action.WaitForPendingPlayerCommands (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForPendingPlayerCommands

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Action
        +
        +
        +
        public static final class Action.WaitForPendingPlayerCommands
        +extends Action
        +
        Waits until the player acknowledged all pending player commands.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html new file mode 100644 index 0000000000..2d152c3832 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlayWhenReady.html @@ -0,0 +1,400 @@ + + + + +Action.WaitForPlayWhenReady (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForPlayWhenReady

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlaybackState.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlaybackState.html new file mode 100644 index 0000000000..366bb4e371 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPlaybackState.html @@ -0,0 +1,400 @@ + + + + +Action.WaitForPlaybackState (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForPlaybackState

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html new file mode 100644 index 0000000000..1c861cbefa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForPositionDiscontinuity.html @@ -0,0 +1,396 @@ + + + + +Action.WaitForPositionDiscontinuity (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForPositionDiscontinuity

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html new file mode 100644 index 0000000000..04ea9d1a61 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.WaitForTimelineChanged.html @@ -0,0 +1,428 @@ + + + + +Action.WaitForTimelineChanged (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action.WaitForTimelineChanged

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WaitForTimelineChanged

            +
            public WaitForTimelineChanged​(String tag,
            +                              @Nullable
            +                              Timeline expectedTimeline,
            +                              @TimelineChangeReason
            +                              int expectedReason)
            +
            Creates action waiting for a timeline change for a given reason.
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            expectedTimeline - The expected timeline or null if any timeline change is + relevant.
            +
            expectedReason - The expected timeline change reason.
            +
            +
          • +
          + + + +
            +
          • +

            WaitForTimelineChanged

            +
            public WaitForTimelineChanged​(String tag)
            +
            Creates action waiting for any timeline change for any reason.
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.html new file mode 100644 index 0000000000..beccc075ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Action.html @@ -0,0 +1,634 @@ + + + + +Action (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Action

      +
      +
      + + +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Action

            +
            public Action​(String tag,
            +              @Nullable
            +              String description)
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            description - A description to be logged when the action is executed, or null if no + logging is required.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            doActionAndScheduleNext

            +
            public final void doActionAndScheduleNext​(SimpleExoPlayer player,
            +                                          DefaultTrackSelector trackSelector,
            +                                          @Nullable
            +                                          Surface surface,
            +                                          HandlerWrapper handler,
            +                                          @Nullable
            +                                          com.google.android.exoplayer2.testutil.ActionSchedule.ActionNode nextAction)
            +
            Executes the action and schedules the next.
            +
            +
            Parameters:
            +
            player - The player to which the action should be applied.
            +
            trackSelector - The track selector to which the action should be applied.
            +
            surface - The surface to use when applying actions, or null if no surface is + needed.
            +
            handler - The handler to use to pass to the next action.
            +
            nextAction - The next action to schedule immediately after this action finished, or + null if there's no next action.
            +
            +
          • +
          + + + +
            +
          • +

            doActionAndScheduleNextImpl

            +
            protected void doActionAndScheduleNextImpl​(SimpleExoPlayer player,
            +                                           DefaultTrackSelector trackSelector,
            +                                           @Nullable
            +                                           Surface surface,
            +                                           HandlerWrapper handler,
            +                                           @Nullable
            +                                           com.google.android.exoplayer2.testutil.ActionSchedule.ActionNode nextAction)
            +
            Called by doActionAndScheduleNext(SimpleExoPlayer, DefaultTrackSelector, Surface, + HandlerWrapper, ActionNode) to perform the action and to schedule the next action node.
            +
            +
            Parameters:
            +
            player - The player to which the action should be applied.
            +
            trackSelector - The track selector to which the action should be applied.
            +
            surface - The surface to use when applying actions, or null if no surface is + needed.
            +
            handler - The handler to use to pass to the next action.
            +
            nextAction - The next action to schedule immediately after this action finished, or + null if there's no next action.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html new file mode 100644 index 0000000000..e558e5e9a3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Builder.html @@ -0,0 +1,1356 @@ + + + + +ActionSchedule.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ActionSchedule.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ActionSchedule.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder​(String tag)
            +
            +
            Parameters:
            +
            tag - A tag to use for logging.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            delay

            +
            public ActionSchedule.Builder delay​(long delayMs)
            +
            Schedules a delay between executing any previous actions and any subsequent ones.
            +
            +
            Parameters:
            +
            delayMs - The delay in milliseconds.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            apply

            +
            public ActionSchedule.Builder apply​(Action action)
            +
            Schedules an action.
            +
            +
            Parameters:
            +
            action - The action to schedule.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            repeat

            +
            public ActionSchedule.Builder repeat​(Action action,
            +                                     long intervalMs)
            +
            Schedules an action repeatedly.
            +
            +
            Parameters:
            +
            action - The action to schedule.
            +
            intervalMs - The interval between each repetition in milliseconds.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public ActionSchedule.Builder seek​(long positionMs)
            +
            Schedules a seek action.
            +
            +
            Parameters:
            +
            positionMs - The seek position.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public ActionSchedule.Builder seek​(int windowIndex,
            +                                   long positionMs)
            +
            Schedules a seek action.
            +
            +
            Parameters:
            +
            windowIndex - The window to seek to.
            +
            positionMs - The seek position.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            seek

            +
            public ActionSchedule.Builder seek​(int windowIndex,
            +                                   long positionMs,
            +                                   boolean catchIllegalSeekException)
            +
            Schedules a seek action to be executed.
            +
            +
            Parameters:
            +
            windowIndex - The window to seek to.
            +
            positionMs - The seek position.
            +
            catchIllegalSeekException - Whether an illegal seek position should be caught or not.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            seekAndWait

            +
            public ActionSchedule.Builder seekAndWait​(long positionMs)
            +
            Schedules a seek action and waits until playback resumes after the seek.
            +
            +
            Parameters:
            +
            positionMs - The seek position.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForPendingPlayerCommands

            +
            public ActionSchedule.Builder waitForPendingPlayerCommands()
            +
            Schedules a delay until all pending player commands have been handled. + +

            A command is considered as having been handled if it arrived on the playback thread and + the player acknowledged that it received the command back to the app thread.

            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            stop

            +
            public ActionSchedule.Builder stop()
            +
            Schedules a stop action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public ActionSchedule.Builder stop​(boolean reset)
            +
            Schedules a stop action.
            +
            +
            Parameters:
            +
            reset - Whether the player should be reset.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            play

            +
            public ActionSchedule.Builder play()
            +
            Schedules a play action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            playUntilPosition

            +
            public ActionSchedule.Builder playUntilPosition​(int windowIndex,
            +                                                long positionMs)
            +
            Schedules a play action, waits until the player reaches the specified position, and pauses + the player again.
            +
            +
            Parameters:
            +
            windowIndex - The window index at which the player should be paused again.
            +
            positionMs - The position in that window at which the player should be paused again.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            playUntilStartOfWindow

            +
            public ActionSchedule.Builder playUntilStartOfWindow​(int windowIndex)
            +
            Schedules a play action, waits until the player reaches the start of the specified window, + and pauses the player again.
            +
            +
            Parameters:
            +
            windowIndex - The window index at which the player should be paused again.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            pause

            +
            public ActionSchedule.Builder pause()
            +
            Schedules a pause action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            enableRenderer

            +
            public ActionSchedule.Builder enableRenderer​(int index)
            +
            Schedules a renderer enable action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            disableRenderer

            +
            public ActionSchedule.Builder disableRenderer​(int index)
            +
            Schedules a renderer disable action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            clearVideoSurface

            +
            public ActionSchedule.Builder clearVideoSurface()
            +
            Schedules a clear video surface action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setVideoSurface

            +
            public ActionSchedule.Builder setVideoSurface()
            +
            Schedules a set video surface action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setAudioAttributes

            +
            public ActionSchedule.Builder setAudioAttributes​(AudioAttributes audioAttributes,
            +                                                 boolean handleAudioFocus)
            +
            Schedules application of audio attributes.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSources

            +
            public ActionSchedule.Builder setMediaSources​(int windowIndex,
            +                                              long positionMs,
            +                                              MediaSource... sources)
            +
            Schedules a set media items action to be executed.
            +
            +
            Parameters:
            +
            windowIndex - The window index to start playback from or C.INDEX_UNSET if the + playback position should not be reset.
            +
            positionMs - The position in milliseconds from where playback should start. If C.TIME_UNSET is passed the default position is used. In any case, if windowIndex + is set to C.INDEX_UNSET the position is not reset at all and this parameter is + ignored.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSources

            +
            public ActionSchedule.Builder setMediaSources​(boolean resetPosition,
            +                                              MediaSource... sources)
            +
            Schedules a set media items action to be executed.
            +
            +
            Parameters:
            +
            resetPosition - Whether the playback position should be reset.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSources

            +
            public ActionSchedule.Builder setMediaSources​(MediaSource... mediaSources)
            +
            Schedules a set media items action to be executed.
            +
            +
            Parameters:
            +
            mediaSources - The media sources to add.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public ActionSchedule.Builder addMediaSources​(MediaSource... mediaSources)
            +
            Schedules a add media items action to be executed.
            +
            +
            Parameters:
            +
            mediaSources - The media sources to add.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItem

            +
            public ActionSchedule.Builder moveMediaItem​(int currentIndex,
            +                                            int newIndex)
            +
            Schedules a move media item action to be executed.
            +
            +
            Parameters:
            +
            currentIndex - The current index of the item to move.
            +
            newIndex - The index after the item has been moved.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItem

            +
            public ActionSchedule.Builder removeMediaItem​(int index)
            +
            Schedules a remove media item action to be executed.
            +
            +
            Parameters:
            +
            index - The index of the media item to be removed.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItems

            +
            public ActionSchedule.Builder removeMediaItems​(int fromIndex,
            +                                               int toIndex)
            +
            Schedules a remove media items action to be executed.
            +
            +
            Parameters:
            +
            fromIndex - The start of the range of media items to be removed.
            +
            toIndex - The end of the range of media items to be removed (exclusive).
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            prepare

            +
            public ActionSchedule.Builder prepare()
            +
            Schedules a prepare action to be executed.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            clearMediaItems

            +
            public ActionSchedule.Builder clearMediaItems()
            +
            Schedules a clear media items action to be created.
            +
            +
            Returns:
            +
            The builder. for convenience,
            +
            +
          • +
          + + + +
            +
          • +

            setRepeatMode

            +
            public ActionSchedule.Builder setRepeatMode​(@RepeatMode
            +                                            int repeatMode)
            +
            Schedules a repeat mode setting action.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleOrder

            +
            public ActionSchedule.Builder setShuffleOrder​(ShuffleOrder shuffleOrder)
            +
            Schedules a set shuffle order action to be executed.
            +
            +
            Parameters:
            +
            shuffleOrder - The shuffle order.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleModeEnabled

            +
            public ActionSchedule.Builder setShuffleModeEnabled​(boolean shuffleModeEnabled)
            +
            Schedules a shuffle setting action to be executed.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            sendMessage

            +
            public ActionSchedule.Builder sendMessage​(PlayerMessage.Target target,
            +                                          long positionMs)
            +
            Schedules sending a PlayerMessage.
            +
            +
            Parameters:
            +
            positionMs - The position in the current window at which the message should be sent, in + milliseconds.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            sendMessage

            +
            public ActionSchedule.Builder sendMessage​(PlayerMessage.Target target,
            +                                          int windowIndex,
            +                                          long positionMs)
            +
            Schedules sending a PlayerMessage.
            +
            +
            Parameters:
            +
            target - A message target.
            +
            windowIndex - The window index at which the message should be sent.
            +
            positionMs - The position at which the message should be sent, in milliseconds.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            sendMessage

            +
            public ActionSchedule.Builder sendMessage​(PlayerMessage.Target target,
            +                                          int windowIndex,
            +                                          long positionMs,
            +                                          boolean deleteAfterDelivery)
            +
            Schedules to send a PlayerMessage.
            +
            +
            Parameters:
            +
            target - A message target.
            +
            windowIndex - The window index at which the message should be sent.
            +
            positionMs - The position at which the message should be sent, in milliseconds.
            +
            deleteAfterDelivery - Whether the message will be deleted after delivery.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForTimelineChanged

            +
            public ActionSchedule.Builder waitForTimelineChanged()
            +
            Schedules a delay until any timeline change.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForTimelineChanged

            +
            public ActionSchedule.Builder waitForTimelineChanged​(Timeline expectedTimeline,
            +                                                     @TimelineChangeReason
            +                                                     int expectedReason)
            +
            Schedules a delay until the timeline changed to a specified expected timeline.
            +
            +
            Parameters:
            +
            expectedTimeline - The expected timeline.
            +
            expectedReason - The expected reason of the timeline change.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForPositionDiscontinuity

            +
            public ActionSchedule.Builder waitForPositionDiscontinuity()
            +
            Schedules a delay until the next position discontinuity.
            +
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForPlayWhenReady

            +
            public ActionSchedule.Builder waitForPlayWhenReady​(boolean targetPlayWhenReady)
            +
            Schedules a delay until playWhenReady has the specified value.
            +
            +
            Parameters:
            +
            targetPlayWhenReady - The target playWhenReady value.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForPlaybackState

            +
            public ActionSchedule.Builder waitForPlaybackState​(@State
            +                                                   int targetPlaybackState)
            +
            Schedules a delay until the playback state changed to the specified state.
            +
            +
            Parameters:
            +
            targetPlaybackState - The target playback state.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            waitForIsLoading

            +
            public ActionSchedule.Builder waitForIsLoading​(boolean targetIsLoading)
            +
            Schedules a delay until player.isLoading() changes to the specified value.
            +
            +
            Parameters:
            +
            targetIsLoading - The target value of player.isLoading().
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            throwPlaybackException

            +
            public ActionSchedule.Builder throwPlaybackException​(ExoPlaybackException exception)
            +
            Schedules to throw a playback exception on the playback thread.
            +
            +
            Parameters:
            +
            exception - The exception to throw.
            +
            Returns:
            +
            The builder, for convenience.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html new file mode 100644 index 0000000000..157e9bef29 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.Callback.html @@ -0,0 +1,258 @@ + + + + +ActionSchedule.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ActionSchedule.Callback

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        ExoPlayerTestRunner
        +
        +
        +
        Enclosing class:
        +
        ActionSchedule
        +
        +
        +
        public static interface ActionSchedule.Callback
        +
        Callback to notify listener that the action schedule has finished.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onActionScheduleFinished

            +
            void onActionScheduleFinished()
            +
            Called when action schedule finished executing all its actions.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerRunnable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerRunnable.html new file mode 100644 index 0000000000..8a924fb011 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerRunnable.html @@ -0,0 +1,330 @@ + + + + +ActionSchedule.PlayerRunnable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ActionSchedule.PlayerRunnable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ActionSchedule.PlayerRunnable
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerRunnable

            +
            public PlayerRunnable()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            run

            +
            public abstract void run​(SimpleExoPlayer player)
            +
            Executes Runnable with reference to player.
            +
          • +
          + + + +
            +
          • +

            run

            +
            public final void run()
            +
            +
            Specified by:
            +
            run in interface Runnable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.Callback.html new file mode 100644 index 0000000000..e1a90a39d8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.Callback.html @@ -0,0 +1,254 @@ + + + + +ActionSchedule.PlayerTarget.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ActionSchedule.PlayerTarget.Callback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ActionSchedule.PlayerTarget
        +
        +
        +
        public static interface ActionSchedule.PlayerTarget.Callback
        +
        Callback to be called when message arrives.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onMessageArrived

            +
            void onMessageArrived()
            +
            Notifies about the arrival of the message.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.html new file mode 100644 index 0000000000..b0a15f397d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.PlayerTarget.html @@ -0,0 +1,385 @@ + + + + +ActionSchedule.PlayerTarget (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ActionSchedule.PlayerTarget

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerTarget

            +
            public PlayerTarget()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            handleMessage

            +
            public abstract void handleMessage​(SimpleExoPlayer player,
            +                                   int messageType,
            +                                   @Nullable
            +                                   Object message)
            +
            Handles the message send to the component and additionally provides access to the player.
            +
          • +
          + + + +
            +
          • +

            handleMessage

            +
            public final void handleMessage​(int messageType,
            +                                @Nullable
            +                                Object message)
            +
            Description copied from interface: PlayerMessage.Target
            +
            Handles a message delivered to the target.
            +
            +
            Specified by:
            +
            handleMessage in interface PlayerMessage.Target
            +
            Parameters:
            +
            messageType - The message type.
            +
            message - The message payload.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.html new file mode 100644 index 0000000000..146b0b67bb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ActionSchedule.html @@ -0,0 +1,265 @@ + + + + +ActionSchedule (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ActionSchedule

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ActionSchedule
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ActionSchedule
        +extends Object
        +
        Schedules a sequence of Actions for execution during a test.
        +
      • +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html new file mode 100644 index 0000000000..f08039af74 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AdditionalFailureInfo.html @@ -0,0 +1,340 @@ + + + + +AdditionalFailureInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdditionalFailureInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.AdditionalFailureInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        org.junit.rules.TestRule
        +
        +
        +
        public final class AdditionalFailureInfo
        +extends Object
        +implements org.junit.rules.TestRule
        +
        A JUnit Rule that attaches additional info to any errors/exceptions thrown by the test. + +

        This is useful for tests where the line-number from a stacktrace doesn't provide enough detail + about the failure, for example when an assertion fails inside a loop. + +

        This can be preferable to many calls to Truth.assertWithMessage(String) because it + will also add info to errors/exceptions that bubble out from the system-under-test. + +

        Includes special handling for AssertionError to ensure that test failures are + correctly distinguished from test errors (all other errors/exceptions).

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdditionalFailureInfo

            +
            public AdditionalFailureInfo()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setInfo

            +
            public void setInfo​(@Nullable
            +                    String info)
            +
            Set the additional info to be added to any test failures. Pass null to skip adding any + additional info. + +

            Can be called from any thread.

            +
          • +
          + + + +
            +
          • +

            apply

            +
            public org.junit.runners.model.Statement apply​(org.junit.runners.model.Statement base,
            +                                               org.junit.runner.Description description)
            +
            +
            Specified by:
            +
            apply in interface org.junit.rules.TestRule
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AutoAdvancingFakeClock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AutoAdvancingFakeClock.html new file mode 100644 index 0000000000..e3386fcb5a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/AutoAdvancingFakeClock.html @@ -0,0 +1,389 @@ + + + + +AutoAdvancingFakeClock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AutoAdvancingFakeClock

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Clock
        +
        +
        +
        public final class AutoAdvancingFakeClock
        +extends FakeClock
        +
        FakeClock extension which automatically advances time whenever an empty message is + enqueued at a future time. + +

        The clock time is advanced to the time of enqueued empty messages. The first Handler sending + messages at a future time will be allowed to advance time to ensure there is only one primary + time source at a time. This should usually be the Handler of the internal playback loop. You can + reset the handler so that the next Handler that sends messages at a + future time becomes the primary time source.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AutoAdvancingFakeClock

            +
            public AutoAdvancingFakeClock()
            +
            Creates the auto-advancing clock with an initial time of 0.
            +
          • +
          + + + +
            +
          • +

            AutoAdvancingFakeClock

            +
            public AutoAdvancingFakeClock​(long initialTimeMs)
            +
            Creates the auto-advancing clock.
            +
            +
            Parameters:
            +
            initialTimeMs - The initial time of the clock in milliseconds.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addHandlerMessageAtTime

            +
            protected boolean addHandlerMessageAtTime​(HandlerWrapper handler,
            +                                          int message,
            +                                          long timeMs)
            +
            Description copied from class: FakeClock
            +
            Adds an empty handler message to list of pending messages.
            +
            +
            Overrides:
            +
            addHandlerMessageAtTime in class FakeClock
            +
            +
          • +
          + + + +
            +
          • +

            resetHandler

            +
            public void resetHandler()
            +
            Resets the internal handler, so that this clock can later be used with another handler.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.RequestSet.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.RequestSet.html new file mode 100644 index 0000000000..b43aac7de8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.RequestSet.html @@ -0,0 +1,387 @@ + + + + +CacheAsserts.RequestSet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheAsserts.RequestSet

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        CacheAsserts
        +
        +
        +
        public static final class CacheAsserts.RequestSet
        +extends Object
        +
        Defines a set of data requests.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.html new file mode 100644 index 0000000000..2e35959ed9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CacheAsserts.html @@ -0,0 +1,391 @@ + + + + +CacheAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.CacheAsserts
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class CacheAsserts
        +extends Object
        +
        Assertion methods for Cache.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            assertCachedData

            +
            public static void assertCachedData​(Cache cache,
            +                                    CacheAsserts.RequestSet requestSet)
            +                             throws IOException
            +
            Asserts that the cache contains necessary data for the requestSet.
            +
            +
            Throws:
            +
            IOException - If an error occurred reading from the Cache.
            +
            +
          • +
          + + + +
            +
          • +

            assertCachedData

            +
            public static void assertCachedData​(Cache cache,
            +                                    FakeDataSet fakeDataSet)
            +                             throws IOException
            +
            Asserts that the cache content is equal to the data in the fakeDataSet.
            +
            +
            Throws:
            +
            IOException - If an error occurred reading from the Cache.
            +
            +
          • +
          + + + +
            +
          • +

            assertDataCached

            +
            public static void assertDataCached​(Cache cache,
            +                                    DataSpec dataSpec,
            +                                    byte[] expected)
            +                             throws IOException
            +
            Asserts that the cache contains the given data for dataSpec.
            +
            +
            Throws:
            +
            IOException - If an error occurred reading from the Cache.
            +
            +
          • +
          + + + +
            +
          • +

            assertReadData

            +
            public static void assertReadData​(DataSource dataSource,
            +                                  DataSpec dataSpec,
            +                                  byte[] expected)
            +                           throws IOException
            +
            Asserts that the read data from dataSource specified by dataSpec is equal to + expected or not.
            +
            +
            Throws:
            +
            IOException - If an error occurred reading from the Cache.
            +
            +
          • +
          + + + +
            +
          • +

            assertCacheEmpty

            +
            public static void assertCacheEmpty​(Cache cache)
            +
            Asserts that the cache is empty.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingAudioSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingAudioSink.html new file mode 100644 index 0000000000..95c2e3330b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingAudioSink.html @@ -0,0 +1,521 @@ + + + + +CapturingAudioSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CapturingAudioSink

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CapturingAudioSink

            +
            public CapturingAudioSink​(AudioSink sink)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            configure

            +
            public void configure​(Format inputFormat,
            +                      int specifiedBufferSize,
            +                      @Nullable
            +                      int[] outputChannels)
            +               throws AudioSink.ConfigurationException
            +
            Description copied from interface: AudioSink
            +
            Configures (or reconfigures) the sink.
            +
            +
            Specified by:
            +
            configure in interface AudioSink
            +
            Overrides:
            +
            configure in class ForwardingAudioSink
            +
            Parameters:
            +
            inputFormat - The format of audio data provided in the input buffers.
            +
            specifiedBufferSize - A specific size for the playback buffer in bytes, or 0 to infer a + suitable buffer size.
            +
            outputChannels - A mapping from input to output channels that is applied to this sink's + input as a preprocessing step, if handling PCM input. Specify null to leave the + input unchanged. Otherwise, the element at index i specifies index of the input + channel to map to output channel i when preprocessing input buffers. After the map + is applied the audio data will have outputChannels.length channels.
            +
            Throws:
            +
            AudioSink.ConfigurationException - If an error occurs configuring the sink.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            handleBuffer

            +
            public boolean handleBuffer​(ByteBuffer buffer,
            +                            long presentationTimeUs,
            +                            int encodedAccessUnitCount)
            +                     throws AudioSink.InitializationException,
            +                            AudioSink.WriteException
            +
            Description copied from interface: AudioSink
            +
            Attempts to process data from a ByteBuffer, starting from its current position and + ending at its limit (exclusive). The position of the ByteBuffer is advanced by the + number of bytes that were handled. AudioSink.Listener.onPositionDiscontinuity() will be called if + presentationTimeUs is discontinuous with the last buffer handled since the last reset. + +

            Returns whether the data was handled in full. If the data was not handled in full then the + same ByteBuffer must be provided to subsequent calls until it has been fully consumed, + except in the case of an intervening call to AudioSink.flush() (or to AudioSink.configure(Format, + int, int[]) that causes the sink to be flushed).

            +
            +
            Specified by:
            +
            handleBuffer in interface AudioSink
            +
            Overrides:
            +
            handleBuffer in class ForwardingAudioSink
            +
            Parameters:
            +
            buffer - The buffer containing audio data.
            +
            presentationTimeUs - The presentation timestamp of the buffer in microseconds.
            +
            encodedAccessUnitCount - The number of encoded access units in the buffer, or 1 if the + buffer contains PCM audio. This allows batching multiple encoded access units in one + buffer.
            +
            Returns:
            +
            Whether the buffer was handled fully.
            +
            Throws:
            +
            AudioSink.InitializationException - If an error occurs initializing the sink.
            +
            AudioSink.WriteException - If an error occurs writing the audio data.
            +
            +
          • +
          + + + +
            +
          • +

            flush

            +
            public void flush()
            +
            Description copied from interface: AudioSink
            +
            Flushes the sink, after which it is ready to receive buffers from a new playback position. + +

            The audio session may remain active until AudioSink.reset() is called.

            +
            +
            Specified by:
            +
            flush in interface AudioSink
            +
            Overrides:
            +
            flush in class ForwardingAudioSink
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Description copied from interface: AudioSink
            +
            Resets the renderer, releasing any resources that it currently holds.
            +
            +
            Specified by:
            +
            reset in interface AudioSink
            +
            Overrides:
            +
            reset in class ForwardingAudioSink
            +
            +
          • +
          + + + +
            +
          • +

            dump

            +
            public void dump​(Dumper dumper)
            +
            Description copied from interface: Dumper.Dumpable
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Specified by:
            +
            dump in interface Dumper.Dumpable
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingRenderersFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingRenderersFactory.html new file mode 100644 index 0000000000..f3187b8773 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/CapturingRenderersFactory.html @@ -0,0 +1,355 @@ + + + + +CapturingRenderersFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CapturingRenderersFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.CapturingRenderersFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CapturingRenderersFactory

            +
            public CapturingRenderersFactory​(Context context)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.Builder.html new file mode 100644 index 0000000000..503f1b21c7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.Builder.html @@ -0,0 +1,378 @@ + + + + +DataSourceContractTest.TestResource.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSourceContractTest.TestResource.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html new file mode 100644 index 0000000000..a6e4df5a97 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.TestResource.html @@ -0,0 +1,347 @@ + + + + +DataSourceContractTest.TestResource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSourceContractTest.TestResource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DataSourceContractTest
        +
        +
        +
        public static final class DataSourceContractTest.TestResource
        +extends Object
        +
        Information about a resource that can be used to test the DataSource instance.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            @Nullable
            +public String getName()
            +
            Returns a human-readable name for the resource, for use in test failure messages.
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            public Uri getUri()
            +
            Returns the URI where the resource is available.
            +
          • +
          + + + +
            +
          • +

            getExpectedBytes

            +
            public byte[] getExpectedBytes()
            +
            Returns the expected contents of this resource.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.html new file mode 100644 index 0000000000..9e8396e262 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DataSourceContractTest.html @@ -0,0 +1,544 @@ + + + + +DataSourceContractTest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSourceContractTest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DataSourceContractTest
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public abstract class DataSourceContractTest
        +extends Object
        +
        A collection of contract tests for DataSource implementations. + +

        All these tests should pass for all implementations - behaviour specific to only a subset of + implementations should be tested elsewhere. + +

        Subclasses should only include the logic necessary to construct the DataSource and allow it to + successfully read data. They shouldn't include any new @Test methods - + implementation-specific tests should be in a separate class. + +

        If one of these tests fails for a particular DataSource implementation, that's a bug + in the implementation. The test should be overridden in the subclass and annotated Ignore, with a link to an issue to track fixing the implementation and un-ignoring the test.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DecoderCountersUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DecoderCountersUtil.html new file mode 100644 index 0000000000..345e1d4f95 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DecoderCountersUtil.html @@ -0,0 +1,366 @@ + + + + +DecoderCountersUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderCountersUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DecoderCountersUtil
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getTotalBufferCount

            +
            public static int getTotalBufferCount​(DecoderCounters counters)
            +
            Returns the sum of the skipped, dropped and rendered buffers.
            +
            +
            Parameters:
            +
            counters - The counters for which the total should be calculated.
            +
            Returns:
            +
            The sum of the skipped, dropped and rendered buffers.
            +
            +
          • +
          + + + +
            +
          • +

            assertSkippedOutputBufferCount

            +
            public static void assertSkippedOutputBufferCount​(String name,
            +                                                  DecoderCounters counters,
            +                                                  int expected)
            +
          • +
          + + + +
            +
          • +

            assertTotalBufferCount

            +
            public static void assertTotalBufferCount​(String name,
            +                                          DecoderCounters counters,
            +                                          int minCount,
            +                                          int maxCount)
            +
          • +
          + + + +
            +
          • +

            assertDroppedBufferLimit

            +
            public static void assertDroppedBufferLimit​(String name,
            +                                            DecoderCounters counters,
            +                                            int limit)
            +
          • +
          + + + +
            +
          • +

            assertConsecutiveDroppedBufferLimit

            +
            public static void assertConsecutiveDroppedBufferLimit​(String name,
            +                                                       DecoderCounters counters,
            +                                                       int limit)
            +
          • +
          + + + +
            +
          • +

            assertVideoFrameProcessingOffsetSampleCount

            +
            public static void assertVideoFrameProcessingOffsetSampleCount​(String name,
            +                                                               DecoderCounters counters,
            +                                                               int minCount,
            +                                                               int maxCount)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DefaultRenderersFactoryAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DefaultRenderersFactoryAsserts.html new file mode 100644 index 0000000000..4bbda491c9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DefaultRenderersFactoryAsserts.html @@ -0,0 +1,313 @@ + + + + +DefaultRenderersFactoryAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultRenderersFactoryAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DefaultRenderersFactoryAsserts
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DownloadBuilder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DownloadBuilder.html new file mode 100644 index 0000000000..41dc12ab48 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DownloadBuilder.html @@ -0,0 +1,602 @@ + + + + +DownloadBuilder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadBuilder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DownloadBuilder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DownloadBuilder
        +extends Object
        +
        Builder for Download. + +

        Defines default values for each field (except id) to facilitate Download + creation for tests. Tests must avoid depending on the default values but explicitly set tested + parameters during test initialization.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.TestRunnable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.TestRunnable.html new file mode 100644 index 0000000000..65e826c814 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.TestRunnable.html @@ -0,0 +1,256 @@ + + + + +DummyMainThread.TestRunnable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DummyMainThread.TestRunnable

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DummyMainThread
        +
        +
        +
        public static interface DummyMainThread.TestRunnable
        +
        Runnable variant which can throw a checked exception.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.html new file mode 100644 index 0000000000..3f60f8d051 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DummyMainThread.html @@ -0,0 +1,465 @@ + + + + +DummyMainThread (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummyMainThread

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DummyMainThread
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DummyMainThread
        +extends Object
        +
        Helper class to simulate main/UI thread in tests.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DummyMainThread

            +
            public DummyMainThread()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            runOnMainThread

            +
            public void runOnMainThread​(Runnable runnable)
            +
            Runs the provided Runnable on the main thread, blocking until execution completes or + until TIMEOUT_MS milliseconds have passed.
            +
            +
            Parameters:
            +
            runnable - The Runnable to run.
            +
            +
          • +
          + + + +
            +
          • +

            runOnMainThread

            +
            public void runOnMainThread​(int timeoutMs,
            +                            Runnable runnable)
            +
            Runs the provided Runnable on the main thread, blocking until execution completes or + until timeout milliseconds have passed.
            +
            +
            Parameters:
            +
            timeoutMs - The maximum time to wait in milliseconds.
            +
            runnable - The Runnable to run.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            release

            +
            public void release()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpFileAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpFileAsserts.html new file mode 100644 index 0000000000..24deefed62 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpFileAsserts.html @@ -0,0 +1,310 @@ + + + + +DumpFileAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DumpFileAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DumpFileAsserts
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class DumpFileAsserts
        +extends Object
        +
        Helper class to enable assertions based on golden-data dump files. + +

        Allows the golden files to be easily updated with new data (see more info in the docs on + DUMP_FILE_ACTION). + +

        Compatible with Dumper.Dumpable but can also be used directly with Strings generated + through different means.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            assertOutput

            +
            public static void assertOutput​(Context context,
            +                                String actual,
            +                                String dumpFile)
            +                         throws IOException
            +
            Asserts that actual is equal to the contents of dumpFile. + +

            If the assertion fails because of an intended change in the output or a new dump file needs + to be created, set DUMP_FILE_ACTION to WRITE_TO_LOCAL for local tests and to + WRITE_TO_DEVICE for instrumentation tests, and run the test again. Instead of + assertion, actual will be written to dumpFile. For instrumentation tests, this + new dump file needs to be copied to the project testdata/src/test folder manually.

            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpableFormat.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpableFormat.html new file mode 100644 index 0000000000..6099dfb46d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/DumpableFormat.html @@ -0,0 +1,391 @@ + + + + +DumpableFormat (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DumpableFormat

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.DumpableFormat
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            index

            +
            public final int index
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DumpableFormat

            +
            public DumpableFormat​(Format format,
            +                      int index)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            dump

            +
            public void dump​(Dumper dumper)
            +
            Description copied from interface: Dumper.Dumpable
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Specified by:
            +
            dump in interface Dumper.Dumpable
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.Dumpable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.Dumpable.html new file mode 100644 index 0000000000..3c9bdfad27 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.Dumpable.html @@ -0,0 +1,262 @@ + + + + +Dumper.Dumpable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Dumper.Dumpable

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            dump

            +
            void dump​(Dumper dumper)
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.html new file mode 100644 index 0000000000..f9a920d4f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/Dumper.html @@ -0,0 +1,418 @@ + + + + +Dumper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Dumper

      +
      +
      + +
      +
        +
      • +
        +
        public final class Dumper
        +extends Object
        +
        Helper utility to dump field values.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoHostedTest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoHostedTest.html new file mode 100644 index 0000000000..4bb12e1c8d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoHostedTest.html @@ -0,0 +1,789 @@ + + + + +ExoHostedTest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoHostedTest

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExoHostedTest
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.Builder.html new file mode 100644 index 0000000000..984fe64788 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.Builder.html @@ -0,0 +1,722 @@ + + + + +ExoPlayerTestRunner.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlayerTestRunner.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ExoPlayerTestRunner
        +
        +
        +
        public static final class ExoPlayerTestRunner.Builder
        +extends Object
        +
        Builder to set-up a ExoPlayerTestRunner. Default fake implementations will be used for + unset test properties.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html new file mode 100644 index 0000000000..1e21c24eb1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html @@ -0,0 +1,856 @@ + + + + +ExoPlayerTestRunner (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoPlayerTestRunner

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            start

            +
            public ExoPlayerTestRunner start()
            +
            Starts the test runner on its own thread. This will trigger the creation of the player, the + listener registration, the start of the action schedule, the initial set of media items and the + preparation of the player.
            +
            +
            Returns:
            +
            This test runner.
            +
            +
          • +
          + + + +
            +
          • +

            start

            +
            public ExoPlayerTestRunner start​(boolean doPrepare)
            +
            Starts the test runner on its own thread. This will trigger the creation of the player, the + listener registration, the start of the action schedule and the initial set of media items.
            +
            +
            Parameters:
            +
            doPrepare - Whether the player should be prepared.
            +
            Returns:
            +
            This test runner.
            +
            +
          • +
          + + + +
            +
          • +

            blockUntilEnded

            +
            public ExoPlayerTestRunner blockUntilEnded​(long timeoutMs)
            +                                    throws Exception
            +
            Blocks the current thread until the test runner finishes. A test is deemed to be finished when + the playback state transitioned to Player.STATE_ENDED or Player.STATE_IDLE for + the specified number of times. The test also finishes when an ExoPlaybackException is + thrown.
            +
            +
            Parameters:
            +
            timeoutMs - The maximum time to wait for the test runner to finish. If this time elapsed + the method will throw a TimeoutException.
            +
            Returns:
            +
            This test runner.
            +
            Throws:
            +
            Exception - If any exception occurred during playback, release, or due to a timeout.
            +
            +
          • +
          + + + +
            +
          • +

            blockUntilActionScheduleFinished

            +
            public ExoPlayerTestRunner blockUntilActionScheduleFinished​(long timeoutMs)
            +                                                     throws TimeoutException,
            +                                                            InterruptedException
            +
            Blocks the current thread until the action schedule finished. This does not release the test + runner and the test must still call blockUntilEnded(long).
            +
            +
            Parameters:
            +
            timeoutMs - The maximum time to wait for the action schedule to finish.
            +
            Returns:
            +
            This test runner.
            +
            Throws:
            +
            TimeoutException - If the action schedule did not finish within the specified timeout.
            +
            InterruptedException - If the test thread gets interrupted while waiting.
            +
            +
          • +
          + + + +
            +
          • +

            assertTimelinesSame

            +
            public void assertTimelinesSame​(Timeline... timelines)
            +
            Asserts that the timelines reported by Player.EventListener.onTimelineChanged(Timeline, + int) are the same to the provided timelines. This assert differs from testing equality by not + comparing period ids which may be different due to id mapping of child source period ids.
            +
            +
            Parameters:
            +
            timelines - A list of expected Timelines.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            assertMediaItemsTransitionReasonsEqual

            +
            public void assertMediaItemsTransitionReasonsEqual​(Integer... reasons)
            +
            Asserts that the media item transition reasons reported by Player.EventListener.onMediaItemTransition(MediaItem, int) are the same as the provided + reasons.
            +
            +
            Parameters:
            +
            reasons - A list of expected transition reasons.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            assertPositionDiscontinuityReasonsEqual

            +
            public void assertPositionDiscontinuityReasonsEqual​(Integer... discontinuityReasons)
            +
            Asserts that the discontinuity reasons reported by Player.EventListener.onPositionDiscontinuity(int) are equal to the provided values.
            +
            +
            Parameters:
            +
            discontinuityReasons - The expected discontinuity reasons.
            +
            +
          • +
          + + + +
            +
          • +

            assertPlayedPeriodIndices

            +
            public void assertPlayedPeriodIndices​(Integer... periodIndices)
            +
            Asserts that the indices of played periods is equal to the provided list of periods. A period + is considered to be played if it was the current period after a position discontinuity or a + media source preparation. When the same period is repeated automatically due to enabled repeat + modes, it is reported twice. Seeks within the current period are not reported.
            +
            +
            Parameters:
            +
            periodIndices - A list of expected period indices.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            onPositionDiscontinuity

            +
            public void onPositionDiscontinuity​(@DiscontinuityReason
            +                                    int reason)
            +
            Description copied from interface: Player.EventListener
            +
            Called when a position discontinuity occurs without a change to the timeline. A position + discontinuity occurs when the current window or period index changes (as a result of playback + transitioning from one period in the timeline to the next), or when the playback position + jumps within the period currently being played (as a result of a seek being performed, or + when the source introduces a discontinuity internally). + +

            When a position discontinuity occurs as a result of a change to the timeline this method + is not called. Player.EventListener.onTimelineChanged(Timeline, int) is called in this case. + +

            Player.EventListener.onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Specified by:
            +
            onPositionDiscontinuity in interface Player.EventListener
            +
            Parameters:
            +
            reason - The Player.DiscontinuityReason responsible for the discontinuity.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.Builder.html new file mode 100644 index 0000000000..9510c57113 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.Builder.html @@ -0,0 +1,331 @@ + + + + +ExtractorAsserts.AssertionConfig.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorAsserts.AssertionConfig.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html new file mode 100644 index 0000000000..ea37edef7c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.AssertionConfig.html @@ -0,0 +1,321 @@ + + + + +ExtractorAsserts.AssertionConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorAsserts.AssertionConfig

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ExtractorAsserts
        +
        +
        +
        public static class ExtractorAsserts.AssertionConfig
        +extends Object
        +
        A config for the assertions made (e.g. dump file location).
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            dumpFilesPrefix

            +
            @Nullable
            +public final String dumpFilesPrefix
            +
            The prefix prepended to the dump files path. If not set, the path to the source data will be + used to derive this assuming the following path structure: + +
              +
            • Media: media/$mediapath +
            • Dumps: extractordumps/$mediapath +
            +
          • +
          + + + +
            +
          • +

            deduplicateConsecutiveFormats

            +
            public final boolean deduplicateConsecutiveFormats
            +
            Controls how consecutive formats with no intervening samples are handled. If true, only the + last format received is retained. If false, consecutive formats with no samples cause the + test to fail.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.ExtractorFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.ExtractorFactory.html new file mode 100644 index 0000000000..6b56fe42b0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.ExtractorFactory.html @@ -0,0 +1,251 @@ + + + + +ExtractorAsserts.ExtractorFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExtractorAsserts.ExtractorFactory

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ExtractorAsserts
        +
        +
        +
        public static interface ExtractorAsserts.ExtractorFactory
        +
        A factory for Extractor instances.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.SimulationConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.SimulationConfig.html new file mode 100644 index 0000000000..4d2517902e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.SimulationConfig.html @@ -0,0 +1,365 @@ + + + + +ExtractorAsserts.SimulationConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorAsserts.SimulationConfig

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        ExtractorAsserts
        +
        +
        +
        public static class ExtractorAsserts.SimulationConfig
        +extends Object
        +
        A config of different environments to simulate and extractor behaviours to test.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            simulateIOErrors

            +
            public final boolean simulateIOErrors
            +
            Whether to simulate IO errors.
            +
          • +
          + + + +
            +
          • +

            simulateUnknownLength

            +
            public final boolean simulateUnknownLength
            +
            Whether to simulate unknown input length.
            +
          • +
          + + + +
            +
          • +

            simulatePartialReads

            +
            public final boolean simulatePartialReads
            +
            Whether to simulate partial reads.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.html new file mode 100644 index 0000000000..0c336ae0b1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/ExtractorAsserts.html @@ -0,0 +1,510 @@ + + + + +ExtractorAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExtractorAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.ExtractorAsserts
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ExtractorAsserts
        +extends Object
        +
        Assertion methods for Extractor.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Factory.html new file mode 100644 index 0000000000..b5f231bbc8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Factory.html @@ -0,0 +1,327 @@ + + + + +FakeAdaptiveDataSet.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAdaptiveDataSet.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Factory

            +
            public Factory​(long chunkDurationUs,
            +               double bitratePercentStdDev)
            +
            Set up factory for FakeAdaptiveDataSets with a chunk duration and the standard + deviation of the chunk size.
            +
            +
            Parameters:
            +
            chunkDurationUs - The chunk duration to use in microseconds.
            +
            bitratePercentStdDev - The standard deviation used to generate the chunk sizes centered + around the average bitrate of the Formats. The standard deviation is given in + percent (of the average size).
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Iterator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Iterator.html new file mode 100644 index 0000000000..c509434f51 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.Iterator.html @@ -0,0 +1,387 @@ + + + + +FakeAdaptiveDataSet.Iterator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAdaptiveDataSet.Iterator

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Iterator

            +
            public Iterator​(FakeAdaptiveDataSet dataSet,
            +                int trackGroupIndex,
            +                int chunkIndex)
            +
            Create iterator.
            +
            +
            Parameters:
            +
            dataSet - The data set to iterate over.
            +
            trackGroupIndex - The index of the track group to iterate over.
            +
            chunkIndex - The chunk index to which the iterator points initially.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getChunkStartTimeUs

            +
            public long getChunkStartTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media start time of the chunk, in microseconds.
            +
          • +
          + + + +
            +
          • +

            getChunkEndTimeUs

            +
            public long getChunkEndTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media end time of the chunk, in microseconds.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html new file mode 100644 index 0000000000..4b58d514ec --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveDataSet.html @@ -0,0 +1,369 @@ + + + + +FakeAdaptiveDataSet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAdaptiveDataSet

      +
      +
      + +
      +
        +
      • +
        +
        public final class FakeAdaptiveDataSet
        +extends FakeDataSet
        +
        Fake data set emulating the data of an adaptive media source. + It provides chunk data for all Formats in the given TrackGroup.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getChunkCount

            +
            public int getChunkCount()
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            public String getUri​(int trackIndex)
            +
          • +
          + + + +
            +
          • +

            getChunkDuration

            +
            public long getChunkDuration​(int chunkIndex)
            +
          • +
          + + + +
            +
          • +

            getStartTime

            +
            public long getStartTime​(int chunkIndex)
            +
          • +
          + + + +
            +
          • +

            getChunkIndexByPosition

            +
            public int getChunkIndexByPosition​(long positionUs)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaPeriod.html new file mode 100644 index 0000000000..afae8eba74 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaPeriod.html @@ -0,0 +1,788 @@ + + + + +FakeAdaptiveMediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAdaptiveMediaPeriod

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Releases the media period.
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowPrepareError

            +
            public void maybeThrowPrepareError()
            +                            throws IOException
            +
            Description copied from interface: MediaPeriod
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Specified by:
            +
            maybeThrowPrepareError in interface MediaPeriod
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            selectTracks

            +
            public long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                         boolean[] mayRetainStreamFlags,
            +                         @NullableType SampleStream[] streams,
            +                         boolean[] streamResetFlags,
            +                         long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            selectTracks in interface MediaPeriod
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Description copied from interface: MediaPeriod
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            discardBuffer in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface MediaPeriod
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + +
            +
          • +

            readDiscontinuity

            +
            public long readDiscontinuity()
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Specified by:
            +
            readDiscontinuity in interface MediaPeriod
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Description copied from interface: MediaPeriod
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface MediaPeriod
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public long seekToUs​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            seekToUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: MediaPeriod
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + + + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.html new file mode 100644 index 0000000000..1da33e52ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.html @@ -0,0 +1,428 @@ + + + + +FakeAdaptiveMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAdaptiveMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAudioRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAudioRenderer.html new file mode 100644 index 0000000000..59e132f7e7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeAudioRenderer.html @@ -0,0 +1,488 @@ + + + + +FakeAudioRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeAudioRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class BaseRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class FakeRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onFormatChanged

            +
            protected void onFormatChanged​(Format format)
            +
            Description copied from class: FakeRenderer
            +
            Called when the renderer reads a new format.
            +
            +
            Overrides:
            +
            onFormatChanged in class FakeRenderer
            +
            +
          • +
          + + + +
            +
          • +

            shouldProcessBuffer

            +
            protected boolean shouldProcessBuffer​(long bufferTimeUs,
            +                                      long playbackPositionUs)
            +
            Description copied from class: FakeRenderer
            +
            Called before the renderer processes a buffer.
            +
            +
            Overrides:
            +
            shouldProcessBuffer in class FakeRenderer
            +
            Parameters:
            +
            bufferTimeUs - The buffer timestamp, in microseconds.
            +
            playbackPositionUs - The playback position, in microseconds
            +
            Returns:
            +
            Whether the buffer should be processed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.Factory.html new file mode 100644 index 0000000000..74d09ac7a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.Factory.html @@ -0,0 +1,310 @@ + + + + +FakeChunkSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeChunkSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeChunkSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.html new file mode 100644 index 0000000000..b5fa2be2a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeChunkSource.html @@ -0,0 +1,568 @@ + + + + +FakeChunkSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeChunkSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeChunkSource
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        ChunkSource
        +
        +
        +
        public final class FakeChunkSource
        +extends Object
        +implements ChunkSource
        +
        Fake ChunkSource with adaptive media chunks of a given duration.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: ChunkSource
            +
            Adjusts a seek position given the specified SeekParameters. Chunk boundaries are used + as sync points.
            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface ChunkSource
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed.
            +
            Returns:
            +
            The adjusted seek position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +
            Description copied from interface: ChunkSource
            +
            If the source is currently having difficulty providing chunks, then this method throws the + underlying error. Otherwise does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface ChunkSource
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredQueueSize

            +
            public int getPreferredQueueSize​(long playbackPositionUs,
            +                                 List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Evaluates whether MediaChunks should be removed from the back of the queue. + +

            Removing MediaChunks from the back of the queue can be useful if they could be + replaced with chunks of a significantly higher quality (e.g. because the available bandwidth + has substantially increased). + +

            Will only be called if no MediaChunk in the queue is currently loading.

            +
            +
            Specified by:
            +
            getPreferredQueueSize in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            The preferred queue size.
            +
            +
          • +
          + + + +
            +
          • +

            shouldCancelLoad

            +
            public boolean shouldCancelLoad​(long playbackPositionUs,
            +                                Chunk loadingChunk,
            +                                List<? extends MediaChunk> queue)
            +
            Description copied from interface: ChunkSource
            +
            Returns whether an ongoing load of a chunk should be canceled.
            +
            +
            Specified by:
            +
            shouldCancelLoad in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position, in microseconds.
            +
            loadingChunk - The currently loading Chunk.
            +
            queue - The queue of buffered MediaChunks.
            +
            Returns:
            +
            Whether the ongoing load of loadingChunk should be canceled.
            +
            +
          • +
          + + + +
            +
          • +

            getNextChunk

            +
            public void getNextChunk​(long playbackPositionUs,
            +                         long loadPositionUs,
            +                         List<? extends MediaChunk> queue,
            +                         ChunkHolder out)
            +
            Description copied from interface: ChunkSource
            +
            Returns the next chunk to load. + +

            If a chunk is available then ChunkHolder.chunk is set. If the end of the stream has + been reached then ChunkHolder.endOfStream is set. If a chunk is not available but the + end of the stream has not been reached, the ChunkHolder is not modified.

            +
            +
            Specified by:
            +
            getNextChunk in interface ChunkSource
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this chunk source belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            loadPositionUs - The current load position in microseconds. If queue is empty, + this is the starting position from which chunks should be provided. Else it's equal to + Chunk.endTimeUs of the last chunk in the queue.
            +
            queue - The queue of buffered MediaChunks.
            +
            out - A holder to populate.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadCompleted

            +
            public void onChunkLoadCompleted​(Chunk chunk)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream has finished loading a chunk obtained from this + source.
            +
            +
            Specified by:
            +
            onChunkLoadCompleted in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load has been completed.
            +
            +
          • +
          + + + +
            +
          • +

            onChunkLoadError

            +
            public boolean onChunkLoadError​(Chunk chunk,
            +                                boolean cancelable,
            +                                Exception e,
            +                                long exclusionDurationMs)
            +
            Description copied from interface: ChunkSource
            +
            Called when the ChunkSampleStream encounters an error loading a chunk obtained from + this source.
            +
            +
            Specified by:
            +
            onChunkLoadError in interface ChunkSource
            +
            Parameters:
            +
            chunk - The chunk whose load encountered the error.
            +
            cancelable - Whether the load can be canceled.
            +
            e - The error.
            +
            exclusionDurationMs - The duration for which the associated track may be excluded, or + C.TIME_UNSET if the track may not be excluded.
            +
            Returns:
            +
            Whether the load should be canceled so that a replacement chunk can be loaded instead. + Must be false if cancelable is false. If true, ChunkSource.getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement + chunk.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: ChunkSource
            +
            Releases any held resources.
            +
            +
            Specified by:
            +
            release in interface ChunkSource
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeClock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeClock.html new file mode 100644 index 0000000000..8ed0dfd7a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeClock.html @@ -0,0 +1,525 @@ + + + + +FakeClock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeClock

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Clock
        +
        +
        +
        Direct Known Subclasses:
        +
        AutoAdvancingFakeClock
        +
        +
        +
        public class FakeClock
        +extends Object
        +implements Clock
        +
        Fake Clock implementation that allows to advance the time + manually to trigger pending timed messages. + +

        All timed messages sent by a Handler created from + this clock are governed by the clock's time. + +

        The clock also sets the time of the SystemClock to match the clock's time.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeClock

            +
            public FakeClock​(long initialTimeMs)
            +
            Creates a fake clock assuming the system was booted exactly at time 0 (the Unix Epoch) + and initialTimeMs milliseconds have passed since system boot.
            +
            +
            Parameters:
            +
            initialTimeMs - The initial elapsed time since the boot time, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            FakeClock

            +
            public FakeClock​(long bootTimeMs,
            +                 long initialTimeMs)
            +
            Creates a fake clock specifying when the system was booted and how much time has passed since + then.
            +
            +
            Parameters:
            +
            bootTimeMs - The time the system was booted since the Unix Epoch, in milliseconds.
            +
            initialTimeMs - The initial elapsed time since the boot time, in milliseconds.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.Segment.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.Segment.html new file mode 100644 index 0000000000..5ea1c6b01f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.Segment.html @@ -0,0 +1,420 @@ + + + + +FakeDataSet.FakeData.Segment (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeDataSet.FakeData.Segment

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            exception

            +
            @Nullable
            +public final IOException exception
            +
          • +
          + + + +
            +
          • +

            data

            +
            @Nullable
            +public final byte[] data
            +
          • +
          + + + +
            +
          • +

            length

            +
            public final int length
            +
          • +
          + + + +
            +
          • +

            byteOffset

            +
            public final long byteOffset
            +
          • +
          + + + +
            +
          • +

            action

            +
            @Nullable
            +public final Runnable action
            +
          • +
          + + + +
            +
          • +

            exceptionThrown

            +
            public boolean exceptionThrown
            +
          • +
          + + + +
            +
          • +

            exceptionCleared

            +
            public boolean exceptionCleared
            +
          • +
          + + + +
            +
          • +

            bytesRead

            +
            public int bytesRead
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isErrorSegment

            +
            public boolean isErrorSegment()
            +
          • +
          + + + +
            +
          • +

            isActionSegment

            +
            public boolean isActionSegment()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html new file mode 100644 index 0000000000..1852c1afab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html @@ -0,0 +1,476 @@ + + + + +FakeDataSet.FakeData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeDataSet.FakeData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        FakeDataSet
        +
        +
        +
        public static final class FakeDataSet.FakeData
        +extends Object
        +
        Container of fake data to be served by a FakeDataSource.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.html new file mode 100644 index 0000000000..4c5fc18510 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSet.html @@ -0,0 +1,528 @@ + + + + +FakeDataSet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeDataSet

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeDataSet
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeDataSet

            +
            public FakeDataSet()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.Factory.html new file mode 100644 index 0000000000..87d1f42149 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.Factory.html @@ -0,0 +1,396 @@ + + + + +FakeDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.html new file mode 100644 index 0000000000..1aaf4d60a8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeDataSource.html @@ -0,0 +1,551 @@ + + + + +FakeDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeDataSource

            +
            public FakeDataSource()
            +
          • +
          + + + +
            +
          • +

            FakeDataSource

            +
            public FakeDataSource​(FakeDataSet fakeDataSet)
            +
          • +
          + + + +
            +
          • +

            FakeDataSource

            +
            public FakeDataSource​(FakeDataSet fakeDataSet,
            +                      boolean isNetwork)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getDataSet

            +
            public final FakeDataSet getDataSet()
            +
          • +
          + + + +
            +
          • +

            open

            +
            public final long open​(DataSpec dataSpec)
            +                throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public final int read​(byte[] buffer,
            +                      int offset,
            +                      int readLength)
            +               throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public final Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAndClearOpenedDataSpecs

            +
            public final DataSpec[] getAndClearOpenedDataSpecs()
            +
            Returns the DataSpec instances passed to open(DataSpec) since the last call to + this method.
            +
          • +
          + + + +
            +
          • +

            isOpened

            +
            public final boolean isOpened()
            +
            Returns whether the data source is currently opened.
            +
          • +
          + + + +
            +
          • +

            onDataRead

            +
            protected void onDataRead​(int bytesRead)
            +                   throws IOException
            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.LicenseServer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.LicenseServer.html new file mode 100644 index 0000000000..3df4ef2dd0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.LicenseServer.html @@ -0,0 +1,351 @@ + + + + +FakeExoMediaDrm.LicenseServer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExoMediaDrm.LicenseServer

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeExoMediaDrm.LicenseServer
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html new file mode 100644 index 0000000000..eb66dc937c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExoMediaDrm.html @@ -0,0 +1,1022 @@ + + + + +FakeExoMediaDrm (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExoMediaDrm

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeExoMediaDrm
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.Builder.html new file mode 100644 index 0000000000..058a7400e5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.Builder.html @@ -0,0 +1,359 @@ + + + + +FakeExtractorInput.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExtractorInput.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.SimulatedIOException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.SimulatedIOException.html new file mode 100644 index 0000000000..edb0100944 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.SimulatedIOException.html @@ -0,0 +1,297 @@ + + + + +FakeExtractorInput.SimulatedIOException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExtractorInput.SimulatedIOException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SimulatedIOException

            +
            public SimulatedIOException​(String message)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html new file mode 100644 index 0000000000..393db88417 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html @@ -0,0 +1,881 @@ + + + + +FakeExtractorInput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExtractorInput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeExtractorInput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Resets the input to its initial state.
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public void setPosition​(int position)
            +
            Sets the read and peek positions.
            +
            +
            Parameters:
            +
            position - The position to set.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Reads up to length bytes from the input and resets the peek position. + +

            This method blocks until at least one byte of data can be read, the end of the input is + detected, or an exception is thrown.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Specified by:
            +
            read in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public boolean readFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.read(byte[], int, int), but reads the requested length in full.
            +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the read was successful. False if allowEndOfInput=true and the end of + the input was encountered having read no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the read + (i.e. having read at least one byte, but fewer than length), or if no bytes were + read and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            readFully

            +
            public void readFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            readFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to read from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            skipFully

            +
            public boolean skipFully​(int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.readFully(byte[], int, int, boolean), except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            skipFully in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes to skip from the input.
            +
            allowEndOfInput - True if encountering the end of the input having skipped no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the skip was successful. False if allowEndOfInput=true and the end of + the input was encountered having skipped no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the skip + (i.e. having skipped at least one byte, but fewer than length), or if no bytes were + skipped and allowEndOfInput is false.
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            peek

            +
            public int peek​(byte[] target,
            +                int offset,
            +                int length)
            +         throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Peeks up to length bytes from the peek position. The current read position is left + unchanged. + +

            This method blocks until at least one byte of data can be peeked, the end of the input is + detected, or an exception is thrown. + +

            Calling ExtractorInput.resetPeekPosition() resets the peek position to equal the current read + position, so the caller can peek the same data again. Reading or skipping also resets the peek + position.

            +
            +
            Specified by:
            +
            peek in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to peek from the input.
            +
            Returns:
            +
            The number of bytes peeked, or C.RESULT_END_OF_INPUT if the input has ended.
            +
            Throws:
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public boolean peekFully​(byte[] target,
            +                         int offset,
            +                         int length,
            +                         boolean allowEndOfInput)
            +                  throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Like ExtractorInput.peek(byte[], int, int), but peeks the requested length in full.
            +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            allowEndOfInput - True if encountering the end of the input having peeked no data is + allowed, and should result in false being returned. False if it should be + considered an error, causing an EOFException to be thrown. See note in class + Javadoc.
            +
            Returns:
            +
            True if the peek was successful. False if allowEndOfInput=true and the end of + the input was encountered having peeked no data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially satisfied the peek + (i.e. having peeked at least one byte, but fewer than length), or if no bytes were + peeked and allowEndOfInput is false.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            peekFully

            +
            public void peekFully​(byte[] target,
            +                      int offset,
            +                      int length)
            +               throws IOException
            +
            Description copied from interface: ExtractorInput
            + +
            +
            Specified by:
            +
            peekFully in interface ExtractorInput
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The number of bytes to peek from the input.
            +
            Throws:
            +
            EOFException - If the end of input was encountered.
            +
            IOException - If an error occurs peeking from the input.
            +
            +
          • +
          + + + +
            +
          • +

            advancePeekPosition

            +
            public boolean advancePeekPosition​(int length,
            +                                   boolean allowEndOfInput)
            +                            throws IOException
            +
            Description copied from interface: ExtractorInput
            +
            Advances the peek position by length bytes. Like ExtractorInput.peekFully(byte[], int, int, + boolean) except the data is skipped instead of read.
            +
            +
            Specified by:
            +
            advancePeekPosition in interface ExtractorInput
            +
            Parameters:
            +
            length - The number of bytes by which to advance the peek position.
            +
            allowEndOfInput - True if encountering the end of the input before advancing is allowed, + and should result in false being returned. False if it should be considered an + error, causing an EOFException to be thrown. See note in class Javadoc.
            +
            Returns:
            +
            True if advancing the peek position was successful. False if + allowEndOfInput=true and the end of the input was encountered before advancing over any + data.
            +
            Throws:
            +
            EOFException - If the end of input was encountered having partially advanced (i.e. having + advanced by at least one byte, but fewer than length), or if the end of input was + encountered before advancing and allowEndOfInput is false.
            +
            IOException - If an error occurs advancing the peek position.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            resetPeekPosition

            +
            public void resetPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Resets the peek position to equal the current read position.
            +
            +
            Specified by:
            +
            resetPeekPosition in interface ExtractorInput
            +
            +
          • +
          + + + +
            +
          • +

            getPeekPosition

            +
            public long getPeekPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current peek position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPeekPosition in interface ExtractorInput
            +
            Returns:
            +
            The peek position (byte offset) in the stream.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public long getPosition()
            +
            Description copied from interface: ExtractorInput
            +
            Returns the current read position (byte offset) in the stream.
            +
            +
            Specified by:
            +
            getPosition in interface ExtractorInput
            +
            Returns:
            +
            The read position (byte offset) in the stream.
            +
            +
          • +
          + + + + + + + + + +
            +
          • +

            setRetryPosition

            +
            public <E extends Throwable> void setRetryPosition​(long position,
            +                                                   E e)
            +                                            throws E extends Throwable
            +
            Description copied from interface: ExtractorInput
            +
            Called when reading fails and the required retry position is different from the last position. + After setting the retry position it throws the given Throwable.
            +
            +
            Specified by:
            +
            setRetryPosition in interface ExtractorInput
            +
            Type Parameters:
            +
            E - Type of Throwable to be thrown.
            +
            Parameters:
            +
            position - The required retry position.
            +
            e - Throwable to be thrown.
            +
            Throws:
            +
            E - The given Throwable object.
            +
            E extends Throwable
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorOutput.html new file mode 100644 index 0000000000..4ff8915911 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeExtractorOutput.html @@ -0,0 +1,509 @@ + + + + +FakeExtractorOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeExtractorOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeExtractorOutput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            numberOfTracks

            +
            public int numberOfTracks
            +
          • +
          + + + +
            +
          • +

            tracksEnded

            +
            public boolean tracksEnded
            +
          • +
          + + + +
            +
          • +

            seekMap

            +
            public @MonotonicNonNull SeekMap seekMap
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeExtractorOutput

            +
            public FakeExtractorOutput()
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            track

            +
            public FakeTrackOutput track​(int id,
            +                             int type)
            +
            Description copied from interface: ExtractorOutput
            +
            Called by the Extractor to get the TrackOutput for a specific track. + +

            The same TrackOutput is returned if multiple calls are made with the same + id.

            +
            +
            Specified by:
            +
            track in interface ExtractorOutput
            +
            Parameters:
            +
            id - A track identifier.
            +
            type - The type of the track. Typically one of the C + TRACK_TYPE_* constants.
            +
            Returns:
            +
            The TrackOutput for the given track identifier.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            clearTrackOutputs

            +
            public void clearTrackOutputs()
            +
          • +
          + + + +
            +
          • +

            dump

            +
            public void dump​(Dumper dumper)
            +
            Description copied from interface: Dumper.Dumpable
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Specified by:
            +
            dump in interface Dumper.Dumpable
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunk.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunk.html new file mode 100644 index 0000000000..679ced316a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunk.html @@ -0,0 +1,449 @@ + + + + +FakeMediaChunk (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaChunk

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeMediaChunk

            +
            public FakeMediaChunk​(Format trackFormat,
            +                      long startTimeUs,
            +                      long endTimeUs)
            +
            Creates a fake media chunk.
            +
            +
            Parameters:
            +
            trackFormat - The Format.
            +
            startTimeUs - The start time of the media, in microseconds.
            +
            endTimeUs - The end time of the media, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            FakeMediaChunk

            +
            public FakeMediaChunk​(Format trackFormat,
            +                      long startTimeUs,
            +                      long endTimeUs,
            +                      int selectionReason)
            +
            Creates a fake media chunk.
            +
            +
            Parameters:
            +
            trackFormat - The Format.
            +
            startTimeUs - The start time of the media, in microseconds.
            +
            endTimeUs - The end time of the media, in microseconds.
            +
            selectionReason - The reason for selecting this format.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            cancelLoad

            +
            public void cancelLoad()
            +
            Description copied from interface: Loader.Loadable
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing Loader.Loadable.load() call + will exit reasonably quickly after this method is called. The Loader.Loadable.load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing Loader.Loadable.load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in Loader.Loadable.load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
          • +
          + + + +
            +
          • +

            load

            +
            public void load()
            +
            Description copied from interface: Loader.Loadable
            +
            Performs the load, returning on completion or cancellation.
            +
          • +
          + + + +
            +
          • +

            isLoadCompleted

            +
            public boolean isLoadCompleted()
            +
            Description copied from class: MediaChunk
            +
            Returns whether the chunk has been fully loaded.
            +
            +
            Specified by:
            +
            isLoadCompleted in class MediaChunk
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunkIterator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunkIterator.html new file mode 100644 index 0000000000..d59ebabda4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaChunkIterator.html @@ -0,0 +1,383 @@ + + + + +FakeMediaChunkIterator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaChunkIterator

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeMediaChunkIterator

            +
            public FakeMediaChunkIterator​(long[] chunkTimeBoundariesSec,
            +                              long[] chunkLengths)
            +
            Creates a fake MediaChunkIterator.
            +
            +
            Parameters:
            +
            chunkTimeBoundariesSec - An array containing the time boundaries where one chunk ends and + the next one starts. The first value is the start time of the first chunk and the last + value is the end time of the last chunk. The array should be of length (chunk-count + 1).
            +
            chunkLengths - An array which contains the length of each chunk, should be of length + (chunk-count).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getChunkStartTimeUs

            +
            public long getChunkStartTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media start time of the chunk, in microseconds.
            +
          • +
          + + + +
            +
          • +

            getChunkEndTimeUs

            +
            public long getChunkEndTimeUs()
            +
            Description copied from interface: MediaChunkIterator
            +
            Returns the media end time of the chunk, in microseconds.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaClockRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaClockRenderer.html new file mode 100644 index 0000000000..2339e4da1e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaClockRenderer.html @@ -0,0 +1,415 @@ + + + + +FakeMediaClockRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaClockRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeMediaClockRenderer

            +
            public FakeMediaClockRenderer​(int trackType)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getMediaClock

            +
            public MediaClock getMediaClock()
            +
            Description copied from interface: Renderer
            +
            If the renderer advances its own playback position then this method returns a corresponding + MediaClock. If provided, the player will use the returned MediaClock as its + source of time during playback. A player may have at most one renderer that returns a MediaClock from this method.
            +
            +
            Specified by:
            +
            getMediaClock in interface Renderer
            +
            Overrides:
            +
            getMediaClock in class BaseRenderer
            +
            Returns:
            +
            The MediaClock tracking the playback position of the renderer, or null.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.TrackDataFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.TrackDataFactory.html new file mode 100644 index 0000000000..204cbe2fb2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.TrackDataFactory.html @@ -0,0 +1,284 @@ + + + + +FakeMediaPeriod.TrackDataFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface FakeMediaPeriod.TrackDataFactory

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        FakeMediaPeriod
        +
        +
        +
        public static interface FakeMediaPeriod.TrackDataFactory
        +
        A factory to create the test data for a particular track.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.html new file mode 100644 index 0000000000..0045a85c5d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaPeriod.html @@ -0,0 +1,964 @@ + + + + +FakeMediaPeriod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaPeriod

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeMediaPeriod
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setDiscontinuityPositionUs

            +
            public void setDiscontinuityPositionUs​(long discontinuityPositionUs)
            +
            Sets a discontinuity position to be returned from the next call to readDiscontinuity().
            +
            +
            Parameters:
            +
            discontinuityPositionUs - The position to be returned, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setPreparationComplete

            +
            public void setPreparationComplete()
            +
            Allows the fake media period to complete preparation. May be called on any thread.
            +
          • +
          + + + +
            +
          • +

            setSeekToUsOffset

            +
            public void setSeekToUsOffset​(long seekOffsetUs)
            +
            Sets an offset to be applied to positions returned by seekToUs(long).
            +
            +
            Parameters:
            +
            seekOffsetUs - The offset to be applied, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Releases the media period.
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowPrepareError

            +
            public void maybeThrowPrepareError()
            +                            throws IOException
            +
            Description copied from interface: MediaPeriod
            +
            Throws an error that's preventing the period from becoming prepared. Does nothing if no such + error exists. + +

            This method is only called before the period has completed preparation.

            +
            +
            Specified by:
            +
            maybeThrowPrepareError in interface MediaPeriod
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            selectTracks

            +
            public long selectTracks​(@NullableType ExoTrackSelection[] selections,
            +                         boolean[] mayRetainStreamFlags,
            +                         @NullableType SampleStream[] streams,
            +                         boolean[] streamResetFlags,
            +                         long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Performs a track selection. + +

            The call receives track selections for each renderer, mayRetainStreamFlags + indicating whether the existing SampleStream can be retained for each selection, and + the existing streams themselves. The call will update streams to reflect the + provided selections, clearing, setting and replacing entries as required. If an existing sample + stream is retained but with the requirement that the consuming renderer be reset, then the + corresponding flag in streamResetFlags will be set to true. This flag will also be set + if a new sample stream is created. + +

            Note that previously passed TrackSelections are no longer valid, + and any references to them must be updated to point to the new selections. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            selectTracks in interface MediaPeriod
            +
            Parameters:
            +
            selections - The renderer track selections.
            +
            mayRetainStreamFlags - Flags indicating whether the existing sample stream can be retained + for each track selection. A true value indicates that the selection is equivalent + to the one that was previously passed, and that the caller does not require that the sample + stream be recreated. If a retained sample stream holds any references to the track + selection then they must be updated to point to the new selection.
            +
            streams - The existing sample streams, which will be updated to reflect the provided + selections.
            +
            streamResetFlags - Will be updated to indicate new sample streams, and sample streams that + have been retained but with the requirement that the consuming renderer be reset.
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position.
            +
            Returns:
            +
            The actual position at which the tracks were enabled, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            discardBuffer

            +
            public void discardBuffer​(long positionUs,
            +                          boolean toKeyframe)
            +
            Description copied from interface: MediaPeriod
            +
            Discards buffered media up to the specified position. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            discardBuffer in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The position in microseconds.
            +
            toKeyframe - If true then for each track discards samples up to the keyframe before or at + the specified position, rather than any sample before or at that position.
            +
            +
          • +
          + + + +
            +
          • +

            reevaluateBuffer

            +
            public void reevaluateBuffer​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Re-evaluates the buffer given the playback position. + +

            This method is only called after the period has been prepared. + +

            A period may choose to discard buffered media or cancel ongoing loads so that media can be + re-buffered in a different quality.

            +
            +
            Specified by:
            +
            reevaluateBuffer in interface MediaPeriod
            +
            Specified by:
            +
            reevaluateBuffer in interface SequenceableLoader
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds. If playback of this period has + not yet started, the value will be the starting position in this period minus the duration + of any media in previous periods still to be played.
            +
            +
          • +
          + + + +
            +
          • +

            readDiscontinuity

            +
            public long readDiscontinuity()
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to read a discontinuity. + +

            After this method has returned a value other than C.TIME_UNSET, all SampleStreams provided by the period are guaranteed to start from a key frame. + +

            This method is only called after the period has been prepared and before reading from any + SampleStreams provided by the period.

            +
            +
            Specified by:
            +
            readDiscontinuity in interface MediaPeriod
            +
            Returns:
            +
            If a discontinuity was read then the playback position in microseconds after the + discontinuity. Else C.TIME_UNSET.
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPositionUs

            +
            public long getBufferedPositionUs()
            +
            Description copied from interface: MediaPeriod
            +
            Returns an estimate of the position up to which data is buffered for the enabled tracks. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            getBufferedPositionUs in interface MediaPeriod
            +
            Specified by:
            +
            getBufferedPositionUs in interface SequenceableLoader
            +
            Returns:
            +
            An estimate of the absolute position in microseconds up to which data is buffered, or + C.TIME_END_OF_SOURCE if the track is fully buffered.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public long seekToUs​(long positionUs)
            +
            Description copied from interface: MediaPeriod
            +
            Attempts to seek to the specified position in microseconds. + +

            After this method has been called, all SampleStreams provided by the period are + guaranteed to start from a key frame. + +

            This method is only called when at least one track is selected.

            +
            +
            Specified by:
            +
            seekToUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            Returns:
            +
            The actual position to which the period was seeked, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getAdjustedSeekPositionUs

            +
            public long getAdjustedSeekPositionUs​(long positionUs,
            +                                      SeekParameters seekParameters)
            +
            Description copied from interface: MediaPeriod
            +
            Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters. + +

            This method is only called after the period has been prepared.

            +
            +
            Specified by:
            +
            getAdjustedSeekPositionUs in interface MediaPeriod
            +
            Parameters:
            +
            positionUs - The seek position in microseconds.
            +
            seekParameters - Parameters that control how the seek is performed. Implementations may + apply seek parameters on a best effort basis.
            +
            Returns:
            +
            The actual position to which a seek will be performed, in microseconds.
            +
            +
          • +
          + + + + + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.InitialTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.InitialTimeline.html new file mode 100644 index 0000000000..cfb3bc18a4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.InitialTimeline.html @@ -0,0 +1,383 @@ + + + + +FakeMediaSource.InitialTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaSource.InitialTimeline

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        FakeMediaSource
        +
        +
        +
        public static class FakeMediaSource.InitialTimeline
        +extends ForwardingTimeline
        +
        A forwarding timeline to provide an initial timeline for fake multi window sources.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            InitialTimeline

            +
            public InitialTimeline​(Timeline timeline)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getWindow

            +
            public Timeline.Window getWindow​(int windowIndex,
            +                                 Timeline.Window window,
            +                                 long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Overrides:
            +
            getWindow in class ForwardingTimeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.html new file mode 100644 index 0000000000..60e476a31b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeMediaSource.html @@ -0,0 +1,934 @@ + + + + +FakeMediaSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeMediaSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeRenderer.html new file mode 100644 index 0000000000..55bf1693e8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeRenderer.html @@ -0,0 +1,697 @@ + + + + +FakeRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded
            +
          • +
          + + + +
            +
          • +

            positionResetCount

            +
            public int positionResetCount
            +
          • +
          + + + +
            +
          • +

            sampleBufferReadCount

            +
            public int sampleBufferReadCount
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeRenderer

            +
            public FakeRenderer​(int trackType)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onFormatChanged

            +
            protected void onFormatChanged​(Format format)
            +
            Called when the renderer reads a new format.
            +
          • +
          + + + +
            +
          • +

            getFormatsRead

            +
            public List<Format> getFormatsRead()
            +
            Returns the list of formats read by the renderer.
            +
          • +
          + + + +
            +
          • +

            shouldProcessBuffer

            +
            protected boolean shouldProcessBuffer​(long bufferTimeUs,
            +                                      long playbackPositionUs)
            +
            Called before the renderer processes a buffer.
            +
            +
            Parameters:
            +
            bufferTimeUs - The buffer timestamp, in microseconds.
            +
            playbackPositionUs - The playback position, in microseconds
            +
            Returns:
            +
            Whether the buffer should be processed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html new file mode 100644 index 0000000000..38f6515b9a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.FakeSampleStreamItem.html @@ -0,0 +1,389 @@ + + + + +FakeSampleStream.FakeSampleStreamItem (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeSampleStream.FakeSampleStreamItem

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            oneByteSample

            +
            public static FakeSampleStream.FakeSampleStreamItem oneByteSample​(long timeUs)
            +
            Creates an item representing a sample with the provided timestamp. + +

            The sample will contain a single byte of data.

            +
            +
            Parameters:
            +
            timeUs - The timestamp of the sample.
            +
            +
          • +
          + + + +
            +
          • +

            oneByteSample

            +
            public static FakeSampleStream.FakeSampleStreamItem oneByteSample​(long timeUs,
            +                                                                  @BufferFlags
            +                                                                  int flags)
            +
            Creates an item representing a sample with the provided timestamp and flags. + +

            The sample will contain a single byte of data.

            +
            +
            Parameters:
            +
            timeUs - The timestamp of the sample.
            +
            flags - The sample C.BufferFlags.
            +
            +
          • +
          + + + +
            +
          • +

            sample

            +
            public static FakeSampleStream.FakeSampleStreamItem sample​(long timeUs,
            +                                                           @BufferFlags
            +                                                           int flags,
            +                                                           byte[] sampleData)
            +
            Creates an item representing a sample with the provided timestamp, flags and data.
            +
            +
            Parameters:
            +
            timeUs - The timestamp of the sample.
            +
            flags - The sample C.BufferFlags.
            +
            sampleData - The sample data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.html new file mode 100644 index 0000000000..f5e84104db --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeSampleStream.html @@ -0,0 +1,636 @@ + + + + +FakeSampleStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeSampleStream

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeSampleStream
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            writeData

            +
            public void writeData​(long startPositionUs)
            +
            Writes all not yet written sample stream items to the sample queue + starting at the given position.
            +
            +
            Parameters:
            +
            startPositionUs - The start position, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            seekToUs

            +
            public boolean seekToUs​(long positionUs)
            +
            Seeks the stream to a new position using already available data in the queue.
            +
            +
            Parameters:
            +
            positionUs - The new position, in microseconds.
            +
            Returns:
            +
            Whether seeking inside the available data was possible.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Resets the sample queue. + +

            A new call to writeData(long) is required to fill the queue again.

            +
          • +
          + + + +
            +
          • +

            isLoadingFinished

            +
            public boolean isLoadingFinished()
            +
            Returns whether data has been written to the sample queue until the end of stream signal.
            +
          • +
          + + + +
            +
          • +

            getLargestQueuedTimestampUs

            +
            public long getLargestQueuedTimestampUs()
            +
            Returns the timestamp of the largest queued sample in the queue, or Long.MIN_VALUE if + no samples are queued.
            +
          • +
          + + + +
            +
          • +

            discardTo

            +
            public void discardTo​(long positionUs,
            +                      boolean toKeyframe)
            +
            Discards data from the queue.
            +
            +
            Parameters:
            +
            positionUs - The position to discard to, in microseconds.
            +
            toKeyframe - Whether to discard to keyframes only.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Release the stream and its underlying sample queue.
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +                     throws IOException
            +
            Description copied from interface: SampleStream
            +
            Throws an error that's preventing data from being read. Does nothing if no such error exists.
            +
            +
            Specified by:
            +
            maybeThrowError in interface SampleStream
            +
            Throws:
            +
            IOException - The underlying error.
            +
            +
          • +
          + + + +
            +
          • +

            readData

            +
            public int readData​(FormatHolder formatHolder,
            +                    DecoderInputBuffer buffer,
            +                    boolean formatRequired)
            +
            Description copied from interface: SampleStream
            +
            Attempts to read from the stream. + +

            If the stream has ended then C.BUFFER_FLAG_END_OF_STREAM flag is set on + buffer and C.RESULT_BUFFER_READ is returned. Else if no data is available then C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if + formatRequired is set then formatHolder is populated and C.RESULT_FORMAT_READ + is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

            +
            +
            Specified by:
            +
            readData in interface SampleStream
            +
            Parameters:
            +
            formatHolder - A FormatHolder to populate in the case of reading a format.
            +
            buffer - A DecoderInputBuffer to populate in the case of reading a sample or the + end of the stream. If the end of the stream has been reached, the C.BUFFER_FLAG_END_OF_STREAM flag will be set on the buffer. If a flags-only buffer is passed, then no DecoderInputBuffer.data will be read and the read position of the stream will not change, + but the flags of the buffer will be populated.
            +
            formatRequired - Whether the caller requires that the format of the stream be read even if + it's not changing. A sample will never be read if set to true, however it is still possible + for the end of stream or nothing to be read.
            +
            Returns:
            +
            The status of read, one of SampleStream.ReadDataResult.
            +
            +
          • +
          + + + +
            +
          • +

            skipData

            +
            public int skipData​(long positionUs)
            +
            Description copied from interface: SampleStream
            +
            Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
            +
            +
            Specified by:
            +
            skipData in interface SampleStream
            +
            Parameters:
            +
            positionUs - The specified time.
            +
            Returns:
            +
            The number of samples that were skipped.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeShuffleOrder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeShuffleOrder.html new file mode 100644 index 0000000000..94c48b986f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeShuffleOrder.html @@ -0,0 +1,511 @@ + + + + +FakeShuffleOrder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeShuffleOrder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeShuffleOrder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        ShuffleOrder
        +
        +
        +
        public final class FakeShuffleOrder
        +extends Object
        +implements ShuffleOrder
        +
        Fake ShuffleOrder which returns a reverse order. This order is thus deterministic but + different from the original order.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeShuffleOrder

            +
            public FakeShuffleOrder​(int length)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLength

            +
            public int getLength()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns length of shuffle order.
            +
            +
            Specified by:
            +
            getLength in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getNextIndex

            +
            public int getNextIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the next index in the shuffle order.
            +
            +
            Specified by:
            +
            getNextIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index after index, or C.INDEX_UNSET if index is the last + element.
            +
            +
          • +
          + + + +
            +
          • +

            getPreviousIndex

            +
            public int getPreviousIndex​(int index)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the previous index in the shuffle order.
            +
            +
            Specified by:
            +
            getPreviousIndex in interface ShuffleOrder
            +
            Parameters:
            +
            index - An index.
            +
            Returns:
            +
            The index before index, or C.INDEX_UNSET if index is the first + element.
            +
            +
          • +
          + + + +
            +
          • +

            getLastIndex

            +
            public int getLastIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the last index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getLastIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            getFirstIndex

            +
            public int getFirstIndex()
            +
            Description copied from interface: ShuffleOrder
            +
            Returns the first index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
            +
            +
            Specified by:
            +
            getFirstIndex in interface ShuffleOrder
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndInsert

            +
            public ShuffleOrder cloneAndInsert​(int insertionIndex,
            +                                   int insertionCount)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with newly inserted elements.
            +
            +
            Specified by:
            +
            cloneAndInsert in interface ShuffleOrder
            +
            Parameters:
            +
            insertionIndex - The index in the unshuffled order at which elements are inserted.
            +
            insertionCount - The number of elements inserted at insertionIndex.
            +
            Returns:
            +
            A copy of this ShuffleOrder with newly inserted elements.
            +
            +
          • +
          + + + +
            +
          • +

            cloneAndRemove

            +
            public ShuffleOrder cloneAndRemove​(int indexFrom,
            +                                   int indexToExclusive)
            +
            Description copied from interface: ShuffleOrder
            +
            Returns a copy of the shuffle order with a range of elements removed.
            +
            +
            Specified by:
            +
            cloneAndRemove in interface ShuffleOrder
            +
            Parameters:
            +
            indexFrom - The starting index in the unshuffled order of the range to remove.
            +
            indexToExclusive - The smallest index (must be greater or equal to indexFrom) that + will not be removed.
            +
            Returns:
            +
            A copy of this ShuffleOrder without the elements in the removed range.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html new file mode 100644 index 0000000000..07156572b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.TimelineWindowDefinition.html @@ -0,0 +1,737 @@ + + + + +FakeTimeline.TimelineWindowDefinition (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeTimeline.TimelineWindowDefinition

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        FakeTimeline
        +
        +
        +
        public static final class FakeTimeline.TimelineWindowDefinition
        +extends Object
        +
        Definition used to define a FakeTimeline.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_WINDOW_DURATION_US

            +
            public static final long DEFAULT_WINDOW_DURATION_US
            +
            Default window duration in microseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US

            +
            public static final long DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US
            +
            Default offset of a window in its first period in microseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            periodCount

            +
            public final int periodCount
            +
          • +
          + + + +
            +
          • +

            id

            +
            public final Object id
            +
          • +
          + + + +
            +
          • +

            mediaItem

            +
            public final MediaItem mediaItem
            +
          • +
          + + + +
            +
          • +

            isSeekable

            +
            public final boolean isSeekable
            +
          • +
          + + + +
            +
          • +

            isDynamic

            +
            public final boolean isDynamic
            +
          • +
          + + + +
            +
          • +

            isLive

            +
            public final boolean isLive
            +
          • +
          + + + +
            +
          • +

            isPlaceholder

            +
            public final boolean isPlaceholder
            +
          • +
          + + + +
            +
          • +

            durationUs

            +
            public final long durationUs
            +
          • +
          + + + +
            +
          • +

            defaultPositionUs

            +
            public final long defaultPositionUs
            +
          • +
          + + + +
            +
          • +

            windowOffsetInFirstPeriodUs

            +
            public final long windowOffsetInFirstPeriodUs
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(int periodCount,
            +                                Object id)
            +
            Creates a seekable, non-dynamic window definition with a duration of DEFAULT_WINDOW_DURATION_US.
            +
            +
            Parameters:
            +
            periodCount - The number of periods in the window. Each period get an equal slice of the + total window duration.
            +
            id - The UID of the window.
            +
            +
          • +
          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(boolean isSeekable,
            +                                boolean isDynamic,
            +                                long durationUs)
            +
            Creates a window definition with one period.
            +
            +
            Parameters:
            +
            isSeekable - Whether the window is seekable.
            +
            isDynamic - Whether the window is dynamic.
            +
            durationUs - The duration of the window in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(int periodCount,
            +                                Object id,
            +                                boolean isSeekable,
            +                                boolean isDynamic,
            +                                long durationUs)
            +
            Creates a window definition.
            +
            +
            Parameters:
            +
            periodCount - The number of periods in the window. Each period get an equal slice of the + total window duration.
            +
            id - The UID of the window.
            +
            isSeekable - Whether the window is seekable.
            +
            isDynamic - Whether the window is dynamic.
            +
            durationUs - The duration of the window in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(int periodCount,
            +                                Object id,
            +                                boolean isSeekable,
            +                                boolean isDynamic,
            +                                long durationUs,
            +                                AdPlaybackState adPlaybackState)
            +
            Creates a window definition with ad groups.
            +
            +
            Parameters:
            +
            periodCount - The number of periods in the window. Each period get an equal slice of the + total window duration.
            +
            id - The UID of the window.
            +
            isSeekable - Whether the window is seekable.
            +
            isDynamic - Whether the window is dynamic.
            +
            durationUs - The duration of the window in microseconds.
            +
            adPlaybackState - The ad playback state.
            +
            +
          • +
          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(int periodCount,
            +                                Object id,
            +                                boolean isSeekable,
            +                                boolean isDynamic,
            +                                boolean isLive,
            +                                boolean isPlaceholder,
            +                                long durationUs,
            +                                long defaultPositionUs,
            +                                long windowOffsetInFirstPeriodUs,
            +                                AdPlaybackState adPlaybackState)
            +
            Creates a window definition with ad groups.
            +
            +
            Parameters:
            +
            periodCount - The number of periods in the window. Each period get an equal slice of the + total window duration.
            +
            id - The UID of the window.
            +
            isSeekable - Whether the window is seekable.
            +
            isDynamic - Whether the window is dynamic.
            +
            isLive - Whether the window is live.
            +
            isPlaceholder - Whether the window is a placeholder.
            +
            durationUs - The duration of the window in microseconds.
            +
            defaultPositionUs - The default position of the window in microseconds.
            +
            windowOffsetInFirstPeriodUs - The offset of the window in the first period, in + microseconds.
            +
            adPlaybackState - The ad playback state.
            +
            +
          • +
          + + + +
            +
          • +

            TimelineWindowDefinition

            +
            public TimelineWindowDefinition​(int periodCount,
            +                                Object id,
            +                                boolean isSeekable,
            +                                boolean isDynamic,
            +                                boolean isLive,
            +                                boolean isPlaceholder,
            +                                long durationUs,
            +                                long defaultPositionUs,
            +                                long windowOffsetInFirstPeriodUs,
            +                                AdPlaybackState adPlaybackState,
            +                                MediaItem mediaItem)
            +
            Creates a window definition with ad groups and a custom media item.
            +
            +
            Parameters:
            +
            periodCount - The number of periods in the window. Each period get an equal slice of the + total window duration.
            +
            id - The UID of the window.
            +
            isSeekable - Whether the window is seekable.
            +
            isDynamic - Whether the window is dynamic.
            +
            isLive - Whether the window is live.
            +
            isPlaceholder - Whether the window is a placeholder.
            +
            durationUs - The duration of the window in microseconds.
            +
            defaultPositionUs - The default position of the window in microseconds.
            +
            windowOffsetInFirstPeriodUs - The offset of the window in the first period, in + microseconds.
            +
            adPlaybackState - The ad playback state.
            +
            mediaItem - The media item to include in the timeline.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createPlaceholder

            +
            public static FakeTimeline.TimelineWindowDefinition createPlaceholder​(Object tag)
            +
            Creates a window definition that corresponds to a placeholder timeline using the given tag.
            +
            +
            Parameters:
            +
            tag - The tag to use in the timeline.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.html new file mode 100644 index 0000000000..703d15dac1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTimeline.html @@ -0,0 +1,638 @@ + + + + +FakeTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeTimeline

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            FAKE_MEDIA_ITEM

            +
            public static final MediaItem FAKE_MEDIA_ITEM
            +
            The fake media item used by the fake timeline.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createAdPlaybackState

            +
            public static AdPlaybackState createAdPlaybackState​(int adsPerAdGroup,
            +                                                    long... adGroupTimesUs)
            +
            Returns an ad playback state with the specified number of ads in each of the specified ad + groups, each ten seconds long.
            +
            +
            Parameters:
            +
            adsPerAdGroup - The number of ads per ad group.
            +
            adGroupTimesUs - The times of ad groups, in microseconds.
            +
            Returns:
            +
            The ad playback state.
            +
            +
          • +
          + + + +
            +
          • +

            getWindowCount

            +
            public int getWindowCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of windows in the timeline.
            +
            +
            Specified by:
            +
            getWindowCount in class Timeline
            +
            +
          • +
          + + + +
            +
          • +

            getWindow

            +
            public Timeline.Window getWindow​(int windowIndex,
            +                                 Timeline.Window window,
            +                                 long defaultPositionProjectionUs)
            +
            Description copied from class: Timeline
            +
            Populates a Timeline.Window with data for the window at the specified index.
            +
            +
            Specified by:
            +
            getWindow in class Timeline
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            window - The Timeline.Window to populate. Must not be null.
            +
            defaultPositionProjectionUs - A duration into the future that the populated window's + default start position should be projected.
            +
            Returns:
            +
            The populated Timeline.Window, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getPeriodCount

            +
            public int getPeriodCount()
            +
            Description copied from class: Timeline
            +
            Returns the number of periods in the timeline.
            +
            +
            Specified by:
            +
            getPeriodCount in class Timeline
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getIndexOfPeriod

            +
            public int getIndexOfPeriod​(Object uid)
            +
            Description copied from class: Timeline
            +
            Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
            +
            +
            Specified by:
            +
            getIndexOfPeriod in class Timeline
            +
            Parameters:
            +
            uid - A unique identifier for a period.
            +
            Returns:
            +
            The index of the period, or C.INDEX_UNSET if the period was not found.
            +
            +
          • +
          + + + +
            +
          • +

            getUidOfPeriod

            +
            public Object getUidOfPeriod​(int periodIndex)
            +
            Description copied from class: Timeline
            +
            Returns the unique id of the period identified by its index in the timeline.
            +
            +
            Specified by:
            +
            getUidOfPeriod in class Timeline
            +
            Parameters:
            +
            periodIndex - The index of the period.
            +
            Returns:
            +
            The unique id of the period.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.Factory.html new file mode 100644 index 0000000000..d37b29bb6c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.Factory.html @@ -0,0 +1,253 @@ + + + + +FakeTrackOutput.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface FakeTrackOutput.Factory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.html new file mode 100644 index 0000000000..441c363217 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackOutput.html @@ -0,0 +1,686 @@ + + + + +FakeTrackOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeTrackOutput

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeTrackOutput
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeTrackOutput

            +
            public FakeTrackOutput​(boolean deduplicateConsecutiveFormats)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
          • +
          + + + +
            +
          • +

            format

            +
            public void format​(Format format)
            +
            Description copied from interface: TrackOutput
            +
            Called when the Format of the track has been extracted from the stream.
            +
            +
            Specified by:
            +
            format in interface TrackOutput
            +
            Parameters:
            +
            format - The extracted Format.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public int sampleData​(DataReader input,
            +                      int length,
            +                      boolean allowEndOfInput,
            +                      @SampleDataPart
            +                      int sampleDataPart)
            +               throws IOException
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            input - A DataReader from which to read the sample data.
            +
            length - The maximum length to read from the input.
            +
            allowEndOfInput - True if encountering the end of the input having read no data is + allowed, and should result in C.RESULT_END_OF_INPUT being returned. False if it + should be considered an error, causing an EOFException to be thrown.
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            Returns:
            +
            The number of bytes appended.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            sampleData

            +
            public void sampleData​(ParsableByteArray data,
            +                       int length,
            +                       @SampleDataPart
            +                       int sampleDataPart)
            +
            Description copied from interface: TrackOutput
            +
            Called to write sample data to the output.
            +
            +
            Specified by:
            +
            sampleData in interface TrackOutput
            +
            Parameters:
            +
            data - A ParsableByteArray from which to read the sample data.
            +
            length - The number of bytes to read, starting from data.getPosition().
            +
            sampleDataPart - The part of the sample data to which this call corresponds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            assertSampleCount

            +
            public void assertSampleCount​(int count)
            +
          • +
          + + + +
            +
          • +

            assertSample

            +
            public void assertSample​(int index,
            +                         byte[] data,
            +                         long timeUs,
            +                         int flags,
            +                         @Nullable
            +                         TrackOutput.CryptoData cryptoData)
            +
          • +
          + + + +
            +
          • +

            getSampleData

            +
            public byte[] getSampleData​(int index)
            +
          • +
          + + + +
            +
          • +

            getSampleTimeUs

            +
            public long getSampleTimeUs​(int index)
            +
          • +
          + + + +
            +
          • +

            getSampleFlags

            +
            public int getSampleFlags​(int index)
            +
          • +
          + + + + + + + +
            +
          • +

            getSampleCount

            +
            public int getSampleCount()
            +
          • +
          + + + +
            +
          • +

            getSampleTimesUs

            +
            public List<Long> getSampleTimesUs()
            +
          • +
          + + + +
            +
          • +

            dump

            +
            public void dump​(Dumper dumper)
            +
            Description copied from interface: Dumper.Dumpable
            +
            Dumps the fields of the object using the dumper.
            +
            +
            Specified by:
            +
            dump in interface Dumper.Dumpable
            +
            Parameters:
            +
            dumper - The Dumper to be used to dump fields.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelection.html new file mode 100644 index 0000000000..2153ead9f3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelection.html @@ -0,0 +1,855 @@ + + + + +FakeTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeTrackSelection

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.FakeTrackSelection
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            enableCount

            +
            public int enableCount
            +
          • +
          + + + +
            +
          • +

            releaseCount

            +
            public int releaseCount
            +
          • +
          + + + +
            +
          • +

            isEnabled

            +
            public boolean isEnabled
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FakeTrackSelection

            +
            public FakeTrackSelection​(TrackGroup rendererTrackGroup)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            length

            +
            public int length()
            +
            Description copied from interface: TrackSelection
            +
            Returns the number of tracks in the selection.
            +
            +
            Specified by:
            +
            length in interface TrackSelection
            +
            +
          • +
          + + + +
            +
          • +

            getFormat

            +
            public Format getFormat​(int index)
            +
            Description copied from interface: TrackSelection
            +
            Returns the format of the track at a given index in the selection.
            +
            +
            Specified by:
            +
            getFormat in interface TrackSelection
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The format of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            getIndexInTrackGroup

            +
            public int getIndexInTrackGroup​(int index)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the track group of the track at a given index in the selection.
            +
            +
            Specified by:
            +
            getIndexInTrackGroup in interface TrackSelection
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The index of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public int indexOf​(Format format)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the selection of the track with the specified format. The format is + located by identity so, for example, selection.indexOf(selection.getFormat(index)) == + index even if multiple selected tracks have formats that contain the same values.
            +
            +
            Specified by:
            +
            indexOf in interface TrackSelection
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + format is not part of the selection.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public int indexOf​(int indexInTrackGroup)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the selection of the track with the specified index in the track group.
            +
            +
            Specified by:
            +
            indexOf in interface TrackSelection
            +
            Parameters:
            +
            indexInTrackGroup - The index in the track group.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + index is not part of the selection.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            onPlaybackSpeed

            +
            public void onPlaybackSpeed​(float speed)
            +
            Description copied from interface: ExoTrackSelection
            +
            Called to notify the selection of the current playback speed. The playback speed may affect + adaptive track selection.
            +
            +
            Specified by:
            +
            onPlaybackSpeed in interface ExoTrackSelection
            +
            Parameters:
            +
            speed - The factor by which playback is sped up.
            +
            +
          • +
          + + + +
            +
          • +

            updateSelectedTrack

            +
            public void updateSelectedTrack​(long playbackPositionUs,
            +                                long bufferedDurationUs,
            +                                long availableDurationUs,
            +                                List<? extends MediaChunk> queue,
            +                                MediaChunkIterator[] mediaChunkIterators)
            +
            Description copied from interface: ExoTrackSelection
            +
            Updates the selected track for sources that load media in discrete MediaChunks. + +

            This method will only be called when the selection is enabled.

            +
            +
            Specified by:
            +
            updateSelectedTrack in interface ExoTrackSelection
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            bufferedDurationUs - The duration of media currently buffered from the current playback + position, in microseconds. Note that the next load position can be calculated as + (playbackPositionUs + bufferedDurationUs).
            +
            availableDurationUs - The duration of media available for buffering from the current + playback position, in microseconds, or C.TIME_UNSET if media can be buffered to the + end of the current period. Note that if not set to C.TIME_UNSET, the position up to + which media is available for buffering can be calculated as (playbackPositionUs + + availableDurationUs).
            +
            queue - The queue of already buffered MediaChunks. Must not be modified.
            +
            mediaChunkIterators - An array of MediaChunkIterators providing information about + the sequence of upcoming media chunks for each track in the selection. All iterators start + from the media chunk which will be loaded next if the respective track is selected. Note + that this information may not be available for all tracks, and so some iterators may be + empty.
            +
            +
          • +
          + + + +
            +
          • +

            evaluateQueueSize

            +
            public int evaluateQueueSize​(long playbackPositionUs,
            +                             List<? extends MediaChunk> queue)
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the number of chunks that should be retained in the queue. + +

            May be called by sources that load media in discrete MediaChunks and + support discarding of buffered chunks. + +

            To avoid excessive re-buffering, implementations should normally return the size of the + queue. An example of a case where a smaller value may be returned is if network conditions have + improved dramatically, allowing chunks to be discarded and re-buffered in a track of + significantly higher quality. Discarding chunks may allow faster switching to a higher quality + track in this case. + +

            Note that even if the source supports discarding of buffered chunks, the actual number of + discarded chunks is not guaranteed. The source will call ExoTrackSelection.updateSelectedTrack(long, + long, long, List, MediaChunkIterator[]) with the updated queue of chunks before loading a new + chunk to allow switching to another quality. + +

            This method will only be called when the selection is enabled and none of the MediaChunks in the queue are currently loading.

            +
            +
            Specified by:
            +
            evaluateQueueSize in interface ExoTrackSelection
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            queue - The queue of buffered MediaChunks. Must not be modified.
            +
            Returns:
            +
            The number of chunks to retain in the queue.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelector.html new file mode 100644 index 0000000000..ff31539bbc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeTrackSelector.html @@ -0,0 +1,431 @@ + + + + +FakeTrackSelector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeTrackSelector

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeVideoRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeVideoRenderer.html new file mode 100644 index 0000000000..b145832fc1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/FakeVideoRenderer.html @@ -0,0 +1,586 @@ + + + + +FakeVideoRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FakeVideoRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class BaseRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class FakeRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class FakeRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onFormatChanged

            +
            protected void onFormatChanged​(Format format)
            +
            Description copied from class: FakeRenderer
            +
            Called when the renderer reads a new format.
            +
            +
            Overrides:
            +
            onFormatChanged in class FakeRenderer
            +
            +
          • +
          + + + +
            +
          • +

            shouldProcessBuffer

            +
            protected boolean shouldProcessBuffer​(long bufferTimeUs,
            +                                      long playbackPositionUs)
            +
            Description copied from class: FakeRenderer
            +
            Called before the renderer processes a buffer.
            +
            +
            Overrides:
            +
            shouldProcessBuffer in class FakeRenderer
            +
            Parameters:
            +
            bufferTimeUs - The buffer timestamp, in microseconds.
            +
            playbackPositionUs - The playback position, in microseconds
            +
            Returns:
            +
            Whether the buffer should be processed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html new file mode 100644 index 0000000000..d6699872d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.HostedTest.html @@ -0,0 +1,336 @@ + + + + +HostActivity.HostedTest (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HostActivity.HostedTest

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        ExoHostedTest
        +
        +
        +
        Enclosing class:
        +
        HostActivity
        +
        +
        +
        public static interface HostActivity.HostedTest
        +
        Interface for tests that run inside of a HostActivity.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          booleanblockUntilStopped​(long timeoutMs) +
          Called on the main thread to block until the test has stopped or forceStop() is + called.
          +
          booleanforceStop() +
          Called on the main thread to force stop the test (if it is not stopped already).
          +
          voidonFinished() +
          Called on the test thread after the test has finished and been stopped.
          +
          voidonStart​(HostActivity host, + Surface surface, + FrameLayout overlayFrameLayout) +
          Called on the main thread when the test is started.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onStart

            +
            void onStart​(HostActivity host,
            +             Surface surface,
            +             FrameLayout overlayFrameLayout)
            +
            Called on the main thread when the test is started. + +

            The test will not be started until the HostActivity has been resumed and its + Surface has been created.

            +
            +
            Parameters:
            +
            host - The HostActivity in which the test is being run.
            +
            surface - The Surface.
            +
            overlayFrameLayout - A FrameLayout that is on top of the surface.
            +
            +
          • +
          + + + +
            +
          • +

            blockUntilStopped

            +
            boolean blockUntilStopped​(long timeoutMs)
            +
            Called on the main thread to block until the test has stopped or forceStop() is + called.
            +
            +
            Parameters:
            +
            timeoutMs - The maximum time to block in milliseconds.
            +
            Returns:
            +
            Whether the test has stopped successful.
            +
            +
          • +
          + + + +
            +
          • +

            forceStop

            +
            boolean forceStop()
            +
            Called on the main thread to force stop the test (if it is not stopped already).
            +
            +
            Returns:
            +
            Whether the test was forced stopped.
            +
            +
          • +
          + + + +
            +
          • +

            onFinished

            +
            void onFinished()
            +
            Called on the test thread after the test has finished and been stopped. +

            + Implementations may use this method to assert that test criteria were met.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.html new file mode 100644 index 0000000000..d657794832 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HostActivity.html @@ -0,0 +1,583 @@ + + + + +HostActivity (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HostActivity

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HostActivity

            +
            public HostActivity()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            runTest

            +
            public void runTest​(HostActivity.HostedTest hostedTest,
            +                    long timeoutMs)
            +
            Executes a HostActivity.HostedTest inside the host.
            +
            +
            Parameters:
            +
            hostedTest - The test to execute.
            +
            timeoutMs - The number of milliseconds to wait for the test to finish. If the timeout + is exceeded then the test will fail.
            +
            +
          • +
          + + + +
            +
          • +

            runTest

            +
            public void runTest​(HostActivity.HostedTest hostedTest,
            +                    long timeoutMs,
            +                    boolean failOnTimeoutOrForceStop)
            +
            Executes a HostActivity.HostedTest inside the host.
            +
            +
            Parameters:
            +
            hostedTest - The test to execute.
            +
            timeoutMs - The number of milliseconds to wait for the test to finish.
            +
            failOnTimeoutOrForceStop - Whether the test fails when a timeout is exceeded or the test + is stopped forcefully.
            +
            +
          • +
          + + + +
            +
          • +

            onCreate

            +
            public void onCreate​(@Nullable
            +                     Bundle savedInstanceState)
            +
            +
            Overrides:
            +
            onCreate in class Activity
            +
            +
          • +
          + + + +
            +
          • +

            onStart

            +
            public void onStart()
            +
            +
            Overrides:
            +
            onStart in class Activity
            +
            +
          • +
          + + + +
            +
          • +

            onPause

            +
            public void onPause()
            +
            +
            Overrides:
            +
            onPause in class Activity
            +
            +
          • +
          + + + +
            +
          • +

            onStop

            +
            public void onStop()
            +
            +
            Overrides:
            +
            onStop in class Activity
            +
            +
          • +
          + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HttpDataSourceTestEnv.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HttpDataSourceTestEnv.html new file mode 100644 index 0000000000..b33f366a3a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/HttpDataSourceTestEnv.html @@ -0,0 +1,368 @@ + + + + +HttpDataSourceTestEnv (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSourceTestEnv

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • org.junit.rules.ExternalResource
        • +
        • +
            +
          • com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        org.junit.rules.TestRule
        +
        +
        +
        public class HttpDataSourceTestEnv
        +extends org.junit.rules.ExternalResource
        +
        A JUnit Rule that creates test resources for HttpDataSource contract tests.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HttpDataSourceTestEnv

            +
            public HttpDataSourceTestEnv()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getNonexistentUrl

            +
            public String getNonexistentUrl()
            +
          • +
          + + + +
            +
          • +

            before

            +
            protected void before()
            +               throws Throwable
            +
            +
            Overrides:
            +
            before in class org.junit.rules.ExternalResource
            +
            Throws:
            +
            Throwable
            +
            +
          • +
          + + + +
            +
          • +

            after

            +
            protected void after()
            +
            +
            Overrides:
            +
            after in class org.junit.rules.ExternalResource
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html new file mode 100644 index 0000000000..0a870044cc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.FilterableManifestMediaPeriodFactory.html @@ -0,0 +1,262 @@ + + + + +MediaPeriodAsserts.FilterableManifestMediaPeriodFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T extends FilterableManifest<T>>

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            createMediaPeriod

            +
            MediaPeriod createMediaPeriod​(T manifest,
            +                              int periodIndex)
            +
            Returns media period based on the provided filterable manifest.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.html new file mode 100644 index 0000000000..968a40a162 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaPeriodAsserts.html @@ -0,0 +1,360 @@ + + + + +MediaPeriodAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaPeriodAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.MediaPeriodAsserts
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class MediaPeriodAsserts
        +extends Object
        +
        Assertion methods for MediaPeriod.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.html new file mode 100644 index 0000000000..f57a7fbeaa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.html @@ -0,0 +1,648 @@ + + + + +MediaSourceTestRunner (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaSourceTestRunner

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.MediaSourceTestRunner
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class MediaSourceTestRunner
        +extends Object
        +
        A runner for MediaSource tests.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/NoUidTimeline.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/NoUidTimeline.html new file mode 100644 index 0000000000..711d431f73 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/NoUidTimeline.html @@ -0,0 +1,421 @@ + + + + +NoUidTimeline (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NoUidTimeline

      +
      +
      + +
      +
        +
      • +
        +
        public class NoUidTimeline
        +extends ForwardingTimeline
        +
        A timeline which wraps another timeline and overrides all window and period uids to 0. This is + useful for testing timeline equality without taking uids into account.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            NoUidTimeline

            +
            public NoUidTimeline​(Timeline timeline)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            timeline - The underlying timeline.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/StubExoPlayer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/StubExoPlayer.html new file mode 100644 index 0000000000..ee5ca1a542 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/StubExoPlayer.html @@ -0,0 +1,2517 @@ + + + + +StubExoPlayer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StubExoPlayer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StubExoPlayer

            +
            public StubExoPlayer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getAudioComponent

            +
            public Player.AudioComponent getAudioComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for audio output, or null if audio is not supported.
            +
            +
            Specified by:
            +
            getAudioComponent in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getVideoComponent

            +
            public Player.VideoComponent getVideoComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for video output, or null if video is not supported.
            +
            +
            Specified by:
            +
            getVideoComponent in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getTextComponent

            +
            public Player.TextComponent getTextComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for text output, or null if text is not supported.
            +
            +
            Specified by:
            +
            getTextComponent in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getMetadataComponent

            +
            public Player.MetadataComponent getMetadataComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for metadata output, or null if metadata is not supported.
            +
            +
            Specified by:
            +
            getMetadataComponent in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getDeviceComponent

            +
            public Player.DeviceComponent getDeviceComponent()
            +
            Description copied from interface: Player
            +
            Returns the component of this player for playback device, or null if it's not supported.
            +
            +
            Specified by:
            +
            getDeviceComponent in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getApplicationLooper

            +
            public Looper getApplicationLooper()
            +
            Description copied from interface: Player
            +
            Returns the Looper associated with the application thread that's used to access the + player and on which player events are received.
            +
            +
            Specified by:
            +
            getApplicationLooper in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getClock

            +
            public Clock getClock()
            +
            Description copied from interface: ExoPlayer
            +
            Returns the Clock used for playback.
            +
            +
            Specified by:
            +
            getClock in interface ExoPlayer
            +
            +
          • +
          + + + +
            +
          • +

            addListener

            +
            public void addListener​(Player.EventListener listener)
            +
            Description copied from interface: Player
            +
            Register a listener to receive events from the player. The listener's methods will be called on + the thread that was used to construct the player. However, if the thread used to construct the + player does not have a Looper, then the listener will be called on the main thread.
            +
            +
            Specified by:
            +
            addListener in interface Player
            +
            Parameters:
            +
            listener - The listener to register.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            public void removeListener​(Player.EventListener listener)
            +
            Description copied from interface: Player
            +
            Unregister a listener. The listener will no longer receive events from the player.
            +
            +
            Specified by:
            +
            removeListener in interface Player
            +
            Parameters:
            +
            listener - The listener to unregister.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setMediaItem

            +
            public void setMediaItem​(MediaItem mediaItem)
            +
            Description copied from interface: Player
            +
            Clears the playlist, adds the specified MediaItem and resets the position to the + default position.
            +
            +
            Specified by:
            +
            setMediaItem in interface Player
            +
            Overrides:
            +
            setMediaItem in class BasePlayer
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaItem

            +
            public void setMediaItem​(MediaItem mediaItem,
            +                         long startPositionMs)
            +
            Description copied from interface: Player
            +
            Clears the playlist and adds the specified MediaItem.
            +
            +
            Specified by:
            +
            setMediaItem in interface Player
            +
            Overrides:
            +
            setMediaItem in class BasePlayer
            +
            Parameters:
            +
            mediaItem - The new MediaItem.
            +
            startPositionMs - The position in milliseconds to start playback from.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setMediaItems

            +
            public void setMediaItems​(List<MediaItem> mediaItems,
            +                          int startWindowIndex,
            +                          long startPositionMs)
            +
            Description copied from interface: Player
            +
            Clears the playlist and adds the specified MediaItems.
            +
            +
            Specified by:
            +
            setMediaItems in interface Player
            +
            Parameters:
            +
            mediaItems - The new MediaItems.
            +
            startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is + passed, the current position is not reset.
            +
            startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if + startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the + position is not reset at all.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSource

            +
            public void setMediaSource​(MediaSource mediaSource)
            +
            Description copied from interface: ExoPlayer
            +
            Clears the playlist, adds the specified MediaSource and resets the position to the + default position.
            +
            +
            Specified by:
            +
            setMediaSource in interface ExoPlayer
            +
            Parameters:
            +
            mediaSource - The new MediaSource.
            +
            +
          • +
          + + + +
            +
          • +

            setMediaSource

            +
            public void setMediaSource​(MediaSource mediaSource,
            +                           long startPositionMs)
            +
            Description copied from interface: ExoPlayer
            +
            Clears the playlist and adds the specified MediaSource.
            +
            +
            Specified by:
            +
            setMediaSource in interface ExoPlayer
            +
            Parameters:
            +
            mediaSource - The new MediaSource.
            +
            startPositionMs - The position in milliseconds to start playback from.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setMediaSources

            +
            public void setMediaSources​(List<MediaSource> mediaSources,
            +                            int startWindowIndex,
            +                            long startPositionMs)
            +
            Description copied from interface: ExoPlayer
            +
            Clears the playlist and adds the specified MediaSources.
            +
            +
            Specified by:
            +
            setMediaSources in interface ExoPlayer
            +
            Parameters:
            +
            mediaSources - The new MediaSources.
            +
            startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is + passed, the current position is not reset.
            +
            startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if + startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the + position is not reset at all.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            addMediaItem

            +
            public void addMediaItem​(int index,
            +                         MediaItem mediaItem)
            +
            Description copied from interface: Player
            +
            Adds a media item at the given index of the playlist.
            +
            +
            Specified by:
            +
            addMediaItem in interface Player
            +
            Overrides:
            +
            addMediaItem in class BasePlayer
            +
            Parameters:
            +
            index - The index at which to add the item.
            +
            mediaItem - The MediaItem to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            public void addMediaItems​(List<MediaItem> mediaItems)
            +
            Description copied from interface: Player
            +
            Adds a list of media items to the end of the playlist.
            +
            +
            Specified by:
            +
            addMediaItems in interface Player
            +
            Parameters:
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaItems

            +
            public void addMediaItems​(int index,
            +                          List<MediaItem> mediaItems)
            +
            Description copied from interface: Player
            +
            Adds a list of media items at the given index of the playlist.
            +
            +
            Specified by:
            +
            addMediaItems in interface Player
            +
            Parameters:
            +
            index - The index at which to add the media items.
            +
            mediaItems - The MediaItems to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(MediaSource mediaSource)
            +
            Description copied from interface: ExoPlayer
            +
            Adds a media source to the end of the playlist.
            +
            +
            Specified by:
            +
            addMediaSource in interface ExoPlayer
            +
            Parameters:
            +
            mediaSource - The MediaSource to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSource

            +
            public void addMediaSource​(int index,
            +                           MediaSource mediaSource)
            +
            Description copied from interface: ExoPlayer
            +
            Adds a media source at the given index of the playlist.
            +
            +
            Specified by:
            +
            addMediaSource in interface ExoPlayer
            +
            Parameters:
            +
            index - The index at which to add the source.
            +
            mediaSource - The MediaSource to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(List<MediaSource> mediaSources)
            +
            Description copied from interface: ExoPlayer
            +
            Adds a list of media sources to the end of the playlist.
            +
            +
            Specified by:
            +
            addMediaSources in interface ExoPlayer
            +
            Parameters:
            +
            mediaSources - The MediaSources to add.
            +
            +
          • +
          + + + +
            +
          • +

            addMediaSources

            +
            public void addMediaSources​(int index,
            +                            List<MediaSource> mediaSources)
            +
            Description copied from interface: ExoPlayer
            +
            Adds a list of media sources at the given index of the playlist.
            +
            +
            Specified by:
            +
            addMediaSources in interface ExoPlayer
            +
            Parameters:
            +
            index - The index at which to add the media sources.
            +
            mediaSources - The MediaSources to add.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItem

            +
            public void moveMediaItem​(int currentIndex,
            +                          int newIndex)
            +
            Description copied from interface: Player
            +
            Moves the media item at the current index to the new index.
            +
            +
            Specified by:
            +
            moveMediaItem in interface Player
            +
            Overrides:
            +
            moveMediaItem in class BasePlayer
            +
            Parameters:
            +
            currentIndex - The current index of the media item to move.
            +
            newIndex - The new index of the media item. If the new index is larger than the size of + the playlist the item is moved to the end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            moveMediaItems

            +
            public void moveMediaItems​(int fromIndex,
            +                           int toIndex,
            +                           int newIndex)
            +
            Description copied from interface: Player
            +
            Moves the media item range to the new index.
            +
            +
            Specified by:
            +
            moveMediaItems in interface Player
            +
            Parameters:
            +
            fromIndex - The start of the range to move.
            +
            toIndex - The first item not to be included in the range (exclusive).
            +
            newIndex - The new index of the first media item of the range. If the new index is larger + than the size of the remaining playlist after removing the range, the range is moved to the + end of the playlist.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItem

            +
            public void removeMediaItem​(int index)
            +
            Description copied from interface: Player
            +
            Removes the media item at the given index of the playlist.
            +
            +
            Specified by:
            +
            removeMediaItem in interface Player
            +
            Overrides:
            +
            removeMediaItem in class BasePlayer
            +
            Parameters:
            +
            index - The index at which to remove the media item.
            +
            +
          • +
          + + + +
            +
          • +

            removeMediaItems

            +
            public void removeMediaItems​(int fromIndex,
            +                             int toIndex)
            +
            Description copied from interface: Player
            +
            Removes a range of media items from the playlist.
            +
            +
            Specified by:
            +
            removeMediaItems in interface Player
            +
            Parameters:
            +
            fromIndex - The index at which to start removing media items.
            +
            toIndex - The index of the first item to be kept (exclusive).
            +
            +
          • +
          + + + +
            +
          • +

            clearMediaItems

            +
            public void clearMediaItems()
            +
            Description copied from interface: Player
            +
            Clears the playlist.
            +
            +
            Specified by:
            +
            clearMediaItems in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            setPlayWhenReady

            +
            public void setPlayWhenReady​(boolean playWhenReady)
            +
            Description copied from interface: Player
            +
            Sets whether playback should proceed when Player.getPlaybackState() == Player.STATE_READY. + +

            If the player is already in the ready state then this method pauses and resumes playback.

            +
            +
            Specified by:
            +
            setPlayWhenReady in interface Player
            +
            Parameters:
            +
            playWhenReady - Whether playback should proceed when ready.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setRepeatMode

            +
            public void setRepeatMode​(@RepeatMode
            +                          int repeatMode)
            +
            Description copied from interface: Player
            +
            Sets the Player.RepeatMode to be used for playback.
            +
            +
            Specified by:
            +
            setRepeatMode in interface Player
            +
            Parameters:
            +
            repeatMode - The repeat mode.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setShuffleOrder

            +
            public void setShuffleOrder​(ShuffleOrder shuffleOrder)
            +
            Description copied from interface: ExoPlayer
            +
            Sets the shuffle order.
            +
            +
            Specified by:
            +
            setShuffleOrder in interface ExoPlayer
            +
            Parameters:
            +
            shuffleOrder - The shuffle order.
            +
            +
          • +
          + + + +
            +
          • +

            setShuffleModeEnabled

            +
            public void setShuffleModeEnabled​(boolean shuffleModeEnabled)
            +
            Description copied from interface: Player
            +
            Sets whether shuffling of windows is enabled.
            +
            +
            Specified by:
            +
            setShuffleModeEnabled in interface Player
            +
            Parameters:
            +
            shuffleModeEnabled - Whether shuffling is enabled.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            seekTo

            +
            public void seekTo​(int windowIndex,
            +                   long positionMs)
            +
            Description copied from interface: Player
            +
            Seeks to a position specified in milliseconds in the specified window.
            +
            +
            Specified by:
            +
            seekTo in interface Player
            +
            Parameters:
            +
            windowIndex - The index of the window.
            +
            positionMs - The seek position in the specified window, or C.TIME_UNSET to seek to + the window's default position.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setSeekParameters

            +
            public void setSeekParameters​(@Nullable
            +                              SeekParameters seekParameters)
            +
            Description copied from interface: ExoPlayer
            +
            Sets the parameters that control how seek operations are performed.
            +
            +
            Specified by:
            +
            setSeekParameters in interface ExoPlayer
            +
            Parameters:
            +
            seekParameters - The seek parameters, or null to use the defaults.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            stop

            +
            public void stop​(boolean reset)
            +
            +
            Specified by:
            +
            stop in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Player
            +
            Releases the player. This method must be called when the player is no longer required. The + player must not be used after calling this method.
            +
            +
            Specified by:
            +
            release in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getRendererCount

            +
            public int getRendererCount()
            +
            Description copied from interface: Player
            +
            Returns the number of renderers.
            +
            +
            Specified by:
            +
            getRendererCount in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getRendererType

            +
            public int getRendererType​(int index)
            +
            Description copied from interface: Player
            +
            Returns the track type that the renderer at a given index handles. + +

            For example, a video renderer will return C.TRACK_TYPE_VIDEO, an audio renderer will + return C.TRACK_TYPE_AUDIO and a text renderer will return C.TRACK_TYPE_TEXT.

            +
            +
            Specified by:
            +
            getRendererType in interface Player
            +
            Parameters:
            +
            index - The index of the renderer.
            +
            Returns:
            +
            One of the TRACK_TYPE_* constants defined in C.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackSelector

            +
            @Nullable
            +public TrackSelector getTrackSelector()
            +
            Description copied from interface: ExoPlayer
            +
            Returns the track selector that this player uses, or null if track selection is not supported.
            +
            +
            Specified by:
            +
            getTrackSelector in interface ExoPlayer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentTrackSelections

            +
            public TrackSelectionArray getCurrentTrackSelections()
            +
            Description copied from interface: Player
            +
            Returns the current track selections for each renderer. + +

            A concrete implementation may include null elements if it has a fixed number of renderer + components, wishes to report a TrackSelection for each of them, and has one or more renderer + components that is not assigned any selected tracks.

            +
            +
            Specified by:
            +
            getCurrentTrackSelections in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentStaticMetadata

            +
            public List<Metadata> getCurrentStaticMetadata()
            +
            Description copied from interface: Player
            +
            Returns the current static metadata for the track selections. + +

            The returned metadataList is an immutable list of Metadata instances, where + the elements correspond to the current track selections, + or an empty list if there are no track selections or the selected tracks contain no static + metadata. + +

            This metadata is considered static in that it comes from the tracks' declared Formats, + rather than being timed (or dynamic) metadata, which is represented within a metadata track.

            +
            +
            Specified by:
            +
            getCurrentStaticMetadata in interface Player
            +
            See Also:
            +
            Player.EventListener.onStaticMetadataChanged(List)
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getCurrentPeriodIndex

            +
            public int getCurrentPeriodIndex()
            +
            Description copied from interface: Player
            +
            Returns the index of the period currently being played.
            +
            +
            Specified by:
            +
            getCurrentPeriodIndex in interface Player
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getDuration

            +
            public long getDuration()
            +
            Description copied from interface: Player
            +
            Returns the duration of the current content window or ad in milliseconds, or C.TIME_UNSET if the duration is not known.
            +
            +
            Specified by:
            +
            getDuration in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentPosition

            +
            public long getCurrentPosition()
            +
            Description copied from interface: Player
            +
            Returns the playback position in the current content window or ad, in milliseconds, or the + prospective position in milliseconds if the current timeline is + empty.
            +
            +
            Specified by:
            +
            getCurrentPosition in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getBufferedPosition

            +
            public long getBufferedPosition()
            +
            Description copied from interface: Player
            +
            Returns an estimate of the position in the current content window or ad up to which data is + buffered, in milliseconds.
            +
            +
            Specified by:
            +
            getBufferedPosition in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getTotalBufferedDuration

            +
            public long getTotalBufferedDuration()
            +
            Description copied from interface: Player
            +
            Returns an estimate of the total buffered duration from the current position, in milliseconds. + This includes pre-buffered data for subsequent ads and windows.
            +
            +
            Specified by:
            +
            getTotalBufferedDuration in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            isPlayingAd

            +
            public boolean isPlayingAd()
            +
            Description copied from interface: Player
            +
            Returns whether the player is currently playing an ad.
            +
            +
            Specified by:
            +
            isPlayingAd in interface Player
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getContentPosition

            +
            public long getContentPosition()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns the content position that will be + played once all ads in the ad group have finished playing, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by Player.getCurrentPosition().
            +
            +
            Specified by:
            +
            getContentPosition in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            getContentBufferedPosition

            +
            public long getContentBufferedPosition()
            +
            Description copied from interface: Player
            +
            If Player.isPlayingAd() returns true, returns an estimate of the content position in + the current content window up to which data is buffered, in milliseconds. If there is no ad + playing, the returned position is the same as that returned by Player.getBufferedPosition().
            +
            +
            Specified by:
            +
            getContentBufferedPosition in interface Player
            +
            +
          • +
          + + + +
            +
          • +

            setForegroundMode

            +
            public void setForegroundMode​(boolean foregroundMode)
            +
            Description copied from interface: ExoPlayer
            +
            Sets whether the player is allowed to keep holding limited resources such as video decoders, + even when in the idle state. By doing so, the player may be able to reduce latency when + starting to play another piece of content for which the same resources are required. + +

            This mode should be used with caution, since holding limited resources may prevent other + players of media components from acquiring them. It should only be enabled when both + of the following conditions are true: + +

              +
            • The application that owns the player is in the foreground. +
            • The player is used in a way that may benefit from foreground mode. For this to be true, + the same player instance must be used to play multiple pieces of content, and there must + be gaps between the playbacks (i.e. Player.stop() is called to halt one playback, and + ExoPlayer.prepare(com.google.android.exoplayer2.source.MediaSource) is called some time later to start a new one). +
            + +

            Note that foreground mode is not useful for switching between content without gaps + between the playbacks. For this use case Player.stop() does not need to be called, and simply + calling ExoPlayer.prepare(com.google.android.exoplayer2.source.MediaSource) for the new media will cause limited resources to be retained even if + foreground mode is not enabled. + +

            If foreground mode is enabled, it's the application's responsibility to disable it when the + conditions described above no longer hold.

            +
            +
            Specified by:
            +
            setForegroundMode in interface ExoPlayer
            +
            Parameters:
            +
            foregroundMode - Whether the player is allowed to keep limited resources even when in the + idle state.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            experimentalSetOffloadSchedulingEnabled

            +
            public void experimentalSetOffloadSchedulingEnabled​(boolean offloadSchedulingEnabled)
            +
            Description copied from interface: ExoPlayer
            +
            Sets whether audio offload scheduling is enabled. If enabled, ExoPlayer's main loop will run as + rarely as possible when playing an audio stream using audio offload. + +

            Only use this scheduling mode if the player is not displaying anything to the user. For + example when the application is in the background, or the screen is off. The player state + (including position) is rarely updated (roughly between every 10 seconds and 1 minute). + +

            While offload scheduling is enabled, player events may be delivered severely delayed and + apps should not interact with the player. When returning to the foreground, disable offload + scheduling and wait for Player.EventListener.onExperimentalOffloadSchedulingEnabledChanged(boolean) to be called with + offloadSchedulingEnabled = false before interacting with the player. + +

            This mode should save significant power when the phone is playing offload audio with the + screen off. + +

            This mode only has an effect when playing an audio track in offload mode, which requires all + the following: + +

            + +

            The state where ExoPlayer main loop has been paused to save power during offload playback + can be queried with ExoPlayer.experimentalIsSleepingForOffload(). + +

            This method is experimental, and will be renamed or removed in a future release.

            +
            +
            Specified by:
            +
            experimentalSetOffloadSchedulingEnabled in interface ExoPlayer
            +
            Parameters:
            +
            offloadSchedulingEnabled - Whether to enable offload scheduling.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestExoPlayerBuilder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestExoPlayerBuilder.html new file mode 100644 index 0000000000..277a7dd85f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestExoPlayerBuilder.html @@ -0,0 +1,640 @@ + + + + +TestExoPlayerBuilder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TestExoPlayerBuilder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class TestExoPlayerBuilder
        +extends Object
        +
        A builder of SimpleExoPlayer instances for testing.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestUtil.html new file mode 100644 index 0000000000..6a4419bec3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TestUtil.html @@ -0,0 +1,845 @@ + + + + +TestUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TestUtil

      +
      +
      + +
      +
        +
      • +
        +
        public class TestUtil
        +extends Object
        +
        Utility methods for tests.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildTestData

            +
            public static byte[] buildTestData​(int length)
            +
            Equivalent to buildTestData(length, length).
            +
            +
            Parameters:
            +
            length - The length of the array.
            +
            Returns:
            +
            The generated array.
            +
            +
          • +
          + + + +
            +
          • +

            buildTestData

            +
            public static byte[] buildTestData​(int length,
            +                                   int seed)
            +
            Generates an array of random bytes with the specified length.
            +
            +
            Parameters:
            +
            length - The length of the array.
            +
            seed - A seed for an internally created source of randomness.
            +
            Returns:
            +
            The generated array.
            +
            +
          • +
          + + + +
            +
          • +

            buildTestData

            +
            public static byte[] buildTestData​(int length,
            +                                   Random random)
            +
            Generates an array of random bytes with the specified length.
            +
            +
            Parameters:
            +
            length - The length of the array.
            +
            random - A source of randomness.
            +
            Returns:
            +
            The generated array.
            +
            +
          • +
          + + + +
            +
          • +

            buildTestString

            +
            public static String buildTestString​(int length,
            +                                     Random random)
            +
            Generates a random string with the specified length.
            +
            +
            Parameters:
            +
            length - The length of the string.
            +
            random - A source of randomness.
            +
            Returns:
            +
            The generated string.
            +
            +
          • +
          + + + +
            +
          • +

            createByteArray

            +
            public static byte[] createByteArray​(int... bytes)
            +
            Converts an array of integers in the range [0, 255] into an equivalent byte array.
            +
            +
            Parameters:
            +
            bytes - An array of integers, all of which must be in the range [0, 255].
            +
            Returns:
            +
            The equivalent byte array.
            +
            +
          • +
          + + + +
            +
          • +

            createByteList

            +
            public static ImmutableList<Byte> createByteList​(int... bytes)
            +
            Converts an array of integers in the range [0, 255] into an equivalent byte list.
            +
            +
            Parameters:
            +
            bytes - An array of integers, all of which must be in the range [0, 255].
            +
            Returns:
            +
            The equivalent byte list.
            +
            +
          • +
          + + + +
            +
          • +

            createTestFile

            +
            public static File createTestFile​(File directory,
            +                                  String name)
            +                           throws IOException
            +
            Writes one byte long test data to the file and returns it.
            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + +
            +
          • +

            createTestFile

            +
            public static File createTestFile​(File directory,
            +                                  String name,
            +                                  long length)
            +                           throws IOException
            +
            Writes test data with the specified length to the file and returns it.
            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + +
            +
          • +

            createTestFile

            +
            public static File createTestFile​(File file,
            +                                  long length)
            +                           throws IOException
            +
            Writes test data with the specified length to the file and returns it.
            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + +
            +
          • +

            getByteArray

            +
            public static byte[] getByteArray​(Context context,
            +                                  String fileName)
            +                           throws IOException
            +
            Returns the bytes of an asset file.
            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            getInMemoryDatabaseProvider

            +
            public static DatabaseProvider getInMemoryDatabaseProvider()
            +
            Returns a DatabaseProvider that provides an in-memory database.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            assertBitmapsAreSimilar

            +
            public static void assertBitmapsAreSimilar​(Bitmap expectedBitmap,
            +                                           Bitmap actualBitmap,
            +                                           double psnrThresholdDb)
            +
            Asserts whether actual bitmap is very similar to the expected bitmap at some quality level. + +

            This is defined as their PSNR value is greater than or equal to the threshold. The higher + the threshold, the more similar they are.

            +
            +
            Parameters:
            +
            expectedBitmap - The expected bitmap.
            +
            actualBitmap - The actual bitmap.
            +
            psnrThresholdDb - The PSNR threshold (in dB), at or above which bitmaps are considered + very similar.
            +
            +
          • +
          + + + +
            +
          • +

            buildAssetUri

            +
            public static Uri buildAssetUri​(String assetPath)
            +
            Returns the Uri for the given asset path.
            +
          • +
          + + + +
            +
          • +

            extractSeekMap

            +
            public static SeekMap extractSeekMap​(Extractor extractor,
            +                                     FakeExtractorOutput output,
            +                                     DataSource dataSource,
            +                                     Uri uri)
            +                              throws IOException
            +
            Reads from the given input using the given Extractor, until it can produce the SeekMap and all of the track formats have been identified, or until the extractor encounters + EOF.
            +
            +
            Parameters:
            +
            extractor - The Extractor to extractor from input.
            +
            output - The FakeTrackOutput to store the extracted SeekMap and track.
            +
            dataSource - The DataSource that will be used to read from the input.
            +
            uri - The Uri of the input.
            +
            Returns:
            +
            The extracted SeekMap.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input, or if the extractor finishes + reading from input without extracting any SeekMap.
            +
            +
          • +
          + + + +
            +
          • +

            extractAllSamplesFromFile

            +
            public static FakeExtractorOutput extractAllSamplesFromFile​(Extractor extractor,
            +                                                            Context context,
            +                                                            String fileName)
            +                                                     throws IOException
            +
            Extracts all samples from the given file into a FakeTrackOutput.
            +
            +
            Parameters:
            +
            extractor - The Extractor to extractor from input.
            +
            context - A Context.
            +
            fileName - The name of the input file.
            +
            Returns:
            +
            The FakeTrackOutput containing the extracted samples.
            +
            Throws:
            +
            IOException - If an error occurred reading from the input, or if the extractor finishes + reading from input without extracting any SeekMap.
            +
            +
          • +
          + + + +
            +
          • +

            seekToTimeUs

            +
            public static int seekToTimeUs​(Extractor extractor,
            +                               SeekMap seekMap,
            +                               long seekTimeUs,
            +                               DataSource dataSource,
            +                               FakeTrackOutput trackOutput,
            +                               Uri uri)
            +                        throws IOException
            +
            Seeks to the given seek time of the stream from the given input, and keeps reading from the + input until we can extract at least one sample following the seek position, or until + end-of-input is reached.
            +
            +
            Parameters:
            +
            extractor - The Extractor to extract from input.
            +
            seekMap - The SeekMap of the stream from the given input.
            +
            seekTimeUs - The seek time, in micro-seconds.
            +
            trackOutput - The FakeTrackOutput to store the extracted samples.
            +
            dataSource - The DataSource that will be used to read from the input.
            +
            uri - The Uri of the input.
            +
            Returns:
            +
            The index of the first extracted sample written to the given trackOutput after + the seek is completed, or C.INDEX_UNSET if the seek is completed without any + extracted sample.
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TimelineAsserts.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TimelineAsserts.html new file mode 100644 index 0000000000..704698e0c6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/TimelineAsserts.html @@ -0,0 +1,421 @@ + + + + +TimelineAsserts (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimelineAsserts

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.TimelineAsserts
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TimelineAsserts
        +extends Object
        +
        Unit test for Timeline.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            assertEmpty

            +
            public static void assertEmpty​(Timeline timeline)
            +
            Assert that timeline is empty (i.e. has no windows or periods).
            +
          • +
          + + + +
            +
          • +

            assertWindowTags

            +
            public static void assertWindowTags​(Timeline timeline,
            +                                    @NullableType Object... expectedWindowTags)
            +
            Asserts that window tags are set correctly.
            +
            +
            Parameters:
            +
            expectedWindowTags - A list of expected window tags. If a tag is unknown or not important + null can be passed to skip this window.
            +
            +
          • +
          + + + +
            +
          • +

            assertWindowIsDynamic

            +
            public static void assertWindowIsDynamic​(Timeline timeline,
            +                                         boolean... windowIsDynamic)
            +
            Asserts that window properties Timeline.Window.isDynamic are set correctly.
            +
          • +
          + + + +
            +
          • +

            assertPreviousWindowIndices

            +
            public static void assertPreviousWindowIndices​(Timeline timeline,
            +                                               @RepeatMode
            +                                               int repeatMode,
            +                                               boolean shuffleModeEnabled,
            +                                               int... expectedPreviousWindowIndices)
            +
            Asserts that previous window indices for each window depending on the repeat mode and the + shuffle mode are equal to the given sequence.
            +
          • +
          + + + +
            +
          • +

            assertNextWindowIndices

            +
            public static void assertNextWindowIndices​(Timeline timeline,
            +                                           @RepeatMode
            +                                           int repeatMode,
            +                                           boolean shuffleModeEnabled,
            +                                           int... expectedNextWindowIndices)
            +
            Asserts that next window indices for each window depending on the repeat mode and the shuffle + mode are equal to the given sequence.
            +
          • +
          + + + +
            +
          • +

            assertPeriodDurations

            +
            public static void assertPeriodDurations​(Timeline timeline,
            +                                         long... durationsUs)
            +
            Asserts that the durations of the periods in the Timeline and the durations in the + given sequence are equal.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.Builder.html new file mode 100644 index 0000000000..e347fdbe93 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.Builder.html @@ -0,0 +1,418 @@ + + + + +WebServerDispatcher.Resource.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebServerDispatcher.Resource.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html new file mode 100644 index 0000000000..4f3c460270 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.Resource.html @@ -0,0 +1,472 @@ + + + + +WebServerDispatcher.Resource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebServerDispatcher.Resource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            GZIP_SUPPORT_DISABLED

            +
            public static final int GZIP_SUPPORT_DISABLED
            +
            The server doesn't support gzip.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            GZIP_SUPPORT_ENABLED

            +
            public static final int GZIP_SUPPORT_ENABLED
            +
            The server supports gzip. Responses are only compressed if the request signals "gzip" is an + acceptable content-coding using an Accept-Encoding header.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            GZIP_SUPPORT_FORCED

            +
            public static final int GZIP_SUPPORT_FORCED
            +
            The server supports gzip. Responses are compressed if the request contains no + Accept-Encoding header or one that accepts "gzip". + +

            RFC 2616 14.3 recommends a server use "identity" content-coding if no + Accept-Encoding is present, but some servers will still compress responses in this case. + This option mimics that behaviour.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getPath

            +
            public String getPath()
            +
            Returns the path this resource is available at.
            +
          • +
          + + + +
            +
          • +

            getData

            +
            public byte[] getData()
            +
            Returns the data served by this resource.
            +
          • +
          + + + +
            +
          • +

            supportsRangeRequests

            +
            public boolean supportsRangeRequests()
            +
            Returns true if RFC 7233 range requests should be supported for this resource.
            +
          • +
          + + + +
            +
          • +

            resolvesToUnknownLength

            +
            public boolean resolvesToUnknownLength()
            +
            Returns true if the resource should resolve to an unknown length.
            +
          • +
          + + + +
            +
          • +

            getGzipSupport

            +
            @GzipSupport
            +public int getGzipSupport()
            +
            Returns the level of gzip support the server should provide for this resource.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.html new file mode 100644 index 0000000000..86fa180ff7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/WebServerDispatcher.html @@ -0,0 +1,320 @@ + + + + +WebServerDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebServerDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • okhttp3.mockwebserver.Dispatcher
        • +
        • +
            +
          • com.google.android.exoplayer2.testutil.WebServerDispatcher
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class WebServerDispatcher
        +extends okhttp3.mockwebserver.Dispatcher
        +
        A Dispatcher for MockWebServer that allows per-path + customisation of the static data served.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-frame.html new file mode 100644 index 0000000000..0cb2aa148b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-frame.html @@ -0,0 +1,147 @@ + + + + +com.google.android.exoplayer2.testutil (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.testutil

      +
      +

      Interfaces

      + +

      Classes

      + +

      Exceptions

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-summary.html new file mode 100644 index 0000000000..685ed00319 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-summary.html @@ -0,0 +1,882 @@ + + + + +com.google.android.exoplayer2.testutil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.testutil

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-tree.html new file mode 100644 index 0000000000..e342c4c95a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/package-tree.html @@ -0,0 +1,381 @@ + + + + +com.google.android.exoplayer2.testutil Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.testutil

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AbsoluteSized.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AbsoluteSized.html new file mode 100644 index 0000000000..cb2e5ca6b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AbsoluteSized.html @@ -0,0 +1,260 @@ + + + + +SpannedSubject.AbsoluteSized (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.AbsoluteSized

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.AbsoluteSized
        +
        Allows assertions about the absolute size of a span.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withAbsoluteSize

            +
            SpannedSubject.AndSpanFlags withAbsoluteSize​(int size)
            +
            Checks that at least one of the matched spans has the expected size.
            +
            +
            Parameters:
            +
            size - The expected size.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Aligned.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Aligned.html new file mode 100644 index 0000000000..14516d318a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Aligned.html @@ -0,0 +1,260 @@ + + + + +SpannedSubject.Aligned (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.Aligned

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.Aligned
        +
        Allows assertions about the alignment of a span.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AndSpanFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AndSpanFlags.html new file mode 100644 index 0000000000..b9c893bc1e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.AndSpanFlags.html @@ -0,0 +1,263 @@ + + + + +SpannedSubject.AndSpanFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.AndSpanFlags

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.AndSpanFlags
        +
        Allows additional assertions to be made on the flags of matching spans. + +

        Identical to SpannedSubject.WithSpanFlags, but this should be returned from with...() + methods while SpannedSubject.WithSpanFlags should be returned from has...() methods. + +

        See Flag constants on Spanned for possible values.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidandFlags​(int flags) +
          Checks that one of the matched spans has the expected flags.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            andFlags

            +
            void andFlags​(int flags)
            +
            Checks that one of the matched spans has the expected flags.
            +
            +
            Parameters:
            +
            flags - The expected flags. See SPAN_* constants on Spanned for possible values.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Colored.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Colored.html new file mode 100644 index 0000000000..e8fc296db6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Colored.html @@ -0,0 +1,260 @@ + + + + +SpannedSubject.Colored (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.Colored

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.Colored
        +
        Allows assertions about the color of a span.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withColor

            +
            SpannedSubject.AndSpanFlags withColor​(int color)
            +
            Checks that at least one of the matched spans has the expected color.
            +
            +
            Parameters:
            +
            color - The expected color.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.EmphasizedText.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.EmphasizedText.html new file mode 100644 index 0000000000..3103613cdc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.EmphasizedText.html @@ -0,0 +1,271 @@ + + + + +SpannedSubject.EmphasizedText (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.EmphasizedText

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.EmphasizedText
        +
        Allows assertions about a span's text emphasis mark and its position.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withMarkAndPosition

            +
            SpannedSubject.AndSpanFlags withMarkAndPosition​(@MarkShape
            +                                                int markShape,
            +                                                @MarkFill
            +                                                int markFill,
            +                                                @Position
            +                                                int position)
            +
            Checks that at least one of the matched spans has the expected mark and + position.
            +
            +
            Parameters:
            +
            markShape - The expected mark shape.
            +
            markFill - The expected mark fill style.
            +
            position - The expected position of the mark.
            +
            Returns:
            +
            A SpannedSubject.AndSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RelativeSized.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RelativeSized.html new file mode 100644 index 0000000000..d4280575d3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RelativeSized.html @@ -0,0 +1,260 @@ + + + + +SpannedSubject.RelativeSized (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.RelativeSized

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.RelativeSized
        +
        Allows assertions about the relative size of a span.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withSizeChange

            +
            SpannedSubject.AndSpanFlags withSizeChange​(float sizeChange)
            +
            Checks that at least one of the matched spans has the expected sizeChange.
            +
            +
            Parameters:
            +
            sizeChange - The expected size change.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RubyText.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RubyText.html new file mode 100644 index 0000000000..e19bfd597c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.RubyText.html @@ -0,0 +1,264 @@ + + + + +SpannedSubject.RubyText (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.RubyText

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.RubyText
        +
        Allows assertions about a span's ruby text and its position.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withTextAndPosition

            +
            SpannedSubject.AndSpanFlags withTextAndPosition​(String text,
            +                                                @Position
            +                                                int position)
            +
            Checks that at least one of the matched spans has the expected text.
            +
            +
            Parameters:
            +
            text - The expected text.
            +
            position - The expected position of the text.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Typefaced.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Typefaced.html new file mode 100644 index 0000000000..2515dcae7b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.Typefaced.html @@ -0,0 +1,260 @@ + + + + +SpannedSubject.Typefaced (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.Typefaced

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.Typefaced
        +
        Allows assertions about the typeface of a span.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withFamily

            +
            SpannedSubject.AndSpanFlags withFamily​(String fontFamily)
            +
            Checks that at least one of the matched spans has the expected fontFamily.
            +
            +
            Parameters:
            +
            fontFamily - The expected font family.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.WithSpanFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.WithSpanFlags.html new file mode 100644 index 0000000000..80a168092b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.WithSpanFlags.html @@ -0,0 +1,261 @@ + + + + +SpannedSubject.WithSpanFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SpannedSubject.WithSpanFlags

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        SpannedSubject
        +
        +
        +
        public static interface SpannedSubject.WithSpanFlags
        +
        Allows additional assertions to be made on the flags of matching spans. + +

        Identical to SpannedSubject.AndSpanFlags, but this should be returned from has...() methods + while SpannedSubject.AndSpanFlags should be returned from with...() methods.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidwithFlags​(int flags) +
          Checks that one of the matched spans has the expected flags.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            withFlags

            +
            void withFlags​(int flags)
            +
            Checks that one of the matched spans has the expected flags.
            +
            +
            Parameters:
            +
            flags - The expected flags. See SPAN_* constants on Spanned for possible values.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.html new file mode 100644 index 0000000000..17b58210e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/SpannedSubject.html @@ -0,0 +1,1132 @@ + + + + +SpannedSubject (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpannedSubject

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.common.truth.Subject
        • +
        • +
            +
          • com.google.android.exoplayer2.testutil.truth.SpannedSubject
          • +
          +
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class SpannedSubject
        +extends com.google.common.truth.Subject
        +
        A Truth Subject for assertions on Spanned instances containing text styling.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            spanned

            +
            public static com.google.common.truth.Subject.Factory<SpannedSubject,Spanned> spanned()
            +
          • +
          + + + +
            +
          • +

            assertThat

            +
            public static SpannedSubject assertThat​(@Nullable
            +                                        Spanned spanned)
            +
            Convenience method to create a SpannedSubject. + +

            Can be statically imported alongside other Truth assertThat methods.

            +
            +
            Parameters:
            +
            spanned - The subject under test.
            +
            Returns:
            +
            An object for conducting assertions on the subject.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoSpans

            +
            public void hasNoSpans()
            +
          • +
          + + + +
            +
          • +

            hasItalicSpanBetween

            +
            public SpannedSubject.WithSpanFlags hasItalicSpanBetween​(int start,
            +                                                         int end)
            +
            Checks that the subject has an italic span from start to end.
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasBoldSpanBetween

            +
            public SpannedSubject.WithSpanFlags hasBoldSpanBetween​(int start,
            +                                                       int end)
            +
            Checks that the subject has a bold span from start to end.
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasBoldItalicSpanBetween

            +
            public SpannedSubject.WithSpanFlags hasBoldItalicSpanBetween​(int start,
            +                                                             int end)
            +
            Checks that the subject has bold and italic styling from start to end. + +

            This can either be: + +

              +
            • A single StyleSpan with span.getStyle() == Typeface.BOLD_ITALIC. +
            • Two StyleSpans, one with span.getStyle() == Typeface.BOLD and the other + with span.getStyle() == Typeface.ITALIC. +
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoStyleSpanBetween

            +
            public void hasNoStyleSpanBetween​(int start,
            +                                  int end)
            +
            Checks that the subject has no StyleSpans on any of the text between start and + end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasUnderlineSpanBetween

            +
            public SpannedSubject.WithSpanFlags hasUnderlineSpanBetween​(int start,
            +                                                            int end)
            +
            Checks that the subject has an UnderlineSpan from start to end.
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoUnderlineSpanBetween

            +
            public void hasNoUnderlineSpanBetween​(int start,
            +                                      int end)
            +
            Checks that the subject has no UnderlineSpans on any of the text between start + and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasStrikethroughSpanBetween

            +
            public SpannedSubject.WithSpanFlags hasStrikethroughSpanBetween​(int start,
            +                                                                int end)
            +
            Checks that the subject has an StrikethroughSpan from start to end.
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.WithSpanFlags object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoStrikethroughSpanBetween

            +
            public void hasNoStrikethroughSpanBetween​(int start,
            +                                          int end)
            +
            Checks that the subject has no StrikethroughSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasAlignmentSpanBetween

            +
            @CheckResult
            +public SpannedSubject.Aligned hasAlignmentSpanBetween​(int start,
            +                                                      int end)
            +
            Checks that the subject has a AlignmentSpan from start to end. + +

            The alignment is asserted in a follow-up method call on the return SpannedSubject.Aligned object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.Aligned object to assert on the alignment of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoAlignmentSpanBetween

            +
            public void hasNoAlignmentSpanBetween​(int start,
            +                                      int end)
            +
            Checks that the subject has no AlignmentSpans on any of the text between start + and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasForegroundColorSpanBetween

            +
            @CheckResult
            +public SpannedSubject.Colored hasForegroundColorSpanBetween​(int start,
            +                                                            int end)
            +
            Checks that the subject has a ForegroundColorSpan from start to end. + +

            The color is asserted in a follow-up method call on the return SpannedSubject.Colored object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.Colored object to assert on the color of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoForegroundColorSpanBetween

            +
            public void hasNoForegroundColorSpanBetween​(int start,
            +                                            int end)
            +
            Checks that the subject has no ForegroundColorSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasBackgroundColorSpanBetween

            +
            @CheckResult
            +public SpannedSubject.Colored hasBackgroundColorSpanBetween​(int start,
            +                                                            int end)
            +
            Checks that the subject has a BackgroundColorSpan from start to end. + +

            The color is asserted in a follow-up method call on the return SpannedSubject.Colored object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.Colored object to assert on the color of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoBackgroundColorSpanBetween

            +
            public void hasNoBackgroundColorSpanBetween​(int start,
            +                                            int end)
            +
            Checks that the subject has no BackgroundColorSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasTypefaceSpanBetween

            +
            @CheckResult
            +public SpannedSubject.Typefaced hasTypefaceSpanBetween​(int start,
            +                                                       int end)
            +
            Checks that the subject has a TypefaceSpan from start to end. + +

            The font is asserted in a follow-up method call on the return SpannedSubject.Typefaced object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.Typefaced object to assert on the font of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoTypefaceSpanBetween

            +
            public void hasNoTypefaceSpanBetween​(int start,
            +                                     int end)
            +
            Checks that the subject has no TypefaceSpans on any of the text between start + and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasAbsoluteSizeSpanBetween

            +
            @CheckResult
            +public SpannedSubject.AbsoluteSized hasAbsoluteSizeSpanBetween​(int start,
            +                                                               int end)
            +
            Checks that the subject has a AbsoluteSizeSpan from start to end. + +

            The size is asserted in a follow-up method call on the return SpannedSubject.AbsoluteSized object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.AbsoluteSized object to assert on the size of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoAbsoluteSizeSpanBetween

            +
            public void hasNoAbsoluteSizeSpanBetween​(int start,
            +                                         int end)
            +
            Checks that the subject has no AbsoluteSizeSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasRelativeSizeSpanBetween

            +
            @CheckResult
            +public SpannedSubject.RelativeSized hasRelativeSizeSpanBetween​(int start,
            +                                                               int end)
            +
            Checks that the subject has a RelativeSizeSpan from start to end. + +

            The size is asserted in a follow-up method call on the return SpannedSubject.RelativeSized object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.RelativeSized object to assert on the size of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoRelativeSizeSpanBetween

            +
            public void hasNoRelativeSizeSpanBetween​(int start,
            +                                         int end)
            +
            Checks that the subject has no RelativeSizeSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasRubySpanBetween

            +
            @CheckResult
            +public SpannedSubject.RubyText hasRubySpanBetween​(int start,
            +                                                  int end)
            +
            Checks that the subject has a RubySpan from start to end. + +

            The ruby-text is asserted in a follow-up method call on the return SpannedSubject.RubyText object.

            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.Colored object to assert on the color of the matching spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoRubySpanBetween

            +
            public void hasNoRubySpanBetween​(int start,
            +                                 int end)
            +
            Checks that the subject has no RubySpans on any of the text between start and + end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            hasTextEmphasisSpanBetween

            +
            public SpannedSubject.EmphasizedText hasTextEmphasisSpanBetween​(int start,
            +                                                                int end)
            +
            Checks that the subject has an TextEmphasisSpan from start to end.
            +
            +
            Parameters:
            +
            start - The start of the expected span.
            +
            end - The end of the expected span.
            +
            Returns:
            +
            A SpannedSubject.EmphasizedText object for optional additional assertions on the flags.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoTextEmphasisSpanBetween

            +
            public void hasNoTextEmphasisSpanBetween​(int start,
            +                                         int end)
            +
            Checks that the subject has no TextEmphasisSpans on any of the text between + start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          + + + +
            +
          • +

            hasNoHorizontalTextInVerticalContextSpanBetween

            +
            public void hasNoHorizontalTextInVerticalContextSpanBetween​(int start,
            +                                                            int end)
            +
            Checks that the subject has no HorizontalTextInVerticalContextSpans on any of the text + between start and end. + +

            This fails even if the start and end indexes don't exactly match.

            +
            +
            Parameters:
            +
            start - The start index to start searching for spans.
            +
            end - The end index to stop searching for spans.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-frame.html new file mode 100644 index 0000000000..99102fc60c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-frame.html @@ -0,0 +1,39 @@ + + + + +com.google.android.exoplayer2.testutil.truth (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.testutil.truth

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-summary.html new file mode 100644 index 0000000000..0050e66ec7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-summary.html @@ -0,0 +1,233 @@ + + + + +com.google.android.exoplayer2.testutil.truth (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.testutil.truth

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-tree.html new file mode 100644 index 0000000000..2c37cbbed2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/testutil/truth/package-tree.html @@ -0,0 +1,177 @@ + + + + +com.google.android.exoplayer2.testutil.truth Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.testutil.truth

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      +
        +
      • java.lang.Object +
          +
        • com.google.common.truth.Subject + +
        • +
        +
      • +
      +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.EdgeType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.EdgeType.html new file mode 100644 index 0000000000..fa8f0387c3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.EdgeType.html @@ -0,0 +1,189 @@ + + + + +CaptionStyleCompat.EdgeType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type CaptionStyleCompat.EdgeType

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.html new file mode 100644 index 0000000000..9970bd1ff5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/CaptionStyleCompat.html @@ -0,0 +1,630 @@ + + + + +CaptionStyleCompat (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CaptionStyleCompat

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.CaptionStyleCompat
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.AnchorType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.AnchorType.html new file mode 100644 index 0000000000..2b2f97d556 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.AnchorType.html @@ -0,0 +1,190 @@ + + + + +Cue.AnchorType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Cue.AnchorType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.Builder.html new file mode 100644 index 0000000000..bf657fcac7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.Builder.html @@ -0,0 +1,946 @@ + + + + +Cue.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Cue.Builder

      +
      +
      + +
      +
        +
      • +
        +
        Enclosing class:
        +
        Cue
        +
        +
        +
        public static final class Cue.Builder
        +extends Object
        +
        A builder for Cue objects.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setText

            +
            public Cue.Builder setText​(CharSequence text)
            +
            Sets the cue text. + +

            Note that text may be decorated with styling spans.

            +
            +
            See Also:
            +
            Cue.text
            +
            +
          • +
          + + + +
            +
          • +

            getText

            +
            @Nullable
            +public CharSequence getText()
            +
            Gets the cue text.
            +
            +
            See Also:
            +
            Cue.text
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getBitmap

            +
            @Nullable
            +public Bitmap getBitmap()
            +
            Gets the cue image.
            +
            +
            See Also:
            +
            Cue.bitmap
            +
            +
          • +
          + + + +
            +
          • +

            setTextAlignment

            +
            public Cue.Builder setTextAlignment​(@Nullable
            +                                    Layout.Alignment textAlignment)
            +
            Sets the alignment of the cue text within the cue box. + +

            Passing null means the alignment is undefined.

            +
            +
            See Also:
            +
            Cue.textAlignment
            +
            +
          • +
          + + + +
            +
          • +

            getTextAlignment

            +
            @Nullable
            +public Layout.Alignment getTextAlignment()
            +
            Gets the alignment of the cue text within the cue box, or null if the alignment is undefined.
            +
            +
            See Also:
            +
            Cue.textAlignment
            +
            +
          • +
          + + + +
            +
          • +

            setLine

            +
            public Cue.Builder setLine​(float line,
            +                           @LineType
            +                           int lineType)
            +
            Sets the position of the cue box within the viewport in the direction orthogonal to the + writing direction.
            +
            +
            See Also:
            +
            Cue.line, +Cue.lineType
            +
            +
          • +
          + + + +
            +
          • +

            getLine

            +
            public float getLine()
            +
            Gets the position of the lineAnchor of the cue box within the viewport in the + direction orthogonal to the writing direction.
            +
            +
            See Also:
            +
            Cue.line
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setPosition

            +
            public Cue.Builder setPosition​(float position)
            +
            Sets the fractional position of the positionAnchor of the cue + box within the viewport in the direction orthogonal to line.
            +
            +
            See Also:
            +
            Cue.position
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public float getPosition()
            +
            Gets the fractional position of the positionAnchor of the cue + box within the viewport in the direction orthogonal to line.
            +
            +
            See Also:
            +
            Cue.position
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            getTextSizeType

            +
            @TextSizeType
            +public int getTextSizeType()
            +
            Gets the default text size type for this cue's text.
            +
            +
            See Also:
            +
            Cue.textSizeType
            +
            +
          • +
          + + + +
            +
          • +

            getTextSize

            +
            public float getTextSize()
            +
            Gets the default text size for this cue's text.
            +
            +
            See Also:
            +
            Cue.textSize
            +
            +
          • +
          + + + +
            +
          • +

            setSize

            +
            public Cue.Builder setSize​(float size)
            +
            Sets the size of the cue box in the writing direction specified as a fraction of the viewport + size in that direction.
            +
            +
            See Also:
            +
            Cue.size
            +
            +
          • +
          + + + +
            +
          • +

            getSize

            +
            public float getSize()
            +
            Gets the size of the cue box in the writing direction specified as a fraction of the viewport + size in that direction.
            +
            +
            See Also:
            +
            Cue.size
            +
            +
          • +
          + + + +
            +
          • +

            setBitmapHeight

            +
            public Cue.Builder setBitmapHeight​(float bitmapHeight)
            +
            Sets the bitmap height as a fraction of the viewport size.
            +
            +
            See Also:
            +
            Cue.bitmapHeight
            +
            +
          • +
          + + + +
            +
          • +

            getBitmapHeight

            +
            public float getBitmapHeight()
            +
            Gets the bitmap height as a fraction of the viewport size.
            +
            +
            See Also:
            +
            Cue.bitmapHeight
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            isWindowColorSet

            +
            public boolean isWindowColorSet()
            +
            Returns true if the fill color of the window is set.
            +
            +
            See Also:
            +
            Cue.windowColorSet
            +
            +
          • +
          + + + +
            +
          • +

            getWindowColor

            +
            public int getWindowColor()
            +
            Gets the fill color of the window.
            +
            +
            See Also:
            +
            Cue.windowColor
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setShearDegrees

            +
            public Cue.Builder setShearDegrees​(float shearDegrees)
            +
            Sets the shear angle for this Cue.
            +
          • +
          + + + +
            +
          • +

            getVerticalType

            +
            @VerticalType
            +public int getVerticalType()
            +
            Gets the vertical formatting for this Cue.
            +
            +
            See Also:
            +
            Cue.verticalType
            +
            +
          • +
          + + + +
            +
          • +

            build

            +
            public Cue build()
            +
            Build the cue.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.LineType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.LineType.html new file mode 100644 index 0000000000..080704b5dd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.LineType.html @@ -0,0 +1,190 @@ + + + + +Cue.LineType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Cue.LineType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.TextSizeType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.TextSizeType.html new file mode 100644 index 0000000000..2a8d9acf79 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.TextSizeType.html @@ -0,0 +1,190 @@ + + + + +Cue.TextSizeType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Cue.TextSizeType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.VerticalType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.VerticalType.html new file mode 100644 index 0000000000..e4ac166a47 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.VerticalType.html @@ -0,0 +1,189 @@ + + + + +Cue.VerticalType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Cue.VerticalType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.html new file mode 100644 index 0000000000..89b9434f70 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Cue.html @@ -0,0 +1,1182 @@ + + + + +Cue (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Cue

      +
      +
      + +
      +
        +
      • +
        +
        public final class Cue
        +extends Object
        +
        Contains information about a specific cue, including textual content and formatting data.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static interface Cue.AnchorType +
          The type of anchor, which may be unset.
          +
          static class Cue.Builder +
          A builder for Cue objects.
          +
          static interface Cue.LineType +
          The type of line, which may be unset.
          +
          static interface Cue.TextSizeType +
          The type of default text size for this cue, which may be unset.
          +
          static interface Cue.VerticalType +
          The type of vertical layout for this cue, which may be unset (i.e.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static intANCHOR_TYPE_END +
          Anchors the right (for horizontal positions) or bottom (for vertical positions) edge of the cue + box.
          +
          static intANCHOR_TYPE_MIDDLE +
          Anchors the middle of the cue box.
          +
          static intANCHOR_TYPE_START +
          Anchors the left (for horizontal positions) or top (for vertical positions) edge of the cue + box.
          +
          Bitmapbitmap +
          The cue image, or null if this is a text cue.
          +
          floatbitmapHeight +
          The bitmap height as a fraction of the of the viewport size, or DIMEN_UNSET if the + bitmap should be displayed at its natural height given the bitmap dimensions and the specified + size.
          +
          static floatDIMEN_UNSET +
          An unset position, width or size.
          +
          static CueEMPTY +
          The empty cue.
          +
          floatline +
          The position of the cue box within the viewport in the direction orthogonal to the writing + direction (determined by verticalType), or DIMEN_UNSET.
          +
          static intLINE_TYPE_FRACTION +
          Value for lineType when line is a fractional position.
          +
          static intLINE_TYPE_NUMBER +
          Value for lineType when line is a line number.
          +
          intlineAnchor +
          The cue box anchor positioned by line when lineType is LINE_TYPE_FRACTION.
          +
          intlineType +
          The type of the line value.
          +
          floatposition +
          The fractional position of the positionAnchor of the cue box within the viewport in + the direction orthogonal to line, or DIMEN_UNSET.
          +
          intpositionAnchor +
          The cue box anchor positioned by position.
          +
          floatshearDegrees +
          The shear angle in degrees to be applied to this Cue, expressed in graphics coordinates.
          +
          floatsize +
          The size of the cue box in the writing direction specified as a fraction of the viewport size + in that direction, or DIMEN_UNSET.
          +
          CharSequencetext +
          The cue text, or null if this is an image cue.
          +
          static intTEXT_SIZE_TYPE_ABSOLUTE +
          Text size is measured in number of pixels.
          +
          static intTEXT_SIZE_TYPE_FRACTIONAL +
          Text size is measured as a fraction of the viewport size minus the view padding.
          +
          static intTEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING +
          Text size is measured as a fraction of the viewport size, ignoring the view padding
          +
          Layout.AlignmenttextAlignment +
          The alignment of the cue text within the cue box, or null if the alignment is undefined.
          +
          floattextSize +
          The default text size for this cue's text, or DIMEN_UNSET if this cue has no default + text size.
          +
          inttextSizeType +
          The default text size type for this cue's text, or TYPE_UNSET if this cue has no + default text size.
          +
          static intTYPE_UNSET +
          An unset anchor, line, text size or vertical type value.
          +
          static intVERTICAL_TYPE_LR +
          Vertical left-to-right (e.g.
          +
          static intVERTICAL_TYPE_RL +
          Vertical right-to-left (e.g.
          +
          intverticalType +
          The vertical formatting of this Cue, or TYPE_UNSET if the cue has no vertical setting + (and so should be horizontal).
          +
          intwindowColor +
          The fill color of the window.
          +
          booleanwindowColorSet +
          Specifies whether or not the windowColor property is set.
          +
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          Cue​(CharSequence text) +
          Deprecated. + +
          +
          Cue​(CharSequence text, + Layout.Alignment textAlignment, + float line, + int lineType, + int lineAnchor, + float position, + int positionAnchor, + float size) +
          Deprecated. + +
          +
          Cue​(CharSequence text, + Layout.Alignment textAlignment, + float line, + int lineType, + int lineAnchor, + float position, + int positionAnchor, + float size, + boolean windowColorSet, + int windowColor) +
          Deprecated. + +
          +
          Cue​(CharSequence text, + Layout.Alignment textAlignment, + float line, + int lineType, + int lineAnchor, + float position, + int positionAnchor, + float size, + int textSizeType, + float textSize) +
          Deprecated. + +
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            EMPTY

            +
            public static final Cue EMPTY
            +
            The empty cue.
            +
          • +
          + + + +
            +
          • +

            DIMEN_UNSET

            +
            public static final float DIMEN_UNSET
            +
            An unset position, width or size.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TYPE_UNSET

            +
            public static final int TYPE_UNSET
            +
            An unset anchor, line, text size or vertical type value.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ANCHOR_TYPE_START

            +
            public static final int ANCHOR_TYPE_START
            +
            Anchors the left (for horizontal positions) or top (for vertical positions) edge of the cue + box.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ANCHOR_TYPE_MIDDLE

            +
            public static final int ANCHOR_TYPE_MIDDLE
            +
            Anchors the middle of the cue box.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ANCHOR_TYPE_END

            +
            public static final int ANCHOR_TYPE_END
            +
            Anchors the right (for horizontal positions) or bottom (for vertical positions) edge of the cue + box.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            LINE_TYPE_FRACTION

            +
            public static final int LINE_TYPE_FRACTION
            +
            Value for lineType when line is a fractional position.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            TEXT_SIZE_TYPE_FRACTIONAL

            +
            public static final int TEXT_SIZE_TYPE_FRACTIONAL
            +
            Text size is measured as a fraction of the viewport size minus the view padding.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING

            +
            public static final int TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING
            +
            Text size is measured as a fraction of the viewport size, ignoring the view padding
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TEXT_SIZE_TYPE_ABSOLUTE

            +
            public static final int TEXT_SIZE_TYPE_ABSOLUTE
            +
            Text size is measured in number of pixels.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            VERTICAL_TYPE_RL

            +
            public static final int VERTICAL_TYPE_RL
            +
            Vertical right-to-left (e.g. for Japanese).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            VERTICAL_TYPE_LR

            +
            public static final int VERTICAL_TYPE_LR
            +
            Vertical left-to-right (e.g. for Mongolian).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            text

            +
            @Nullable
            +public final CharSequence text
            +
            The cue text, or null if this is an image cue. Note the CharSequence may be decorated + with styling spans.
            +
          • +
          + + + +
            +
          • +

            textAlignment

            +
            @Nullable
            +public final Layout.Alignment textAlignment
            +
            The alignment of the cue text within the cue box, or null if the alignment is undefined.
            +
          • +
          + + + +
            +
          • +

            bitmap

            +
            @Nullable
            +public final Bitmap bitmap
            +
            The cue image, or null if this is a text cue.
            +
          • +
          + + + +
            +
          • +

            line

            +
            public final float line
            +
            The position of the cue box within the viewport in the direction orthogonal to the writing + direction (determined by verticalType), or DIMEN_UNSET. When set, the + interpretation of the value depends on the value of lineType. + +

            The measurement direction depends on verticalType: + +

              +
            • For TYPE_UNSET (i.e. horizontal), this is the vertical position relative to the + top of the viewport. +
            • For VERTICAL_TYPE_LR this is the horizontal position relative to the left of the + viewport. +
            • For VERTICAL_TYPE_RL this is the horizontal position relative to the right of + the viewport. +
            +
          • +
          + + + +
            +
          • +

            lineType

            +
            @LineType
            +public final int lineType
            +
            The type of the line value. + +
              +
            • LINE_TYPE_FRACTION indicates that line is a fractional position within + the viewport (measured to the part of the cue box determined by lineAnchor). +
            • LINE_TYPE_NUMBER indicates that line is a viewport line number. The + viewport is divided into lines (each equal in size to the first line of the cue box). The + cue box is positioned to align with the viewport lines as follows: +
                +
              • lineAnchor) is ignored. +
              • When line is greater than or equal to 0 the first line in the cue box is + aligned with a viewport line, with 0 meaning the first line of the viewport. +
              • When line is negative the last line in the cue box is aligned with a + viewport line, with -1 meaning the last line of the viewport. +
              • For horizontal text the start and end of the viewport are the top and bottom + respectively. +
              +
            +
          • +
          + + + + + + + +
            +
          • +

            position

            +
            public final float position
            +
            The fractional position of the positionAnchor of the cue box within the viewport in + the direction orthogonal to line, or DIMEN_UNSET. + +

            The measurement direction depends on verticalType. + +

              +
            • For TYPE_UNSET (i.e. horizontal), this is the horizontal position relative to + the left of the viewport. Note that positioning is relative to the left of the viewport + even in the case of right-to-left text. +
            • For VERTICAL_TYPE_LR and VERTICAL_TYPE_RL (i.e. vertical), this is the + vertical position relative to the top of the viewport. +
            +
          • +
          + + + + + + + +
            +
          • +

            size

            +
            public final float size
            +
            The size of the cue box in the writing direction specified as a fraction of the viewport size + in that direction, or DIMEN_UNSET.
            +
          • +
          + + + +
            +
          • +

            bitmapHeight

            +
            public final float bitmapHeight
            +
            The bitmap height as a fraction of the of the viewport size, or DIMEN_UNSET if the + bitmap should be displayed at its natural height given the bitmap dimensions and the specified + size.
            +
          • +
          + + + +
            +
          • +

            windowColorSet

            +
            public final boolean windowColorSet
            +
            Specifies whether or not the windowColor property is set.
            +
          • +
          + + + +
            +
          • +

            windowColor

            +
            public final int windowColor
            +
            The fill color of the window.
            +
          • +
          + + + +
            +
          • +

            textSizeType

            +
            @TextSizeType
            +public final int textSizeType
            +
            The default text size type for this cue's text, or TYPE_UNSET if this cue has no + default text size.
            +
          • +
          + + + +
            +
          • +

            textSize

            +
            public final float textSize
            +
            The default text size for this cue's text, or DIMEN_UNSET if this cue has no default + text size.
            +
          • +
          + + + +
            +
          • +

            verticalType

            +
            @VerticalType
            +public final int verticalType
            +
            The vertical formatting of this Cue, or TYPE_UNSET if the cue has no vertical setting + (and so should be horizontal).
            +
          • +
          + + + +
            +
          • +

            shearDegrees

            +
            public final float shearDegrees
            +
            The shear angle in degrees to be applied to this Cue, expressed in graphics coordinates. This + results in a skew transform for the block along the inline progression axis.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildUpon

            +
            public Cue.Builder buildUpon()
            +
            Returns a new Cue.Builder initialized with the same values as this Cue.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html new file mode 100644 index 0000000000..cdd5035900 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.html @@ -0,0 +1,507 @@ + + + + +SimpleSubtitleDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleSubtitleDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Subtitle.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Subtitle.html new file mode 100644 index 0000000000..39e110e9df --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/Subtitle.html @@ -0,0 +1,330 @@ + + + + +Subtitle (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Subtitle

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SubtitleOutputBuffer
        +
        +
        +
        public interface Subtitle
        +
        A subtitle consisting of timed Cues.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          List<Cue>getCues​(long timeUs) +
          Retrieve the cues that should be displayed at a given time.
          +
          longgetEventTime​(int index) +
          Returns the event time at a specified index.
          +
          intgetEventTimeCount() +
          Returns the number of event times, where events are defined as points in time at which the cues + returned by getCues(long) changes.
          +
          intgetNextEventTimeIndex​(long timeUs) +
          Returns the index of the first event that occurs after a given time (exclusive).
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getNextEventTimeIndex

            +
            int getNextEventTimeIndex​(long timeUs)
            +
            Returns the index of the first event that occurs after a given time (exclusive).
            +
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            Returns:
            +
            The index of the next event, or C.INDEX_UNSET if there are no events after the + specified time.
            +
            +
          • +
          + + + +
            +
          • +

            getEventTimeCount

            +
            int getEventTimeCount()
            +
            Returns the number of event times, where events are defined as points in time at which the cues + returned by getCues(long) changes.
            +
            +
            Returns:
            +
            The number of event times.
            +
            +
          • +
          + + + +
            +
          • +

            getEventTime

            +
            long getEventTime​(int index)
            +
            Returns the event time at a specified index.
            +
            +
            Parameters:
            +
            index - The index of the event time to obtain.
            +
            Returns:
            +
            The event time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getCues

            +
            List<Cue> getCues​(long timeUs)
            +
            Retrieve the cues that should be displayed at a given time.
            +
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            Returns:
            +
            A list of cues that should be displayed, possibly empty.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoder.html new file mode 100644 index 0000000000..2da8548579 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoder.html @@ -0,0 +1,272 @@ + + + + +SubtitleDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SubtitleDecoder

      +
      +
      + +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setPositionUs

            +
            void setPositionUs​(long positionUs)
            +
            Informs the decoder of the current playback position. +

            + Must be called prior to each attempt to dequeue output buffers from the decoder.

            +
            +
            Parameters:
            +
            positionUs - The current playback position in microseconds.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderException.html new file mode 100644 index 0000000000..585841411e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderException.html @@ -0,0 +1,336 @@ + + + + +SubtitleDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SubtitleDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubtitleDecoderException

            +
            public SubtitleDecoderException​(String message)
            +
            +
            Parameters:
            +
            message - The detail message for this exception.
            +
            +
          • +
          + + + +
            +
          • +

            SubtitleDecoderException

            +
            public SubtitleDecoderException​(@Nullable
            +                                Throwable cause)
            +
            +
            Parameters:
            +
            cause - The cause of this exception, or null.
            +
            +
          • +
          + + + +
            +
          • +

            SubtitleDecoderException

            +
            public SubtitleDecoderException​(String message,
            +                                @Nullable
            +                                Throwable cause)
            +
            +
            Parameters:
            +
            message - The detail message for this exception.
            +
            cause - The cause of this exception, or null.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderFactory.html new file mode 100644 index 0000000000..901d24d4af --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleDecoderFactory.html @@ -0,0 +1,339 @@ + + + + +SubtitleDecoderFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SubtitleDecoderFactory

      +
      +
      +
      +
        +
      • +
        +
        public interface SubtitleDecoderFactory
        +
        A factory for SubtitleDecoder instances.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleInputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleInputBuffer.html new file mode 100644 index 0000000000..cbc3410aa6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleInputBuffer.html @@ -0,0 +1,352 @@ + + + + +SubtitleInputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SubtitleInputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubtitleInputBuffer

            +
            public SubtitleInputBuffer()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleOutputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleOutputBuffer.html new file mode 100644 index 0000000000..fcc8ce3d1b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/SubtitleOutputBuffer.html @@ -0,0 +1,501 @@ + + + + +SubtitleOutputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SubtitleOutputBuffer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubtitleOutputBuffer

            +
            public SubtitleOutputBuffer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setContent

            +
            public void setContent​(long timeUs,
            +                       Subtitle subtitle,
            +                       long subsampleOffsetUs)
            +
            Sets the content of the output buffer, consisting of a Subtitle and associated + metadata.
            +
            +
            Parameters:
            +
            timeUs - The time of the start of the subtitle in microseconds.
            +
            subtitle - The subtitle.
            +
            subsampleOffsetUs - An offset that must be added to the subtitle's event times, or + Format.OFFSET_SAMPLE_RELATIVE if timeUs should be added.
            +
            +
          • +
          + + + +
            +
          • +

            getEventTimeCount

            +
            public int getEventTimeCount()
            +
            Description copied from interface: Subtitle
            +
            Returns the number of event times, where events are defined as points in time at which the cues + returned by Subtitle.getCues(long) changes.
            +
            +
            Specified by:
            +
            getEventTimeCount in interface Subtitle
            +
            Returns:
            +
            The number of event times.
            +
            +
          • +
          + + + +
            +
          • +

            getEventTime

            +
            public long getEventTime​(int index)
            +
            Description copied from interface: Subtitle
            +
            Returns the event time at a specified index.
            +
            +
            Specified by:
            +
            getEventTime in interface Subtitle
            +
            Parameters:
            +
            index - The index of the event time to obtain.
            +
            Returns:
            +
            The event time in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getNextEventTimeIndex

            +
            public int getNextEventTimeIndex​(long timeUs)
            +
            Description copied from interface: Subtitle
            +
            Returns the index of the first event that occurs after a given time (exclusive).
            +
            +
            Specified by:
            +
            getNextEventTimeIndex in interface Subtitle
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            Returns:
            +
            The index of the next event, or C.INDEX_UNSET if there are no events after the + specified time.
            +
            +
          • +
          + + + +
            +
          • +

            getCues

            +
            public List<Cue> getCues​(long timeUs)
            +
            Description copied from interface: Subtitle
            +
            Retrieve the cues that should be displayed at a given time.
            +
            +
            Specified by:
            +
            getCues in interface Subtitle
            +
            Parameters:
            +
            timeUs - The time in microseconds.
            +
            Returns:
            +
            A list of cues that should be displayed, possibly empty.
            +
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Description copied from class: Buffer
            +
            Clears the buffer.
            +
            +
            Overrides:
            +
            clear in class Buffer
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextOutput.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextOutput.html new file mode 100644 index 0000000000..74bd18366f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextOutput.html @@ -0,0 +1,258 @@ + + + + +TextOutput (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TextOutput

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SubtitleView
        +
        +
        +
        public interface TextOutput
        +
        Receives text output.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCues

            +
            void onCues​(List<Cue> cues)
            +
            Called when there is a change in the Cues.
            +
            +
            Parameters:
            +
            cues - The Cues. May be empty.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextRenderer.html new file mode 100644 index 0000000000..58ab032520 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/TextRenderer.html @@ -0,0 +1,696 @@ + + + + +TextRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TextRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TextRenderer

            +
            public TextRenderer​(TextOutput output,
            +                    @Nullable
            +                    Looper outputLooper)
            +
            +
            Parameters:
            +
            output - The output.
            +
            outputLooper - The looper associated with the thread on which the output should be called. + If the output makes use of standard Android UI components, then this should normally be the + looper associated with the application's main thread, which can be obtained using ContextWrapper.getMainLooper(). Null may be passed if the output should be called + directly on the player's internal rendering thread.
            +
            +
          • +
          + + + +
            +
          • +

            TextRenderer

            +
            public TextRenderer​(TextOutput output,
            +                    @Nullable
            +                    Looper outputLooper,
            +                    SubtitleDecoderFactory decoderFactory)
            +
            +
            Parameters:
            +
            output - The output.
            +
            outputLooper - The looper associated with the thread on which the output should be called. + If the output makes use of standard Android UI components, then this should normally be the + looper associated with the application's main thread, which can be obtained using ContextWrapper.getMainLooper(). Null may be passed if the output should be called + directly on the player's internal rendering thread.
            +
            decoderFactory - A factory from which to obtain SubtitleDecoder instances.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Specified by:
            +
            getName in interface Renderer
            +
            Specified by:
            +
            getName in interface RendererCapabilities
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setFinalStreamEndPositionUs

            +
            public void setFinalStreamEndPositionUs​(long streamEndPositionUs)
            +
            Sets the position at which to stop rendering the current stream. + +

            Must be called after BaseRenderer.setCurrentStreamFinal().

            +
            +
            Parameters:
            +
            streamEndPositionUs - The position to stop rendering at or C.LENGTH_UNSET to + render until the end of the current stream.
            +
            +
          • +
          + + + +
            +
          • +

            onStreamChanged

            +
            protected void onStreamChanged​(Format[] formats,
            +                               long startPositionUs,
            +                               long offsetUs)
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer's stream has changed. This occurs when the renderer is enabled after + BaseRenderer.onEnabled(boolean, boolean) has been called, and also when the stream has been + replaced whilst the renderer is enabled or started. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStreamChanged in class BaseRenderer
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset that will be added to the timestamps of buffers read via BaseRenderer.readSource(FormatHolder, DecoderInputBuffer, boolean) so that decoder input buffers have + monotonically increasing timestamps.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isEnded in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea608Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea608Decoder.html new file mode 100644 index 0000000000..8e6b812f37 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea608Decoder.html @@ -0,0 +1,626 @@ + + + + +Cea608Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Cea608Decoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.cea.Cea608Decoder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea708Decoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea708Decoder.html new file mode 100644 index 0000000000..6716f95d34 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/Cea708Decoder.html @@ -0,0 +1,566 @@ + + + + +Cea708Decoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Cea708Decoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.cea.Cea708Decoder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-frame.html new file mode 100644 index 0000000000..3cb51f99ba --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-frame.html @@ -0,0 +1,28 @@ + + + + +com.google.android.exoplayer2.text.cea (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.cea

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-summary.html new file mode 100644 index 0000000000..b830c590a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-summary.html @@ -0,0 +1,174 @@ + + + + +com.google.android.exoplayer2.text.cea (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.cea

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-tree.html new file mode 100644 index 0000000000..81ad188d33 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/cea/package-tree.html @@ -0,0 +1,162 @@ + + + + +com.google.android.exoplayer2.text.cea Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.cea

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/DvbDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/DvbDecoder.html new file mode 100644 index 0000000000..909f13eae4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/DvbDecoder.html @@ -0,0 +1,358 @@ + + + + +DvbDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DvbDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DvbDecoder

            +
            public DvbDecoder​(List<byte[]> initializationData)
            +
            +
            Parameters:
            +
            initializationData - The initialization data for the decoder. The initialization data + must consist of a single byte array containing 5 bytes: flag_pes_stripped (1), + composition_page (2), ancillary_page (2).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            decode

            +
            protected Subtitle decode​(byte[] data,
            +                          int length,
            +                          boolean reset)
            +
            Description copied from class: SimpleSubtitleDecoder
            +
            Decodes data into a Subtitle.
            +
            +
            Specified by:
            +
            decode in class SimpleSubtitleDecoder
            +
            Parameters:
            +
            data - An array holding the data to be decoded, starting at position 0.
            +
            length - The size of the data to be decoded.
            +
            reset - Whether the decoder must be reset before decoding.
            +
            Returns:
            +
            The decoded Subtitle.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-frame.html new file mode 100644 index 0000000000..247c98b724 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.dvb (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.dvb

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-summary.html new file mode 100644 index 0000000000..7ff6a199ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.dvb (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.dvb

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-tree.html new file mode 100644 index 0000000000..82f215b8f9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/dvb/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.dvb Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.dvb

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-frame.html new file mode 100644 index 0000000000..54188bd832 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-frame.html @@ -0,0 +1,52 @@ + + + + +com.google.android.exoplayer2.text (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-summary.html new file mode 100644 index 0000000000..a9d0578f29 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-summary.html @@ -0,0 +1,297 @@ + + + + +com.google.android.exoplayer2.text (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-tree.html new file mode 100644 index 0000000000..bb37ba87c0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/package-tree.html @@ -0,0 +1,219 @@ + + + + +com.google.android.exoplayer2.text Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/PgsDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/PgsDecoder.html new file mode 100644 index 0000000000..c6c33a9899 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/PgsDecoder.html @@ -0,0 +1,355 @@ + + + + +PgsDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PgsDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PgsDecoder

            +
            public PgsDecoder()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-frame.html new file mode 100644 index 0000000000..96f2e9c241 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.pgs (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.pgs

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-summary.html new file mode 100644 index 0000000000..492c146b0a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.pgs (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.pgs

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-tree.html new file mode 100644 index 0000000000..2d4dfcd46d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/pgs/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.pgs Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.pgs

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html new file mode 100644 index 0000000000..778cca7049 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/HorizontalTextInVerticalContextSpan.html @@ -0,0 +1,268 @@ + + + + +HorizontalTextInVerticalContextSpan (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HorizontalTextInVerticalContextSpan

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.span.HorizontalTextInVerticalContextSpan
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class HorizontalTextInVerticalContextSpan
        +extends Object
        +
        A styling span for horizontal text in a vertical context. + +

        This is used in vertical text to write some characters in a horizontal orientation, known in + Japanese as tate-chu-yoko. + +

        More information on tate-chu-yoko and span styling.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HorizontalTextInVerticalContextSpan

            +
            public HorizontalTextInVerticalContextSpan()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/RubySpan.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/RubySpan.html new file mode 100644 index 0000000000..f4d5bdb8ee --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/RubySpan.html @@ -0,0 +1,331 @@ + + + + +RubySpan (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RubySpan

      +
      +
      + +
      +
        +
      • +
        +
        public final class RubySpan
        +extends Object
        +
        A styling span for ruby text. + +

        The text covered by this span is known as the "base text", and the ruby text is stored in + rubyText. + +

        More information on ruby characters + and span styling.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            rubyText

            +
            public final String rubyText
            +
            The ruby text, i.e. the smaller explanatory characters.
            +
          • +
          + + + +
            +
          • +

            position

            +
            @Position
            +public final int position
            +
            The position of the ruby text relative to the base text.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RubySpan

            +
            public RubySpan​(String rubyText,
            +                @Position
            +                int position)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/SpanUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/SpanUtil.html new file mode 100644 index 0000000000..9ada1858a3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/SpanUtil.html @@ -0,0 +1,288 @@ + + + + +SpanUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SpanUtil

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addOrReplaceSpan

            +
            public static void addOrReplaceSpan​(Spannable spannable,
            +                                    Object span,
            +                                    int start,
            +                                    int end,
            +                                    int spanFlags)
            +
            Adds span to spannable between start and end, removing any + existing spans of the same type and with the same indices and flags. + +

            This is useful for types of spans that don't make sense to duplicate and where the + evaluation order might have an unexpected impact on the final text, e.g. ForegroundColorSpan.

            +
            +
            Parameters:
            +
            spannable - The Spannable to add span to.
            +
            span - The span object to be added.
            +
            start - The start index to add the new span at.
            +
            end - The end index to add the new span at.
            +
            spanFlags - The flags to pass to Spannable.setSpan(Object, int, int, int).
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.Position.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.Position.html new file mode 100644 index 0000000000..ee66b2aad8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.Position.html @@ -0,0 +1,197 @@ + + + + +TextAnnotation.Position (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TextAnnotation.Position

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.html new file mode 100644 index 0000000000..99df31f2d3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextAnnotation.html @@ -0,0 +1,341 @@ + + + + +TextAnnotation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TextAnnotation

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.span.TextAnnotation
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TextAnnotation
        +extends Object
        +
        Properties of a text annotation (i.e. ruby, text emphasis marks).
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static interface TextAnnotation.Position +
          The possible positions of the annotation text relative to the base text.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static intPOSITION_AFTER +
          For horizontal text, the text annotation should be positioned below the base text.
          +
          static intPOSITION_BEFORE +
          For horizontal text, the text annotation should be positioned above the base text.
          +
          static intPOSITION_UNKNOWN +
          The text annotation position is unknown.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            POSITION_UNKNOWN

            +
            public static final int POSITION_UNKNOWN
            +
            The text annotation position is unknown.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            POSITION_BEFORE

            +
            public static final int POSITION_BEFORE
            +
            For horizontal text, the text annotation should be positioned above the base text. + +

            For vertical text it should be positioned to the right, same as CSS's ruby-position.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            POSITION_AFTER

            +
            public static final int POSITION_AFTER
            +
            For horizontal text, the text annotation should be positioned below the base text. + +

            For vertical text it should be positioned to the left, same as CSS's ruby-position.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkFill.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkFill.html new file mode 100644 index 0000000000..b1ff459403 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkFill.html @@ -0,0 +1,197 @@ + + + + +TextEmphasisSpan.MarkFill (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TextEmphasisSpan.MarkFill

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkShape.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkShape.html new file mode 100644 index 0000000000..b63c021346 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.MarkShape.html @@ -0,0 +1,198 @@ + + + + +TextEmphasisSpan.MarkShape (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type TextEmphasisSpan.MarkShape

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.html new file mode 100644 index 0000000000..1aa8f88da5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/TextEmphasisSpan.html @@ -0,0 +1,508 @@ + + + + +TextEmphasisSpan (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TextEmphasisSpan

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.span.TextEmphasisSpan
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TextEmphasisSpan
        +extends Object
        +
        A styling span for text emphasis marks. + +

        These are pronunciation aids such as Japanese boutens which can be + rendered using the + text-emphasis CSS property.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            MARK_SHAPE_CIRCLE

            +
            public static final int MARK_SHAPE_CIRCLE
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            MARK_SHAPE_SESAME

            +
            public static final int MARK_SHAPE_SESAME
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MARK_FILL_UNKNOWN

            +
            public static final int MARK_FILL_UNKNOWN
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MARK_FILL_FILLED

            +
            public static final int MARK_FILL_FILLED
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            markShape

            +
            @MarkShape
            +public int markShape
            +
            The mark shape used for text emphasis.
            +
          • +
          + + + +
            +
          • +

            markFill

            +
            @MarkShape
            +public int markFill
            +
            The mark fill for the text emphasis mark.
            +
          • +
          + + + +
            +
          • +

            position

            +
            @Position
            +public final int position
            +
            The position of the text emphasis relative to the base text.
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-frame.html new file mode 100644 index 0000000000..5dcae77f4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.text.span (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.span

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-summary.html new file mode 100644 index 0000000000..c79e05f237 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-summary.html @@ -0,0 +1,222 @@ + + + + +com.google.android.exoplayer2.text.span (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.span

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-tree.html new file mode 100644 index 0000000000..d9da5841b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/span/package-tree.html @@ -0,0 +1,171 @@ + + + + +com.google.android.exoplayer2.text.span Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.span

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/SsaDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/SsaDecoder.html new file mode 100644 index 0000000000..55602dd0f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/SsaDecoder.html @@ -0,0 +1,377 @@ + + + + +SsaDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SsaDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SsaDecoder

            +
            public SsaDecoder()
            +
          • +
          + + + +
            +
          • +

            SsaDecoder

            +
            public SsaDecoder​(@Nullable
            +                  List<byte[]> initializationData)
            +
            Constructs an SsaDecoder with optional format and header info.
            +
            +
            Parameters:
            +
            initializationData - Optional initialization data for the decoder. If not null or empty, + the initialization data must consist of two byte arrays. The first must contain an SSA + format line. The second must contain an SSA header that will be assumed common to all + samples. The header is everything in an SSA file before the [Events] section (i.e. + [Script Info] and optional [V4+ Styles] section.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            decode

            +
            protected Subtitle decode​(byte[] bytes,
            +                          int length,
            +                          boolean reset)
            +
            Description copied from class: SimpleSubtitleDecoder
            +
            Decodes data into a Subtitle.
            +
            +
            Specified by:
            +
            decode in class SimpleSubtitleDecoder
            +
            Parameters:
            +
            bytes - An array holding the data to be decoded, starting at position 0.
            +
            length - The size of the data to be decoded.
            +
            reset - Whether the decoder must be reset before decoding.
            +
            Returns:
            +
            The decoded Subtitle.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-frame.html new file mode 100644 index 0000000000..0e810cba7a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.ssa (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.ssa

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-summary.html new file mode 100644 index 0000000000..0ad85c1011 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.ssa (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.ssa

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-tree.html new file mode 100644 index 0000000000..231a3971bb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ssa/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.ssa Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.ssa

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/SubripDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/SubripDecoder.html new file mode 100644 index 0000000000..a5821651ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/SubripDecoder.html @@ -0,0 +1,352 @@ + + + + +SubripDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SubripDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubripDecoder

            +
            public SubripDecoder()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            decode

            +
            protected Subtitle decode​(byte[] bytes,
            +                          int length,
            +                          boolean reset)
            +
            Description copied from class: SimpleSubtitleDecoder
            +
            Decodes data into a Subtitle.
            +
            +
            Specified by:
            +
            decode in class SimpleSubtitleDecoder
            +
            Parameters:
            +
            bytes - An array holding the data to be decoded, starting at position 0.
            +
            length - The size of the data to be decoded.
            +
            reset - Whether the decoder must be reset before decoding.
            +
            Returns:
            +
            The decoded Subtitle.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-frame.html new file mode 100644 index 0000000000..b28c209427 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.subrip (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.subrip

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-summary.html new file mode 100644 index 0000000000..bb276ef914 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.subrip (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.subrip

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-tree.html new file mode 100644 index 0000000000..7c03982b54 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/subrip/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.subrip Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.subrip

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/TtmlDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/TtmlDecoder.html new file mode 100644 index 0000000000..82d7cc3e03 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/TtmlDecoder.html @@ -0,0 +1,376 @@ + + + + +TtmlDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TtmlDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TtmlDecoder

            +
            public TtmlDecoder()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-frame.html new file mode 100644 index 0000000000..5e9e5c73cc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.ttml (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.ttml

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-summary.html new file mode 100644 index 0000000000..4042e50f46 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.ttml (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.ttml

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-tree.html new file mode 100644 index 0000000000..030b40421c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/ttml/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.ttml Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.ttml

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/Tx3gDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/Tx3gDecoder.html new file mode 100644 index 0000000000..b5e58e61bc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/Tx3gDecoder.html @@ -0,0 +1,364 @@ + + + + +Tx3gDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Tx3gDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Tx3gDecoder

            +
            public Tx3gDecoder​(List<byte[]> initializationData)
            +
            Sets up a new Tx3gDecoder with default values.
            +
            +
            Parameters:
            +
            initializationData - Sample description atom ('stsd') data with default subtitle styles.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-frame.html new file mode 100644 index 0000000000..b4e079fe59 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-frame.html @@ -0,0 +1,27 @@ + + + + +com.google.android.exoplayer2.text.tx3g (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.tx3g

      +
      +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-summary.html new file mode 100644 index 0000000000..15c24cf822 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-summary.html @@ -0,0 +1,168 @@ + + + + +com.google.android.exoplayer2.text.tx3g (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.tx3g

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-tree.html new file mode 100644 index 0000000000..4dc41d645c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/tx3g/package-tree.html @@ -0,0 +1,169 @@ + + + + +com.google.android.exoplayer2.text.tx3g Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.tx3g

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.html new file mode 100644 index 0000000000..9fbc0b4e71 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.html @@ -0,0 +1,355 @@ + + + + +Mp4WebvttDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Mp4WebvttDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Mp4WebvttDecoder

            +
            public Mp4WebvttDecoder()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.FontSizeUnit.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.FontSizeUnit.html new file mode 100644 index 0000000000..059ee8e2fc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.FontSizeUnit.html @@ -0,0 +1,189 @@ + + + + +WebvttCssStyle.FontSizeUnit (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type WebvttCssStyle.FontSizeUnit

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.StyleFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.StyleFlags.html new file mode 100644 index 0000000000..86128f2f9d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.StyleFlags.html @@ -0,0 +1,189 @@ + + + + +WebvttCssStyle.StyleFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type WebvttCssStyle.StyleFlags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.html new file mode 100644 index 0000000000..d52fe093c8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCssStyle.html @@ -0,0 +1,924 @@ + + + + +WebvttCssStyle (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttCssStyle

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WebvttCssStyle

            +
            public WebvttCssStyle()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setTargetId

            +
            public void setTargetId​(String targetId)
            +
          • +
          + + + +
            +
          • +

            setTargetTagName

            +
            public void setTargetTagName​(String targetTag)
            +
          • +
          + + + +
            +
          • +

            setTargetClasses

            +
            public void setTargetClasses​(String[] targetClasses)
            +
          • +
          + + + +
            +
          • +

            setTargetVoice

            +
            public void setTargetVoice​(String targetVoice)
            +
          • +
          + + + +
            +
          • +

            getSpecificityScore

            +
            public int getSpecificityScore​(@Nullable
            +                               String id,
            +                               @Nullable
            +                               String tag,
            +                               Set<String> classes,
            +                               @Nullable
            +                               String voice)
            +
            Returns a value in a score system compliant with the CSS Specificity rules.
            +
            +
            Parameters:
            +
            id - The id of the cue if present, null otherwise.
            +
            tag - Name of the tag, null if it refers to the entire cue.
            +
            classes - An array containing the classes the tag belongs to. Must not be null.
            +
            voice - Annotated voice if present, null otherwise.
            +
            Returns:
            +
            The score of the match, zero if there is no match.
            +
            See Also:
            +
            CSS Cascading +

            The score works as follows: +

              +
            • Id match adds 0x40000000 to the score. +
            • Each class and voice match adds 4 to the score. +
            • Tag matching adds 2 to the score. +
            • Universal selector matching scores 1. +
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isLinethrough

            +
            public boolean isLinethrough()
            +
          • +
          + + + +
            +
          • +

            setLinethrough

            +
            public WebvttCssStyle setLinethrough​(boolean linethrough)
            +
          • +
          + + + +
            +
          • +

            isUnderline

            +
            public boolean isUnderline()
            +
          • +
          + + + +
            +
          • +

            setUnderline

            +
            public WebvttCssStyle setUnderline​(boolean underline)
            +
          • +
          + + + + + + + +
            +
          • +

            setItalic

            +
            public WebvttCssStyle setItalic​(boolean italic)
            +
          • +
          + + + +
            +
          • +

            getFontFamily

            +
            @Nullable
            +public String getFontFamily()
            +
          • +
          + + + + + + + +
            +
          • +

            getFontColor

            +
            public int getFontColor()
            +
          • +
          + + + +
            +
          • +

            setFontColor

            +
            public WebvttCssStyle setFontColor​(int color)
            +
          • +
          + + + +
            +
          • +

            hasFontColor

            +
            public boolean hasFontColor()
            +
          • +
          + + + +
            +
          • +

            getBackgroundColor

            +
            public int getBackgroundColor()
            +
          • +
          + + + +
            +
          • +

            setBackgroundColor

            +
            public WebvttCssStyle setBackgroundColor​(int backgroundColor)
            +
          • +
          + + + +
            +
          • +

            hasBackgroundColor

            +
            public boolean hasBackgroundColor()
            +
          • +
          + + + +
            +
          • +

            setFontSize

            +
            public WebvttCssStyle setFontSize​(float fontSize)
            +
          • +
          + + + +
            +
          • +

            setFontSizeUnit

            +
            public WebvttCssStyle setFontSizeUnit​(short unit)
            +
          • +
          + + + +
            +
          • +

            getFontSizeUnit

            +
            @FontSizeUnit
            +public int getFontSizeUnit()
            +
          • +
          + + + +
            +
          • +

            getFontSize

            +
            public float getFontSize()
            +
          • +
          + + + + + + + +
            +
          • +

            getRubyPosition

            +
            @Position
            +public int getRubyPosition()
            +
          • +
          + + + +
            +
          • +

            setCombineUpright

            +
            public WebvttCssStyle setCombineUpright​(boolean enabled)
            +
          • +
          + + + +
            +
          • +

            getCombineUpright

            +
            public boolean getCombineUpright()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueInfo.html new file mode 100644 index 0000000000..9b303da36e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueInfo.html @@ -0,0 +1,333 @@ + + + + +WebvttCueInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttCueInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.webvtt.WebvttCueInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class WebvttCueInfo
        +extends Object
        +
        A representation of a WebVTT cue.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            cue

            +
            public final Cue cue
            +
          • +
          + + + +
            +
          • +

            startTimeUs

            +
            public final long startTimeUs
            +
          • +
          + + + +
            +
          • +

            endTimeUs

            +
            public final long endTimeUs
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WebvttCueInfo

            +
            public WebvttCueInfo​(Cue cue,
            +                     long startTimeUs,
            +                     long endTimeUs)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.html new file mode 100644 index 0000000000..f9d88bf828 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.html @@ -0,0 +1,350 @@ + + + + +WebvttCueParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttCueParser

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.webvtt.WebvttCueParser
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class WebvttCueParser
        +extends Object
        +
        Parser for WebVTT cues. (https://w3c.github.io/webvtt/#cues)
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            CUE_HEADER_PATTERN

            +
            public static final Pattern CUE_HEADER_PATTERN
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WebvttCueParser

            +
            public WebvttCueParser()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseCue

            +
            @Nullable
            +public static WebvttCueInfo parseCue​(ParsableByteArray webvttData,
            +                                     List<WebvttCssStyle> styles)
            +
            Parses the next valid WebVTT cue in a parsable array, including timestamps, settings and text.
            +
            +
            Parameters:
            +
            webvttData - Parsable WebVTT file data.
            +
            styles - List of styles defined by the CSS style blocks preceding the cues.
            +
            Returns:
            +
            The parsed cue info, or null if no valid cue was found.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttDecoder.html new file mode 100644 index 0000000000..d3d87d2ad5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttDecoder.html @@ -0,0 +1,360 @@ + + + + +WebvttDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttDecoder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            WebvttDecoder

            +
            public WebvttDecoder()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttParserUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttParserUtil.html new file mode 100644 index 0000000000..da7c4fc154 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/WebvttParserUtil.html @@ -0,0 +1,372 @@ + + + + +WebvttParserUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class WebvttParserUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class WebvttParserUtil
        +extends Object
        +
        Utility methods for parsing WebVTT data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            validateWebvttHeaderLine

            +
            public static void validateWebvttHeaderLine​(ParsableByteArray input)
            +                                     throws ParserException
            +
            Reads and validates the first line of a WebVTT file.
            +
            +
            Parameters:
            +
            input - The input from which the line should be read.
            +
            Throws:
            +
            ParserException - If the line isn't the start of a valid WebVTT file.
            +
            +
          • +
          + + + +
            +
          • +

            isWebvttHeaderLine

            +
            public static boolean isWebvttHeaderLine​(ParsableByteArray input)
            +
            Returns whether the given input is the first line of a WebVTT file.
            +
            +
            Parameters:
            +
            input - The input from which the line should be read.
            +
            +
          • +
          + + + +
            +
          • +

            parseTimestampUs

            +
            public static long parseTimestampUs​(String timestamp)
            +                             throws NumberFormatException
            +
            Parses a WebVTT timestamp.
            +
            +
            Parameters:
            +
            timestamp - The timestamp string.
            +
            Returns:
            +
            The parsed timestamp in microseconds.
            +
            Throws:
            +
            NumberFormatException - If the timestamp could not be parsed.
            +
            +
          • +
          + + + +
            +
          • +

            parsePercentage

            +
            public static float parsePercentage​(String s)
            +                             throws NumberFormatException
            +
            Parses a percentage string.
            +
            +
            Parameters:
            +
            s - The percentage string.
            +
            Returns:
            +
            The parsed value, where 1.0 represents 100%.
            +
            Throws:
            +
            NumberFormatException - If the percentage could not be parsed.
            +
            +
          • +
          + + + +
            +
          • +

            findNextCueHeader

            +
            @Nullable
            +public static Matcher findNextCueHeader​(ParsableByteArray input)
            +
            Reads lines up to and including the next WebVTT cue header.
            +
            +
            Parameters:
            +
            input - The input from which lines should be read.
            +
            Returns:
            +
            A Matcher for the WebVTT cue header, or null if the end of the input was + reached without a cue header being found. In the case that a cue header is found, groups 1, + 2 and 3 of the returned matcher contain the start time, end time and settings list.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-frame.html new file mode 100644 index 0000000000..c5e389227a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.text.webvtt (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.text.webvtt

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-summary.html new file mode 100644 index 0000000000..656c857151 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-summary.html @@ -0,0 +1,221 @@ + + + + +com.google.android.exoplayer2.text.webvtt (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.text.webvtt

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-tree.html new file mode 100644 index 0000000000..2287a66b57 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/text/webvtt/package-tree.html @@ -0,0 +1,179 @@ + + + + +com.google.android.exoplayer2.text.webvtt Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.text.webvtt

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint.html new file mode 100644 index 0000000000..f3a68c498f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.AdaptationCheckpoint.html @@ -0,0 +1,386 @@ + + + + +AdaptiveTrackSelection.AdaptationCheckpoint (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdaptiveTrackSelection.AdaptationCheckpoint

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        AdaptiveTrackSelection
        +
        +
        +
        protected static final class AdaptiveTrackSelection.AdaptationCheckpoint
        +extends Object
        +
        Checkpoint to determine allocated bandwidth.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            totalBandwidth

            +
            public final long totalBandwidth
            +
            Total bandwidth in bits per second at which this checkpoint applies.
            +
          • +
          + + + +
            +
          • +

            allocatedBandwidth

            +
            public final long allocatedBandwidth
            +
            Allocated bandwidth at this checkpoint in bits per second.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdaptationCheckpoint

            +
            public AdaptationCheckpoint​(long totalBandwidth,
            +                            long allocatedBandwidth)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html new file mode 100644 index 0000000000..dc1f735876 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.Factory.html @@ -0,0 +1,452 @@ + + + + +AdaptiveTrackSelection.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdaptiveTrackSelection.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Factory

            +
            public Factory()
            +
            Creates an adaptive track selection factory with default parameters.
            +
          • +
          + + + +
            +
          • +

            Factory

            +
            public Factory​(int minDurationForQualityIncreaseMs,
            +               int maxDurationForQualityDecreaseMs,
            +               int minDurationToRetainAfterDiscardMs,
            +               float bandwidthFraction)
            +
            Creates an adaptive track selection factory.
            +
            +
            Parameters:
            +
            minDurationForQualityIncreaseMs - The minimum duration of buffered data required for the + selected track to switch to one of higher quality.
            +
            maxDurationForQualityDecreaseMs - The maximum duration of buffered data required for the + selected track to switch to one of lower quality.
            +
            minDurationToRetainAfterDiscardMs - When switching to a track of significantly higher + quality, the selection may indicate that media already buffered at the lower quality can + be discarded to speed up the switch. This is the minimum duration of media that must be + retained at the lower quality.
            +
            bandwidthFraction - The fraction of the available bandwidth that the selection should + consider available for use. Setting to a value less than 1 is recommended to account for + inaccuracies in the bandwidth estimator.
            +
            +
          • +
          + + + +
            +
          • +

            Factory

            +
            public Factory​(int minDurationForQualityIncreaseMs,
            +               int maxDurationForQualityDecreaseMs,
            +               int minDurationToRetainAfterDiscardMs,
            +               float bandwidthFraction,
            +               float bufferedFractionToLiveEdgeForQualityIncrease,
            +               Clock clock)
            +
            Creates an adaptive track selection factory.
            +
            +
            Parameters:
            +
            minDurationForQualityIncreaseMs - The minimum duration of buffered data required for the + selected track to switch to one of higher quality.
            +
            maxDurationForQualityDecreaseMs - The maximum duration of buffered data required for the + selected track to switch to one of lower quality.
            +
            minDurationToRetainAfterDiscardMs - When switching to a track of significantly higher + quality, the selection may indicate that media already buffered at the lower quality can + be discarded to speed up the switch. This is the minimum duration of media that must be + retained at the lower quality.
            +
            bandwidthFraction - The fraction of the available bandwidth that the selection should + consider available for use. Setting to a value less than 1 is recommended to account for + inaccuracies in the bandwidth estimator.
            +
            bufferedFractionToLiveEdgeForQualityIncrease - For live streaming, the fraction of the + duration from current playback position to the live edge that has to be buffered before + the selected track can be switched to one of higher quality. This parameter is only + applied when the playback position is closer to the live edge than + minDurationForQualityIncreaseMs, which would otherwise prevent switching to a higher + quality from happening.
            +
            clock - A Clock.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html new file mode 100644 index 0000000000..314971dc95 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.html @@ -0,0 +1,860 @@ + + + + +AdaptiveTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AdaptiveTrackSelection

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS

            +
            public static final int DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS

            +
            public static final int DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS

            +
            public static final int DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BANDWIDTH_FRACTION

            +
            public static final float DEFAULT_BANDWIDTH_FRACTION
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE

            +
            public static final float DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AdaptiveTrackSelection

            +
            public AdaptiveTrackSelection​(TrackGroup group,
            +                              int[] tracks,
            +                              BandwidthMeter bandwidthMeter)
            +
            +
            Parameters:
            +
            group - The TrackGroup.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + empty. May be in any order.
            +
            bandwidthMeter - Provides an estimate of the currently available bandwidth.
            +
            +
          • +
          + + + +
            +
          • +

            AdaptiveTrackSelection

            +
            protected AdaptiveTrackSelection​(TrackGroup group,
            +                                 int[] tracks,
            +                                 BandwidthMeter bandwidthMeter,
            +                                 long minDurationForQualityIncreaseMs,
            +                                 long maxDurationForQualityDecreaseMs,
            +                                 long minDurationToRetainAfterDiscardMs,
            +                                 float bandwidthFraction,
            +                                 float bufferedFractionToLiveEdgeForQualityIncrease,
            +                                 List<AdaptiveTrackSelection.AdaptationCheckpoint> adaptationCheckpoints,
            +                                 Clock clock)
            +
            +
            Parameters:
            +
            group - The TrackGroup.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + empty. May be in any order.
            +
            bandwidthMeter - Provides an estimate of the currently available bandwidth.
            +
            minDurationForQualityIncreaseMs - The minimum duration of buffered data required for the + selected track to switch to one of higher quality.
            +
            maxDurationForQualityDecreaseMs - The maximum duration of buffered data required for the + selected track to switch to one of lower quality.
            +
            minDurationToRetainAfterDiscardMs - When switching to a track of significantly higher + quality, the selection may indicate that media already buffered at the lower quality can be + discarded to speed up the switch. This is the minimum duration of media that must be + retained at the lower quality.
            +
            bandwidthFraction - The fraction of the available bandwidth that the selection should + consider available for use. Setting to a value less than 1 is recommended to account for + inaccuracies in the bandwidth estimator.
            +
            bufferedFractionToLiveEdgeForQualityIncrease - For live streaming, the fraction of the + duration from current playback position to the live edge that has to be buffered before the + selected track can be switched to one of higher quality. This parameter is only applied + when the playback position is closer to the live edge than + minDurationForQualityIncreaseMs, which would otherwise prevent switching to a higher + quality from happening.
            +
            adaptationCheckpoints - The checkpoints that can be used to + calculate available bandwidth for this selection.
            +
            clock - The Clock.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            onPlaybackSpeed

            +
            public void onPlaybackSpeed​(float playbackSpeed)
            +
            Description copied from interface: ExoTrackSelection
            +
            Called to notify the selection of the current playback speed. The playback speed may affect + adaptive track selection.
            +
            +
            Specified by:
            +
            onPlaybackSpeed in interface ExoTrackSelection
            +
            Overrides:
            +
            onPlaybackSpeed in class BaseTrackSelection
            +
            Parameters:
            +
            playbackSpeed - The factor by which playback is sped up.
            +
            +
          • +
          + + + +
            +
          • +

            updateSelectedTrack

            +
            public void updateSelectedTrack​(long playbackPositionUs,
            +                                long bufferedDurationUs,
            +                                long availableDurationUs,
            +                                List<? extends MediaChunk> queue,
            +                                MediaChunkIterator[] mediaChunkIterators)
            +
            Description copied from interface: ExoTrackSelection
            +
            Updates the selected track for sources that load media in discrete MediaChunks. + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            bufferedDurationUs - The duration of media currently buffered from the current playback + position, in microseconds. Note that the next load position can be calculated as + (playbackPositionUs + bufferedDurationUs).
            +
            availableDurationUs - The duration of media available for buffering from the current + playback position, in microseconds, or C.TIME_UNSET if media can be buffered to the + end of the current period. Note that if not set to C.TIME_UNSET, the position up to + which media is available for buffering can be calculated as (playbackPositionUs + + availableDurationUs).
            +
            queue - The queue of already buffered MediaChunks. Must not be modified.
            +
            mediaChunkIterators - An array of MediaChunkIterators providing information about + the sequence of upcoming media chunks for each track in the selection. All iterators start + from the media chunk which will be loaded next if the respective track is selected. Note + that this information may not be available for all tracks, and so some iterators may be + empty.
            +
            +
          • +
          + + + +
            +
          • +

            getSelectedIndex

            +
            public int getSelectedIndex()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the index of the selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectionReason

            +
            public int getSelectionReason()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the reason for the current track selection.
            +
          • +
          + + + +
            +
          • +

            getSelectionData

            +
            @Nullable
            +public Object getSelectionData()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns optional data associated with the current track selection.
            +
          • +
          + + + +
            +
          • +

            evaluateQueueSize

            +
            public int evaluateQueueSize​(long playbackPositionUs,
            +                             List<? extends MediaChunk> queue)
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the number of chunks that should be retained in the queue. + +

            May be called by sources that load media in discrete MediaChunks and + support discarding of buffered chunks. + +

            To avoid excessive re-buffering, implementations should normally return the size of the + queue. An example of a case where a smaller value may be returned is if network conditions have + improved dramatically, allowing chunks to be discarded and re-buffered in a track of + significantly higher quality. Discarding chunks may allow faster switching to a higher quality + track in this case. + +

            Note that even if the source supports discarding of buffered chunks, the actual number of + discarded chunks is not guaranteed. The source will call ExoTrackSelection.updateSelectedTrack(long, + long, long, List, MediaChunkIterator[]) with the updated queue of chunks before loading a new + chunk to allow switching to another quality. + +

            This method will only be called when the selection is enabled and none of the MediaChunks in the queue are currently loading.

            +
            +
            Specified by:
            +
            evaluateQueueSize in interface ExoTrackSelection
            +
            Overrides:
            +
            evaluateQueueSize in class BaseTrackSelection
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            queue - The queue of buffered MediaChunks. Must not be modified.
            +
            Returns:
            +
            The number of chunks to retain in the queue.
            +
            +
          • +
          + + + +
            +
          • +

            canSelectFormat

            +
            protected boolean canSelectFormat​(Format format,
            +                                  int trackBitrate,
            +                                  float playbackSpeed,
            +                                  long effectiveBitrate)
            +
            Called when updating the selected track to determine whether a candidate track can be selected.
            +
            +
            Parameters:
            +
            format - The Format of the candidate track.
            +
            trackBitrate - The estimated bitrate of the track. May differ from Format.bitrate + if a more accurate estimate of the current track bitrate is available.
            +
            playbackSpeed - The current factor by which playback is sped up.
            +
            effectiveBitrate - The bitrate available to this selection.
            +
            Returns:
            +
            Whether this Format can be selected.
            +
            +
          • +
          + + + +
            +
          • +

            shouldEvaluateQueueSize

            +
            protected boolean shouldEvaluateQueueSize​(long nowMs,
            +                                          List<? extends MediaChunk> queue)
            +
            Called from evaluateQueueSize(long, List) to determine whether an evaluation should be + performed.
            +
            +
            Parameters:
            +
            nowMs - The current value of Clock.elapsedRealtime().
            +
            queue - The queue of buffered MediaChunks. Must not be modified.
            +
            Returns:
            +
            Whether an evaluation should be performed.
            +
            +
          • +
          + + + +
            +
          • +

            getMinDurationToRetainAfterDiscardUs

            +
            protected long getMinDurationToRetainAfterDiscardUs()
            +
            Called from evaluateQueueSize(long, List) to determine the minimum duration of buffer + to retain after discarding chunks.
            +
            +
            Returns:
            +
            The minimum duration of buffer to retain after discarding chunks, in microseconds.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/BaseTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/BaseTrackSelection.html new file mode 100644 index 0000000000..034474f783 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/BaseTrackSelection.html @@ -0,0 +1,818 @@ + + + + +BaseTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseTrackSelection

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.BaseTrackSelection
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            length

            +
            protected final int length
            +
            The number of selected tracks within the TrackGroup. Always greater than zero.
            +
          • +
          + + + +
            +
          • +

            tracks

            +
            protected final int[] tracks
            +
            The indices of the selected tracks in group, in order of decreasing bandwidth.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseTrackSelection

            +
            public BaseTrackSelection​(TrackGroup group,
            +                          int... tracks)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + null or empty. May be in any order.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            length

            +
            public final int length()
            +
            Description copied from interface: TrackSelection
            +
            Returns the number of tracks in the selection.
            +
            +
            Specified by:
            +
            length in interface TrackSelection
            +
            +
          • +
          + + + +
            +
          • +

            getFormat

            +
            public final Format getFormat​(int index)
            +
            Description copied from interface: TrackSelection
            +
            Returns the format of the track at a given index in the selection.
            +
            +
            Specified by:
            +
            getFormat in interface TrackSelection
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The format of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            getIndexInTrackGroup

            +
            public final int getIndexInTrackGroup​(int index)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the track group of the track at a given index in the selection.
            +
            +
            Specified by:
            +
            getIndexInTrackGroup in interface TrackSelection
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The index of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public final int indexOf​(Format format)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the selection of the track with the specified format. The format is + located by identity so, for example, selection.indexOf(selection.getFormat(index)) == + index even if multiple selected tracks have formats that contain the same values.
            +
            +
            Specified by:
            +
            indexOf in interface TrackSelection
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + format is not part of the selection.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            public final int indexOf​(int indexInTrackGroup)
            +
            Description copied from interface: TrackSelection
            +
            Returns the index in the selection of the track with the specified index in the track group.
            +
            +
            Specified by:
            +
            indexOf in interface TrackSelection
            +
            Parameters:
            +
            indexInTrackGroup - The index in the track group.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + index is not part of the selection.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onPlaybackSpeed

            +
            public void onPlaybackSpeed​(float playbackSpeed)
            +
            Description copied from interface: ExoTrackSelection
            +
            Called to notify the selection of the current playback speed. The playback speed may affect + adaptive track selection.
            +
            +
            Specified by:
            +
            onPlaybackSpeed in interface ExoTrackSelection
            +
            Parameters:
            +
            playbackSpeed - The factor by which playback is sped up.
            +
            +
          • +
          + + + +
            +
          • +

            evaluateQueueSize

            +
            public int evaluateQueueSize​(long playbackPositionUs,
            +                             List<? extends MediaChunk> queue)
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the number of chunks that should be retained in the queue. + +

            May be called by sources that load media in discrete MediaChunks and + support discarding of buffered chunks. + +

            To avoid excessive re-buffering, implementations should normally return the size of the + queue. An example of a case where a smaller value may be returned is if network conditions have + improved dramatically, allowing chunks to be discarded and re-buffered in a track of + significantly higher quality. Discarding chunks may allow faster switching to a higher quality + track in this case. + +

            Note that even if the source supports discarding of buffered chunks, the actual number of + discarded chunks is not guaranteed. The source will call ExoTrackSelection.updateSelectedTrack(long, + long, long, List, MediaChunkIterator[]) with the updated queue of chunks before loading a new + chunk to allow switching to another quality. + +

            This method will only be called when the selection is enabled and none of the MediaChunks in the queue are currently loading.

            +
            +
            Specified by:
            +
            evaluateQueueSize in interface ExoTrackSelection
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            queue - The queue of buffered MediaChunks. Must not be modified.
            +
            Returns:
            +
            The number of chunks to retain in the queue.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isBlacklisted

            +
            protected final boolean isBlacklisted​(int index,
            +                                      long nowMs)
            +
            Returns whether the track at the specified index in the selection is excluded.
            +
            +
            Parameters:
            +
            index - The index of the track in the selection.
            +
            nowMs - The current time in the timebase of SystemClock.elapsedRealtime().
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html new file mode 100644 index 0000000000..3c62230c5f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.AudioTrackScore.html @@ -0,0 +1,367 @@ + + + + +DefaultTrackSelector.AudioTrackScore (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.AudioTrackScore

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.DefaultTrackSelector.AudioTrackScore
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            isWithinConstraints

            +
            public final boolean isWithinConstraints
            +
            Whether the provided format is within the parameter constraints. If false, the format + should not be selected.
            +
          • +
          +
        • +
        + + + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html new file mode 100644 index 0000000000..f186d040f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.OtherTrackScore.html @@ -0,0 +1,315 @@ + + + + +DefaultTrackSelector.OtherTrackScore (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.OtherTrackScore

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.DefaultTrackSelector.OtherTrackScore
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html new file mode 100644 index 0000000000..3827b9ee65 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.Parameters.html @@ -0,0 +1,1061 @@ + + + + +DefaultTrackSelector.Parameters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.Parameters

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            maxVideoWidth

            +
            public final int maxVideoWidth
            +
            Maximum allowed video width in pixels. The default value is Integer.MAX_VALUE (i.e. + no constraint). + +

            To constrain adaptive video track selections to be suitable for a given viewport (the + region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.

            +
          • +
          + + + +
            +
          • +

            maxVideoHeight

            +
            public final int maxVideoHeight
            +
            Maximum allowed video height in pixels. The default value is Integer.MAX_VALUE (i.e. + no constraint). + +

            To constrain adaptive video track selections to be suitable for a given viewport (the + region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.

            +
          • +
          + + + +
            +
          • +

            maxVideoFrameRate

            +
            public final int maxVideoFrameRate
            +
            Maximum allowed video frame rate in hertz. The default value is Integer.MAX_VALUE + (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            maxVideoBitrate

            +
            public final int maxVideoBitrate
            +
            Maximum allowed video bitrate in bits per second. The default value is Integer.MAX_VALUE (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            minVideoWidth

            +
            public final int minVideoWidth
            +
            Minimum allowed video width in pixels. The default value is 0 (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            minVideoHeight

            +
            public final int minVideoHeight
            +
            Minimum allowed video height in pixels. The default value is 0 (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            minVideoFrameRate

            +
            public final int minVideoFrameRate
            +
            Minimum allowed video frame rate in hertz. The default value is 0 (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            minVideoBitrate

            +
            public final int minVideoBitrate
            +
            Minimum allowed video bitrate in bits per second. The default value is 0 (i.e. no + constraint).
            +
          • +
          + + + +
            +
          • +

            exceedVideoConstraintsIfNecessary

            +
            public final boolean exceedVideoConstraintsIfNecessary
            +
            Whether to exceed the maxVideoWidth, maxVideoHeight and maxVideoBitrate constraints when no selection can be made otherwise. The default value is + true.
            +
          • +
          + + + +
            +
          • +

            allowVideoMixedMimeTypeAdaptiveness

            +
            public final boolean allowVideoMixedMimeTypeAdaptiveness
            +
            Whether to allow adaptive video selections containing mixed MIME types. Adaptations between + different MIME types may not be completely seamless, in which case allowVideoNonSeamlessAdaptiveness also needs to be true for mixed MIME type + selections to be made. The default value is false.
            +
          • +
          + + + +
            +
          • +

            allowVideoNonSeamlessAdaptiveness

            +
            public final boolean allowVideoNonSeamlessAdaptiveness
            +
            Whether to allow adaptive video selections where adaptation may not be completely seamless. + The default value is true.
            +
          • +
          + + + +
            +
          • +

            viewportWidth

            +
            public final int viewportWidth
            +
            Viewport width in pixels. Constrains video track selections for adaptive content so that only + tracks suitable for the viewport are selected. The default value is the physical width of the + primary display, in pixels.
            +
          • +
          + + + +
            +
          • +

            viewportHeight

            +
            public final int viewportHeight
            +
            Viewport height in pixels. Constrains video track selections for adaptive content so that + only tracks suitable for the viewport are selected. The default value is the physical height + of the primary display, in pixels.
            +
          • +
          + + + +
            +
          • +

            viewportOrientationMayChange

            +
            public final boolean viewportOrientationMayChange
            +
            Whether the viewport orientation may change during playback. Constrains video track + selections for adaptive content so that only tracks suitable for the viewport are selected. + The default value is true.
            +
          • +
          + + + +
            +
          • +

            preferredVideoMimeTypes

            +
            public final ImmutableList<String> preferredVideoMimeTypes
            +
            The preferred sample MIME types for video tracks in order of preference, or an empty list for + no preference. The default is an empty list.
            +
          • +
          + + + +
            +
          • +

            maxAudioChannelCount

            +
            public final int maxAudioChannelCount
            +
            Maximum allowed audio channel count. The default value is Integer.MAX_VALUE (i.e. no + constraint).
            +
          • +
          + + + +
            +
          • +

            maxAudioBitrate

            +
            public final int maxAudioBitrate
            +
            Maximum allowed audio bitrate in bits per second. The default value is Integer.MAX_VALUE (i.e. no constraint).
            +
          • +
          + + + +
            +
          • +

            exceedAudioConstraintsIfNecessary

            +
            public final boolean exceedAudioConstraintsIfNecessary
            +
            Whether to exceed the maxAudioChannelCount and maxAudioBitrate constraints + when no selection can be made otherwise. The default value is true.
            +
          • +
          + + + +
            +
          • +

            allowAudioMixedMimeTypeAdaptiveness

            +
            public final boolean allowAudioMixedMimeTypeAdaptiveness
            +
            Whether to allow adaptive audio selections containing mixed MIME types. Adaptations between + different MIME types may not be completely seamless. The default value is false.
            +
          • +
          + + + +
            +
          • +

            allowAudioMixedSampleRateAdaptiveness

            +
            public final boolean allowAudioMixedSampleRateAdaptiveness
            +
            Whether to allow adaptive audio selections containing mixed sample rates. Adaptations between + different sample rates may not be completely seamless. The default value is false.
            +
          • +
          + + + +
            +
          • +

            allowAudioMixedChannelCountAdaptiveness

            +
            public final boolean allowAudioMixedChannelCountAdaptiveness
            +
            Whether to allow adaptive audio selections containing mixed channel counts. Adaptations + between different channel counts may not be completely seamless. The default value is + false.
            +
          • +
          + + + +
            +
          • +

            preferredAudioMimeTypes

            +
            public final ImmutableList<String> preferredAudioMimeTypes
            +
            The preferred sample MIME types for audio tracks in order of preference, or an empty list for + no preference. The default is an empty list.
            +
          • +
          + + + +
            +
          • +

            forceLowestBitrate

            +
            public final boolean forceLowestBitrate
            +
            Whether to force selection of the single lowest bitrate audio and video tracks that comply + with all other constraints. The default value is false.
            +
          • +
          + + + +
            +
          • +

            forceHighestSupportedBitrate

            +
            public final boolean forceHighestSupportedBitrate
            +
            Whether to force selection of the highest bitrate audio and video tracks that comply with all + other constraints. The default value is false.
            +
          • +
          + + + +
            +
          • +

            exceedRendererCapabilitiesIfNecessary

            +
            public final boolean exceedRendererCapabilitiesIfNecessary
            +
            Whether to exceed renderer capabilities when no selection can be made otherwise. + +

            This parameter applies when all of the tracks available for a renderer exceed the + renderer's reported capabilities. If the parameter is true then the lowest quality + track will still be selected. Playback may succeed if the renderer has under-reported its + true capabilities. If false then no track will be selected. The default value is + true.

            +
          • +
          + + + +
            +
          • +

            tunnelingEnabled

            +
            public final boolean tunnelingEnabled
            +
            Whether to enable tunneling if possible.
            +
          • +
          + + + +
            +
          • +

            allowMultipleAdaptiveSelections

            +
            public final boolean allowMultipleAdaptiveSelections
            +
            Whether multiple adaptive selections with more than one track are allowed. The default value + is true. + +

            Note that tracks are only eligible for adaptation if they define a bitrate, the renderers + support the tracks and allow adaptation between them, and they are not excluded based on + other track selection parameters.

            +
          • +
          + + + + +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html new file mode 100644 index 0000000000..8d6e26b7bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.ParametersBuilder.html @@ -0,0 +1,1462 @@ + + + + +DefaultTrackSelector.ParametersBuilder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.ParametersBuilder

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + + + + + +
            +
          • +

            ParametersBuilder

            +
            public ParametersBuilder​(Context context)
            +
            Creates a builder with default initial values.
            +
            +
            Parameters:
            +
            context - Any context.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            setMaxVideoSize

            +
            public DefaultTrackSelector.ParametersBuilder setMaxVideoSize​(int maxVideoWidth,
            +                                                              int maxVideoHeight)
            +
            Sets the maximum allowed video width and height.
            +
            +
            Parameters:
            +
            maxVideoWidth - Maximum allowed video width in pixels.
            +
            maxVideoHeight - Maximum allowed video height in pixels.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMaxVideoFrameRate

            +
            public DefaultTrackSelector.ParametersBuilder setMaxVideoFrameRate​(int maxVideoFrameRate)
            +
            Sets the maximum allowed video frame rate.
            +
            +
            Parameters:
            +
            maxVideoFrameRate - Maximum allowed video frame rate in hertz.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMaxVideoBitrate

            +
            public DefaultTrackSelector.ParametersBuilder setMaxVideoBitrate​(int maxVideoBitrate)
            +
            Sets the maximum allowed video bitrate.
            +
            +
            Parameters:
            +
            maxVideoBitrate - Maximum allowed video bitrate in bits per second.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMinVideoSize

            +
            public DefaultTrackSelector.ParametersBuilder setMinVideoSize​(int minVideoWidth,
            +                                                              int minVideoHeight)
            +
            Sets the minimum allowed video width and height.
            +
            +
            Parameters:
            +
            minVideoWidth - Minimum allowed video width in pixels.
            +
            minVideoHeight - Minimum allowed video height in pixels.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMinVideoFrameRate

            +
            public DefaultTrackSelector.ParametersBuilder setMinVideoFrameRate​(int minVideoFrameRate)
            +
            Sets the minimum allowed video frame rate.
            +
            +
            Parameters:
            +
            minVideoFrameRate - Minimum allowed video frame rate in hertz.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMinVideoBitrate

            +
            public DefaultTrackSelector.ParametersBuilder setMinVideoBitrate​(int minVideoBitrate)
            +
            Sets the minimum allowed video bitrate.
            +
            +
            Parameters:
            +
            minVideoBitrate - Minimum allowed video bitrate in bits per second.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setAllowVideoMixedMimeTypeAdaptiveness

            +
            public DefaultTrackSelector.ParametersBuilder setAllowVideoMixedMimeTypeAdaptiveness​(boolean allowVideoMixedMimeTypeAdaptiveness)
            +
            Sets whether to allow adaptive video selections containing mixed MIME types. + +

            Adaptations between different MIME types may not be completely seamless, in which case + setAllowVideoNonSeamlessAdaptiveness(boolean) also needs to be true for + mixed MIME type selections to be made.

            +
            +
            Parameters:
            +
            allowVideoMixedMimeTypeAdaptiveness - Whether to allow adaptive video selections + containing mixed MIME types.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowVideoNonSeamlessAdaptiveness

            +
            public DefaultTrackSelector.ParametersBuilder setAllowVideoNonSeamlessAdaptiveness​(boolean allowVideoNonSeamlessAdaptiveness)
            +
            Sets whether to allow adaptive video selections where adaptation may not be completely + seamless.
            +
            +
            Parameters:
            +
            allowVideoNonSeamlessAdaptiveness - Whether to allow adaptive video selections where + adaptation may not be completely seamless.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setViewportSize

            +
            public DefaultTrackSelector.ParametersBuilder setViewportSize​(int viewportWidth,
            +                                                              int viewportHeight,
            +                                                              boolean viewportOrientationMayChange)
            +
            Sets the viewport size to constrain adaptive video selections so that only tracks suitable + for the viewport are selected.
            +
            +
            Parameters:
            +
            viewportWidth - Viewport width in pixels.
            +
            viewportHeight - Viewport height in pixels.
            +
            viewportOrientationMayChange - Whether the viewport orientation may change during + playback.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredVideoMimeType

            +
            public DefaultTrackSelector.ParametersBuilder setPreferredVideoMimeType​(@Nullable
            +                                                                        String mimeType)
            +
            Sets the preferred sample MIME type for video tracks.
            +
            +
            Parameters:
            +
            mimeType - The preferred MIME type for video tracks, or null to clear a + previously set preference.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredVideoMimeTypes

            +
            public DefaultTrackSelector.ParametersBuilder setPreferredVideoMimeTypes​(String... mimeTypes)
            +
            Sets the preferred sample MIME types for video tracks.
            +
            +
            Parameters:
            +
            mimeTypes - The preferred MIME types for video tracks in order of preference, or an + empty list for no preference.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setMaxAudioChannelCount

            +
            public DefaultTrackSelector.ParametersBuilder setMaxAudioChannelCount​(int maxAudioChannelCount)
            +
            Sets the maximum allowed audio channel count.
            +
            +
            Parameters:
            +
            maxAudioChannelCount - Maximum allowed audio channel count.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setMaxAudioBitrate

            +
            public DefaultTrackSelector.ParametersBuilder setMaxAudioBitrate​(int maxAudioBitrate)
            +
            Sets the maximum allowed audio bitrate.
            +
            +
            Parameters:
            +
            maxAudioBitrate - Maximum allowed audio bitrate in bits per second.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setExceedAudioConstraintsIfNecessary

            +
            public DefaultTrackSelector.ParametersBuilder setExceedAudioConstraintsIfNecessary​(boolean exceedAudioConstraintsIfNecessary)
            +
            Sets whether to exceed the setMaxAudioChannelCount(int) and setMaxAudioBitrate(int) constraints when no selection can be made otherwise.
            +
            +
            Parameters:
            +
            exceedAudioConstraintsIfNecessary - Whether to exceed audio constraints when no + selection can be made otherwise.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowAudioMixedMimeTypeAdaptiveness

            +
            public DefaultTrackSelector.ParametersBuilder setAllowAudioMixedMimeTypeAdaptiveness​(boolean allowAudioMixedMimeTypeAdaptiveness)
            +
            Sets whether to allow adaptive audio selections containing mixed MIME types. + +

            Adaptations between different MIME types may not be completely seamless.

            +
            +
            Parameters:
            +
            allowAudioMixedMimeTypeAdaptiveness - Whether to allow adaptive audio selections + containing mixed MIME types.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowAudioMixedSampleRateAdaptiveness

            +
            public DefaultTrackSelector.ParametersBuilder setAllowAudioMixedSampleRateAdaptiveness​(boolean allowAudioMixedSampleRateAdaptiveness)
            +
            Sets whether to allow adaptive audio selections containing mixed sample rates. + +

            Adaptations between different sample rates may not be completely seamless.

            +
            +
            Parameters:
            +
            allowAudioMixedSampleRateAdaptiveness - Whether to allow adaptive audio selections + containing mixed sample rates.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowAudioMixedChannelCountAdaptiveness

            +
            public DefaultTrackSelector.ParametersBuilder setAllowAudioMixedChannelCountAdaptiveness​(boolean allowAudioMixedChannelCountAdaptiveness)
            +
            Sets whether to allow adaptive audio selections containing mixed channel counts. + +

            Adaptations between different channel counts may not be completely seamless.

            +
            +
            Parameters:
            +
            allowAudioMixedChannelCountAdaptiveness - Whether to allow adaptive audio selections + containing mixed channel counts.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredAudioMimeType

            +
            public DefaultTrackSelector.ParametersBuilder setPreferredAudioMimeType​(@Nullable
            +                                                                        String mimeType)
            +
            Sets the preferred sample MIME type for audio tracks.
            +
            +
            Parameters:
            +
            mimeType - The preferred MIME type for audio tracks, or null to clear a + previously set preference.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredAudioMimeTypes

            +
            public DefaultTrackSelector.ParametersBuilder setPreferredAudioMimeTypes​(String... mimeTypes)
            +
            Sets the preferred sample MIME types for audio tracks.
            +
            +
            Parameters:
            +
            mimeTypes - The preferred MIME types for audio tracks in order of preference, or an + empty list for no preference.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setForceLowestBitrate

            +
            public DefaultTrackSelector.ParametersBuilder setForceLowestBitrate​(boolean forceLowestBitrate)
            +
            Sets whether to force selection of the single lowest bitrate audio and video tracks that + comply with all other constraints.
            +
            +
            Parameters:
            +
            forceLowestBitrate - Whether to force selection of the single lowest bitrate audio and + video tracks.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setForceHighestSupportedBitrate

            +
            public DefaultTrackSelector.ParametersBuilder setForceHighestSupportedBitrate​(boolean forceHighestSupportedBitrate)
            +
            Sets whether to force selection of the highest bitrate audio and video tracks that comply + with all other constraints.
            +
            +
            Parameters:
            +
            forceHighestSupportedBitrate - Whether to force selection of the highest bitrate audio + and video tracks.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setExceedRendererCapabilitiesIfNecessary

            +
            public DefaultTrackSelector.ParametersBuilder setExceedRendererCapabilitiesIfNecessary​(boolean exceedRendererCapabilitiesIfNecessary)
            +
            Sets whether to exceed renderer capabilities when no selection can be made otherwise. + +

            This parameter applies when all of the tracks available for a renderer exceed the + renderer's reported capabilities. If the parameter is true then the lowest quality + track will still be selected. Playback may succeed if the renderer has under-reported its + true capabilities. If false then no track will be selected.

            +
            +
            Parameters:
            +
            exceedRendererCapabilitiesIfNecessary - Whether to exceed renderer capabilities when no + selection can be made otherwise.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setTunnelingEnabled

            +
            public DefaultTrackSelector.ParametersBuilder setTunnelingEnabled​(boolean tunnelingEnabled)
            +
            Sets whether to enable tunneling if possible. Tunneling will only be enabled if it's + supported by the audio and video renderers for the selected tracks.
            +
            +
            Parameters:
            +
            tunnelingEnabled - Whether to enable tunneling if possible.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowMultipleAdaptiveSelections

            +
            public DefaultTrackSelector.ParametersBuilder setAllowMultipleAdaptiveSelections​(boolean allowMultipleAdaptiveSelections)
            +
            Sets whether multiple adaptive selections with more than one track are allowed.
            +
            +
            Parameters:
            +
            allowMultipleAdaptiveSelections - Whether multiple adaptive selections are allowed.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setRendererDisabled

            +
            public final DefaultTrackSelector.ParametersBuilder setRendererDisabled​(int rendererIndex,
            +                                                                        boolean disabled)
            +
            Sets whether the renderer at the specified index is disabled. Disabling a renderer prevents + the selector from selecting any tracks for it.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            disabled - Whether the renderer is disabled.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            clearSelectionOverrides

            +
            public final DefaultTrackSelector.ParametersBuilder clearSelectionOverrides​(int rendererIndex)
            +
            Clears all track selection overrides for the specified renderer.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            clearSelectionOverrides

            +
            public final DefaultTrackSelector.ParametersBuilder clearSelectionOverrides()
            +
            Clears all track selection overrides for all renderers.
            +
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html new file mode 100644 index 0000000000..bdceca6454 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.SelectionOverride.html @@ -0,0 +1,549 @@ + + + + +DefaultTrackSelector.SelectionOverride (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.SelectionOverride

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        Enclosing class:
        +
        DefaultTrackSelector
        +
        +
        +
        public static final class DefaultTrackSelector.SelectionOverride
        +extends Object
        +implements Parcelable
        +
        A track selection override.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SelectionOverride

            +
            public SelectionOverride​(int groupIndex,
            +                         int... tracks)
            +
            +
            Parameters:
            +
            groupIndex - The overriding track group index.
            +
            tracks - The overriding track indices within the track group.
            +
            +
          • +
          + + + +
            +
          • +

            SelectionOverride

            +
            public SelectionOverride​(int groupIndex,
            +                         int[] tracks,
            +                         int reason,
            +                         int data)
            +
            +
            Parameters:
            +
            groupIndex - The overriding track group index.
            +
            tracks - The overriding track indices within the track group.
            +
            reason - The reason for the override. One of the C SELECTION_REASON_ constants.
            +
            data - Optional data associated with this override.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            containsTrack

            +
            public boolean containsTrack​(int track)
            +
            Returns whether this override contains the specified track index.
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html new file mode 100644 index 0000000000..47e6bf6931 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.TextTrackScore.html @@ -0,0 +1,370 @@ + + + + +DefaultTrackSelector.TextTrackScore (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.TextTrackScore

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.DefaultTrackSelector.TextTrackScore
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            isWithinConstraints

            +
            public final boolean isWithinConstraints
            +
            Whether the provided format is within the parameter constraints. If false, the format + should not be selected.
            +
          • +
          +
        • +
        + + + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html new file mode 100644 index 0000000000..7e1e2812d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.VideoTrackScore.html @@ -0,0 +1,361 @@ + + + + +DefaultTrackSelector.VideoTrackScore (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector.VideoTrackScore

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.DefaultTrackSelector.VideoTrackScore
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html new file mode 100644 index 0000000000..c9aa19e4d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html @@ -0,0 +1,1017 @@ + + + + +DefaultTrackSelector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackSelector

      +
      +
      + +
      +
        +
      • +
        +
        Direct Known Subclasses:
        +
        FakeTrackSelector
        +
        +
        +
        public class DefaultTrackSelector
        +extends MappingTrackSelector
        +
        A default TrackSelector suitable for most use cases. Track selections are made according + to configurable DefaultTrackSelector.Parameters, which can be set by calling setParameters(Parameters). + +

        Modifying parameters

        + + To modify only some aspects of the parameters currently used by a selector, it's possible to + obtain a DefaultTrackSelector.ParametersBuilder initialized with the current DefaultTrackSelector.Parameters. The desired + modifications can be made on the builder, and the resulting DefaultTrackSelector.Parameters can then be built + and set on the selector. For example the following code modifies the parameters to restrict video + track selections to SD, and to select a German audio track if there is one: + +
        
        + // Build on the current parameters.
        + Parameters currentParameters = trackSelector.getParameters();
        + // Build the resulting parameters.
        + Parameters newParameters = currentParameters
        +     .buildUpon()
        +     .setMaxVideoSizeSd()
        +     .setPreferredAudioLanguage("deu")
        +     .build();
        + // Set the new parameters.
        + trackSelector.setParameters(newParameters);
        + 
        + + Convenience methods and chaining allow this to be written more concisely as: + +
        
        + trackSelector.setParameters(
        +     trackSelector
        +         .buildUponParameters()
        +         .setMaxVideoSizeSd()
        +         .setPreferredAudioLanguage("deu"));
        + 
        + + Selection DefaultTrackSelector.Parameters support many different options, some of which are described below. + +

        Selecting specific tracks

        + + Track selection overrides can be used to select specific tracks. To specify an override for a + renderer, it's first necessary to obtain the tracks that have been mapped to it: + +
        
        + MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo();
        + TrackGroupArray rendererTrackGroups = mappedTrackInfo == null ? null
        +     : mappedTrackInfo.getTrackGroups(rendererIndex);
        + 
        + + If rendererTrackGroups is null then there aren't any currently mapped tracks, and so + setting an override isn't possible. Note that a Player.EventListener registered on the + player can be used to determine when the current tracks (and therefore the mapping) changes. If + rendererTrackGroups is non-null then an override can be set. The next step is to query + the properties of the available tracks to determine the groupIndex and the + trackIndices within the group it that should be selected. The override can then be specified + using DefaultTrackSelector.ParametersBuilder.setSelectionOverride(int, com.google.android.exoplayer2.source.TrackGroupArray, com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride): + +
        
        + SelectionOverride selectionOverride = new SelectionOverride(groupIndex, trackIndices);
        + trackSelector.setParameters(
        +     trackSelector
        +         .buildUponParameters()
        +         .setSelectionOverride(rendererIndex, rendererTrackGroups, selectionOverride));
        + 
        + +

        Constraint based track selection

        + + Whilst track selection overrides make it possible to select specific tracks, the recommended way + of controlling which tracks are selected is by specifying constraints. For example consider the + case of wanting to restrict video track selections to SD, and preferring German audio tracks. + Track selection overrides could be used to select specific tracks meeting these criteria, however + a simpler and more flexible approach is to specify these constraints directly: + +
        
        + trackSelector.setParameters(
        +     trackSelector
        +         .buildUponParameters()
        +         .setMaxVideoSizeSd()
        +         .setPreferredAudioLanguage("deu"));
        + 
        + + There are several benefits to using constraint based track selection instead of specific track + overrides: + +
          +
        • You can specify constraints before knowing what tracks the media provides. This can + simplify track selection code (e.g. you don't have to listen for changes in the available + tracks before configuring the selector). +
        • Constraints can be applied consistently across all periods in a complex piece of media, + even if those periods contain different tracks. In contrast, a specific track override is + only applied to periods whose tracks match those for which the override was set. +
        + +

        Disabling renderers

        + + Renderers can be disabled using DefaultTrackSelector.ParametersBuilder.setRendererDisabled(int, boolean). Disabling a + renderer differs from setting a null override because the renderer is disabled + unconditionally, whereas a null override is applied only when the track groups available + to the renderer match the TrackGroupArray for which it was specified. + +

        Tunneling

        + + Tunneled playback can be enabled in cases where the combination of renderers and selected tracks + support it. Tunneled playback is enabled by passing an audio session ID to DefaultTrackSelector.ParametersBuilder.setTunnelingEnabled(boolean).
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Definition.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Definition.html new file mode 100644 index 0000000000..cc0d7e6935 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Definition.html @@ -0,0 +1,395 @@ + + + + +ExoTrackSelection.Definition (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ExoTrackSelection.Definition

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        ExoTrackSelection
        +
        +
        +
        public static final class ExoTrackSelection.Definition
        +extends Object
        +
        Contains of a subset of selected tracks belonging to a TrackGroup.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + + + + + +
            +
          • +

            tracks

            +
            public final int[] tracks
            +
            The indices of the selected tracks in group.
            +
          • +
          + + + +
            +
          • +

            reason

            +
            public final int reason
            +
            The track selection reason. One of the C SELECTION_REASON_ constants.
            +
          • +
          + + + +
            +
          • +

            data

            +
            @Nullable
            +public final Object data
            +
            Optional data associated with this selection of tracks.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Definition

            +
            public Definition​(TrackGroup group,
            +                  int... tracks)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + null or empty. May be in any order.
            +
            +
          • +
          + + + +
            +
          • +

            Definition

            +
            public Definition​(TrackGroup group,
            +                  int[] tracks,
            +                  int reason,
            +                  @Nullable
            +                  Object data)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be
            +
            reason - The track selection reason. One of the C SELECTION_REASON_ constants.
            +
            data - Optional data associated with this selection of tracks.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Factory.html new file mode 100644 index 0000000000..a59203de31 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.Factory.html @@ -0,0 +1,277 @@ + + + + +ExoTrackSelection.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoTrackSelection.Factory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.html new file mode 100644 index 0000000000..3ae3939ac1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/ExoTrackSelection.html @@ -0,0 +1,666 @@ + + + + +ExoTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ExoTrackSelection

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            getSelectedFormat

            +
            Format getSelectedFormat()
            +
            Returns the Format of the individual selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectedIndexInTrackGroup

            +
            int getSelectedIndexInTrackGroup()
            +
            Returns the index in the track group of the individual selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectedIndex

            +
            int getSelectedIndex()
            +
            Returns the index of the selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectionReason

            +
            int getSelectionReason()
            +
            Returns the reason for the current track selection.
            +
          • +
          + + + +
            +
          • +

            getSelectionData

            +
            @Nullable
            +Object getSelectionData()
            +
            Returns optional data associated with the current track selection.
            +
          • +
          + + + +
            +
          • +

            onPlaybackSpeed

            +
            void onPlaybackSpeed​(float speed)
            +
            Called to notify the selection of the current playback speed. The playback speed may affect + adaptive track selection.
            +
            +
            Parameters:
            +
            speed - The factor by which playback is sped up.
            +
            +
          • +
          + + + +
            +
          • +

            onDiscontinuity

            +
            default void onDiscontinuity()
            +
            Called to notify the selection of a position discontinuity. + +

            This happens when the playback position jumps, e.g., as a result of a seek being performed.

            +
          • +
          + + + +
            +
          • +

            onRebuffer

            +
            default void onRebuffer()
            +
            Called to notify when a rebuffer occurred. + +

            A rebuffer is defined to be caused by buffer depletion rather than a user action. Hence this + method is not called during initial buffering or when buffering as a result of a seek + operation.

            +
          • +
          + + + +
            +
          • +

            onPlayWhenReadyChanged

            +
            default void onPlayWhenReadyChanged​(boolean playWhenReady)
            +
            Called to notify when the playback is paused or resumed.
            +
            +
            Parameters:
            +
            playWhenReady - Whether playback will proceed when ready.
            +
            +
          • +
          + + + +
            +
          • +

            updateSelectedTrack

            +
            void updateSelectedTrack​(long playbackPositionUs,
            +                         long bufferedDurationUs,
            +                         long availableDurationUs,
            +                         List<? extends MediaChunk> queue,
            +                         MediaChunkIterator[] mediaChunkIterators)
            +
            Updates the selected track for sources that load media in discrete MediaChunks. + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            bufferedDurationUs - The duration of media currently buffered from the current playback + position, in microseconds. Note that the next load position can be calculated as + (playbackPositionUs + bufferedDurationUs).
            +
            availableDurationUs - The duration of media available for buffering from the current + playback position, in microseconds, or C.TIME_UNSET if media can be buffered to the + end of the current period. Note that if not set to C.TIME_UNSET, the position up to + which media is available for buffering can be calculated as (playbackPositionUs + + availableDurationUs).
            +
            queue - The queue of already buffered MediaChunks. Must not be modified.
            +
            mediaChunkIterators - An array of MediaChunkIterators providing information about + the sequence of upcoming media chunks for each track in the selection. All iterators start + from the media chunk which will be loaded next if the respective track is selected. Note + that this information may not be available for all tracks, and so some iterators may be + empty.
            +
            +
          • +
          + + + +
            +
          • +

            evaluateQueueSize

            +
            int evaluateQueueSize​(long playbackPositionUs,
            +                      List<? extends MediaChunk> queue)
            +
            Returns the number of chunks that should be retained in the queue. + +

            May be called by sources that load media in discrete MediaChunks and + support discarding of buffered chunks. + +

            To avoid excessive re-buffering, implementations should normally return the size of the + queue. An example of a case where a smaller value may be returned is if network conditions have + improved dramatically, allowing chunks to be discarded and re-buffered in a track of + significantly higher quality. Discarding chunks may allow faster switching to a higher quality + track in this case. + +

            Note that even if the source supports discarding of buffered chunks, the actual number of + discarded chunks is not guaranteed. The source will call updateSelectedTrack(long, + long, long, List, MediaChunkIterator[]) with the updated queue of chunks before loading a new + chunk to allow switching to another quality. + +

            This method will only be called when the selection is enabled and none of the MediaChunks in the queue are currently loading.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            queue - The queue of buffered MediaChunks. Must not be modified.
            +
            Returns:
            +
            The number of chunks to retain in the queue.
            +
            +
          • +
          + + + +
            +
          • +

            shouldCancelChunkLoad

            +
            default boolean shouldCancelChunkLoad​(long playbackPositionUs,
            +                                      Chunk loadingChunk,
            +                                      List<? extends MediaChunk> queue)
            +
            Returns whether an ongoing load of a chunk should be canceled. + +

            May be called by sources that load media in discrete MediaChunks and + support canceling the ongoing chunk load. The ongoing chunk load is either the last MediaChunk in the queue or another type of Chunk, for example, if the source loads + initialization or encryption data. + +

            To avoid excessive re-buffering, implementations should normally return false. An + example where true might be returned is if a load of a high quality chunk gets stuck + and canceling this load in favor of a lower quality alternative may avoid a rebuffer. + +

            The source will call evaluateQueueSize(long, List) after the cancelation finishes + to allow discarding of chunks, and updateSelectedTrack(long, long, long, List, + MediaChunkIterator[]) before loading a new chunk to allow switching to another quality. + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            loadingChunk - The currently loading Chunk that will be canceled if this method + returns true.
            +
            queue - The queue of buffered MediaChunks, including the + loadingChunk if it's a MediaChunk. Must not be modified.
            +
            Returns:
            +
            Whether the ongoing load of loadingChunk should be canceled.
            +
            +
          • +
          + + + +
            +
          • +

            blacklist

            +
            boolean blacklist​(int index,
            +                  long exclusionDurationMs)
            +
            Attempts to exclude the track at the specified index in the selection, making it ineligible for + selection by calls to updateSelectedTrack(long, long, long, List, + MediaChunkIterator[]) for the specified period of time. + +

            Exclusion will fail if all other tracks are currently excluded. If excluding the currently + selected track, note that it will remain selected until the next call to updateSelectedTrack(long, long, long, List, MediaChunkIterator[]). + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            index - The index of the track in the selection.
            +
            exclusionDurationMs - The duration of time for which the track should be excluded, in + milliseconds.
            +
            Returns:
            +
            Whether exclusion was successful.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/FixedTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/FixedTrackSelection.html new file mode 100644 index 0000000000..42d489b239 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/FixedTrackSelection.html @@ -0,0 +1,476 @@ + + + + +FixedTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FixedTrackSelection

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FixedTrackSelection

            +
            public FixedTrackSelection​(TrackGroup group,
            +                           int track)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            track - The index of the selected track within the TrackGroup.
            +
            +
          • +
          + + + +
            +
          • +

            FixedTrackSelection

            +
            public FixedTrackSelection​(TrackGroup group,
            +                           int track,
            +                           int reason,
            +                           @Nullable
            +                           Object data)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            track - The index of the selected track within the TrackGroup.
            +
            reason - A reason for the track selection.
            +
            data - Optional data associated with the track selection.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateSelectedTrack

            +
            public void updateSelectedTrack​(long playbackPositionUs,
            +                                long bufferedDurationUs,
            +                                long availableDurationUs,
            +                                List<? extends MediaChunk> queue,
            +                                MediaChunkIterator[] mediaChunkIterators)
            +
            Description copied from interface: ExoTrackSelection
            +
            Updates the selected track for sources that load media in discrete MediaChunks. + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            bufferedDurationUs - The duration of media currently buffered from the current playback + position, in microseconds. Note that the next load position can be calculated as + (playbackPositionUs + bufferedDurationUs).
            +
            availableDurationUs - The duration of media available for buffering from the current + playback position, in microseconds, or C.TIME_UNSET if media can be buffered to the + end of the current period. Note that if not set to C.TIME_UNSET, the position up to + which media is available for buffering can be calculated as (playbackPositionUs + + availableDurationUs).
            +
            queue - The queue of already buffered MediaChunks. Must not be modified.
            +
            mediaChunkIterators - An array of MediaChunkIterators providing information about + the sequence of upcoming media chunks for each track in the selection. All iterators start + from the media chunk which will be loaded next if the respective track is selected. Note + that this information may not be available for all tracks, and so some iterators may be + empty.
            +
            +
          • +
          + + + +
            +
          • +

            getSelectedIndex

            +
            public int getSelectedIndex()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the index of the selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectionReason

            +
            public int getSelectionReason()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the reason for the current track selection.
            +
          • +
          + + + +
            +
          • +

            getSelectionData

            +
            @Nullable
            +public Object getSelectionData()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns optional data associated with the current track selection.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html new file mode 100644 index 0000000000..24ad125546 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.MappedTrackInfo.html @@ -0,0 +1,625 @@ + + + + +MappingTrackSelector.MappedTrackInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MappingTrackSelector.MappedTrackInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        MappingTrackSelector
        +
        +
        +
        public static final class MappingTrackSelector.MappedTrackInfo
        +extends Object
        +
        Provides mapped track information for each renderer.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getRendererCount

            +
            public int getRendererCount()
            +
            Returns the number of renderers.
            +
          • +
          + + + +
            +
          • +

            getRendererName

            +
            public String getRendererName​(int rendererIndex)
            +
            Returns the name of the renderer at a given index.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            Returns:
            +
            The name of the renderer.
            +
            See Also:
            +
            Renderer.getName()
            +
            +
          • +
          + + + +
            +
          • +

            getRendererType

            +
            public int getRendererType​(int rendererIndex)
            +
            Returns the track type that the renderer at a given index handles.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            Returns:
            +
            One of the TRACK_TYPE_* constants defined in C.
            +
            See Also:
            +
            Renderer.getTrackType()
            +
            +
          • +
          + + + +
            +
          • +

            getTrackGroups

            +
            public TrackGroupArray getTrackGroups​(int rendererIndex)
            +
            Returns the TrackGroups mapped to the renderer at the specified index.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            Returns:
            +
            The corresponding TrackGroups.
            +
            +
          • +
          + + + +
            +
          • +

            getRendererSupport

            +
            @RendererSupport
            +public int getRendererSupport​(int rendererIndex)
            +
            Returns the extent to which a renderer can play the tracks that are mapped to it.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            Returns:
            +
            The MappingTrackSelector.MappedTrackInfo.RendererSupport.
            +
            +
          • +
          + + + +
            +
          • +

            getTypeSupport

            +
            @RendererSupport
            +public int getTypeSupport​(int trackType)
            +
            Returns the extent to which tracks of a specified type are supported. This is the best level + of support obtained from getRendererSupport(int) for all renderers that handle the + specified type. If no such renderers exist then RENDERER_SUPPORT_NO_TRACKS is + returned.
            +
            +
            Parameters:
            +
            trackType - The track type. One of the C TRACK_TYPE_* constants.
            +
            Returns:
            +
            The MappingTrackSelector.MappedTrackInfo.RendererSupport.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackSupport

            +
            @FormatSupport
            +public int getTrackSupport​(int rendererIndex,
            +                           int groupIndex,
            +                           int trackIndex)
            +
            Returns the extent to which an individual track is supported by the renderer.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            groupIndex - The index of the track group to which the track belongs.
            +
            trackIndex - The index of the track within the track group.
            +
            Returns:
            +
            The C.FormatSupport.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAdaptiveSupport

            +
            @AdaptiveSupport
            +public int getAdaptiveSupport​(int rendererIndex,
            +                              int groupIndex,
            +                              int[] trackIndices)
            +
            Returns the extent to which a renderer supports adaptation between specified tracks within a + TrackGroup.
            +
            +
            Parameters:
            +
            rendererIndex - The renderer index.
            +
            groupIndex - The index of the track group.
            +
            Returns:
            +
            The RendererCapabilities.AdaptiveSupport.
            +
            +
          • +
          + + + +
            +
          • +

            getUnmappedTrackGroups

            +
            public TrackGroupArray getUnmappedTrackGroups()
            +
            Returns TrackGroups not mapped to any renderer.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.html new file mode 100644 index 0000000000..13a5dbbebc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/MappingTrackSelector.html @@ -0,0 +1,462 @@ + + + + +MappingTrackSelector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MappingTrackSelector

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.Factory.html new file mode 100644 index 0000000000..02d672778f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.Factory.html @@ -0,0 +1,350 @@ + + + + +RandomTrackSelection.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RandomTrackSelection.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.RandomTrackSelection.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.html new file mode 100644 index 0000000000..bcc6e27eed --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/RandomTrackSelection.html @@ -0,0 +1,513 @@ + + + + +RandomTrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RandomTrackSelection

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RandomTrackSelection

            +
            public RandomTrackSelection​(TrackGroup group,
            +                            int... tracks)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + null or empty. May be in any order.
            +
            +
          • +
          + + + +
            +
          • +

            RandomTrackSelection

            +
            public RandomTrackSelection​(TrackGroup group,
            +                            int[] tracks,
            +                            long seed)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + null or empty. May be in any order.
            +
            seed - A seed for the Random instance used to update the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            RandomTrackSelection

            +
            public RandomTrackSelection​(TrackGroup group,
            +                            int[] tracks,
            +                            Random random)
            +
            +
            Parameters:
            +
            group - The TrackGroup. Must not be null.
            +
            tracks - The indices of the selected tracks within the TrackGroup. Must not be + null or empty. May be in any order.
            +
            random - A source of random numbers.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateSelectedTrack

            +
            public void updateSelectedTrack​(long playbackPositionUs,
            +                                long bufferedDurationUs,
            +                                long availableDurationUs,
            +                                List<? extends MediaChunk> queue,
            +                                MediaChunkIterator[] mediaChunkIterators)
            +
            Description copied from interface: ExoTrackSelection
            +
            Updates the selected track for sources that load media in discrete MediaChunks. + +

            This method will only be called when the selection is enabled.

            +
            +
            Parameters:
            +
            playbackPositionUs - The current playback position in microseconds. If playback of the + period to which this track selection belongs has not yet started, the value will be the + starting position in the period minus the duration of any media in previous periods still + to be played.
            +
            bufferedDurationUs - The duration of media currently buffered from the current playback + position, in microseconds. Note that the next load position can be calculated as + (playbackPositionUs + bufferedDurationUs).
            +
            availableDurationUs - The duration of media available for buffering from the current + playback position, in microseconds, or C.TIME_UNSET if media can be buffered to the + end of the current period. Note that if not set to C.TIME_UNSET, the position up to + which media is available for buffering can be calculated as (playbackPositionUs + + availableDurationUs).
            +
            queue - The queue of already buffered MediaChunks. Must not be modified.
            +
            mediaChunkIterators - An array of MediaChunkIterators providing information about + the sequence of upcoming media chunks for each track in the selection. All iterators start + from the media chunk which will be loaded next if the respective track is selected. Note + that this information may not be available for all tracks, and so some iterators may be + empty.
            +
            +
          • +
          + + + +
            +
          • +

            getSelectedIndex

            +
            public int getSelectedIndex()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the index of the selected track.
            +
          • +
          + + + +
            +
          • +

            getSelectionReason

            +
            public int getSelectionReason()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns the reason for the current track selection.
            +
          • +
          + + + +
            +
          • +

            getSelectionData

            +
            @Nullable
            +public Object getSelectionData()
            +
            Description copied from interface: ExoTrackSelection
            +
            Returns optional data associated with the current track selection.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelection.html new file mode 100644 index 0000000000..1c68d44baf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelection.html @@ -0,0 +1,373 @@ + + + + +TrackSelection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackSelection

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          FormatgetFormat​(int index) +
          Returns the format of the track at a given index in the selection.
          +
          intgetIndexInTrackGroup​(int index) +
          Returns the index in the track group of the track at a given index in the selection.
          +
          TrackGroupgetTrackGroup() +
          Returns the TrackGroup to which the selected tracks belong.
          +
          intindexOf​(int indexInTrackGroup) +
          Returns the index in the selection of the track with the specified index in the track group.
          +
          intindexOf​(Format format) +
          Returns the index in the selection of the track with the specified format.
          +
          intlength() +
          Returns the number of tracks in the selection.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getTrackGroup

            +
            TrackGroup getTrackGroup()
            +
            Returns the TrackGroup to which the selected tracks belong.
            +
          • +
          + + + +
            +
          • +

            length

            +
            int length()
            +
            Returns the number of tracks in the selection.
            +
          • +
          + + + +
            +
          • +

            getFormat

            +
            Format getFormat​(int index)
            +
            Returns the format of the track at a given index in the selection.
            +
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The format of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            getIndexInTrackGroup

            +
            int getIndexInTrackGroup​(int index)
            +
            Returns the index in the track group of the track at a given index in the selection.
            +
            +
            Parameters:
            +
            index - The index in the selection.
            +
            Returns:
            +
            The index of the selected track.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            int indexOf​(Format format)
            +
            Returns the index in the selection of the track with the specified format. The format is + located by identity so, for example, selection.indexOf(selection.getFormat(index)) == + index even if multiple selected tracks have formats that contain the same values.
            +
            +
            Parameters:
            +
            format - The format.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + format is not part of the selection.
            +
            +
          • +
          + + + +
            +
          • +

            indexOf

            +
            int indexOf​(int indexInTrackGroup)
            +
            Returns the index in the selection of the track with the specified index in the track group.
            +
            +
            Parameters:
            +
            indexInTrackGroup - The index in the track group.
            +
            Returns:
            +
            The index in the selection, or C.INDEX_UNSET if the track with the specified + index is not part of the selection.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionArray.html new file mode 100644 index 0000000000..da2f847891 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionArray.html @@ -0,0 +1,408 @@ + + + + +TrackSelectionArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelectionArray
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            length

            +
            public final int length
            +
            The length of this array.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TrackSelectionArray

            +
            public TrackSelectionArray​(@NullableType TrackSelection... trackSelections)
            +
            +
            Parameters:
            +
            trackSelections - The selections. Must not be null, but may contain null elements.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            get

            +
            @Nullable
            +public TrackSelection get​(int index)
            +
            Returns the selection at a given index.
            +
            +
            Parameters:
            +
            index - The index of the selection.
            +
            Returns:
            +
            The selection.
            +
            +
          • +
          + + + +
            +
          • +

            getAll

            +
            public @NullableType TrackSelection[] getAll()
            +
            Returns the selections in a newly allocated array.
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object obj)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.Builder.html new file mode 100644 index 0000000000..9215f96d35 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.Builder.html @@ -0,0 +1,568 @@ + + + + +TrackSelectionParameters.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionParameters.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder​(Context context)
            +
            Creates a builder with default initial values.
            +
            +
            Parameters:
            +
            context - Any context.
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setPreferredAudioLanguage

            +
            public TrackSelectionParameters.Builder setPreferredAudioLanguage​(@Nullable
            +                                                                  String preferredAudioLanguage)
            +
            Sets the preferred language for audio and forced text tracks.
            +
            +
            Parameters:
            +
            preferredAudioLanguage - Preferred audio language as an IETF BCP 47 conformant tag, or + null to select the default track, or the first track if there's no default.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredAudioLanguages

            +
            public TrackSelectionParameters.Builder setPreferredAudioLanguages​(String... preferredAudioLanguages)
            +
            Sets the preferred languages for audio and forced text tracks.
            +
            +
            Parameters:
            +
            preferredAudioLanguages - Preferred audio languages as IETF BCP 47 conformant tags in + order of preference, or an empty array to select the default track, or the first track if + there's no default.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredAudioRoleFlags

            +
            public TrackSelectionParameters.Builder setPreferredAudioRoleFlags​(@RoleFlags
            +                                                                   int preferredAudioRoleFlags)
            +
            Sets the preferred C.RoleFlags for audio tracks.
            +
            +
            Parameters:
            +
            preferredAudioRoleFlags - Preferred audio role flags.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings

            +
            public TrackSelectionParameters.Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings​(Context context)
            +
            Sets the preferred language and role flags for text tracks based on the accessibility + settings of CaptioningManager. + +

            Does nothing for API levels < 19 or when the CaptioningManager is disabled.

            +
            +
            Parameters:
            +
            context - A Context.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredTextLanguage

            +
            public TrackSelectionParameters.Builder setPreferredTextLanguage​(@Nullable
            +                                                                 String preferredTextLanguage)
            +
            Sets the preferred language for text tracks.
            +
            +
            Parameters:
            +
            preferredTextLanguage - Preferred text language as an IETF BCP 47 conformant tag, or + null to select the default track if there is one, or no track otherwise.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredTextLanguages

            +
            public TrackSelectionParameters.Builder setPreferredTextLanguages​(String... preferredTextLanguages)
            +
            Sets the preferred languages for text tracks.
            +
            +
            Parameters:
            +
            preferredTextLanguages - Preferred text languages as IETF BCP 47 conformant tags in + order of preference, or an empty array to select the default track if there is one, or no + track otherwise.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setPreferredTextRoleFlags

            +
            public TrackSelectionParameters.Builder setPreferredTextRoleFlags​(@RoleFlags
            +                                                                  int preferredTextRoleFlags)
            +
            Sets the preferred C.RoleFlags for text tracks.
            +
            +
            Parameters:
            +
            preferredTextRoleFlags - Preferred text role flags.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setSelectUndeterminedTextLanguage

            +
            public TrackSelectionParameters.Builder setSelectUndeterminedTextLanguage​(boolean selectUndeterminedTextLanguage)
            +
            Sets whether a text track with undetermined language should be selected if no track with + a preferred language is available, or if the + preferred language is unset.
            +
            +
            Parameters:
            +
            selectUndeterminedTextLanguage - Whether a text track with undetermined language should + be selected if no preferred language track is available.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setDisabledTextTrackSelectionFlags

            +
            public TrackSelectionParameters.Builder setDisabledTextTrackSelectionFlags​(@SelectionFlags
            +                                                                           int disabledTextTrackSelectionFlags)
            +
            Sets a bitmask of selection flags that are disabled for text track selections.
            +
            +
            Parameters:
            +
            disabledTextTrackSelectionFlags - A bitmask of C.SelectionFlags that are + disabled for text track selections.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html new file mode 100644 index 0000000000..8abe5cc2f3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.html @@ -0,0 +1,606 @@ + + + + +TrackSelectionParameters (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionParameters

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelectionParameters
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory.html new file mode 100644 index 0000000000..a453c083e5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.AdaptiveTrackSelectionFactory.html @@ -0,0 +1,260 @@ + + + + +TrackSelectionUtil.AdaptiveTrackSelectionFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackSelectionUtil.AdaptiveTrackSelectionFactory

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        TrackSelectionUtil
        +
        +
        +
        public static interface TrackSelectionUtil.AdaptiveTrackSelectionFactory
        +
        Functional interface to create a single adaptive track selection.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.html new file mode 100644 index 0000000000..d3aac63ca5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectionUtil.html @@ -0,0 +1,339 @@ + + + + +TrackSelectionUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelectionUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TrackSelectionUtil
        +extends Object
        +
        Track selection related utility methods.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.InvalidationListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.InvalidationListener.html new file mode 100644 index 0000000000..fe0825946e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.InvalidationListener.html @@ -0,0 +1,256 @@ + + + + +TrackSelector.InvalidationListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackSelector.InvalidationListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        TrackSelector
        +
        +
        +
        public static interface TrackSelector.InvalidationListener
        +
        Notified when selections previously made by a TrackSelector are no longer valid.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTrackSelectionsInvalidated

            +
            void onTrackSelectionsInvalidated()
            +
            Called by a TrackSelector to indicate that selections it has previously made are no + longer valid. May be called from any thread.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html new file mode 100644 index 0000000000..bc94ea2e57 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html @@ -0,0 +1,481 @@ + + + + +TrackSelector (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelector

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelector
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Direct Known Subclasses:
        +
        MappingTrackSelector
        +
        +
        +
        public abstract class TrackSelector
        +extends Object
        +
        The component of an ExoPlayer responsible for selecting tracks to be consumed by each of + the player's Renderers. The DefaultTrackSelector implementation should be + suitable for most use cases. + +

        Interactions with the player

        + + The following interactions occur between the player and its track selector during playback. + +
          +
        • When the player is created it will initialize the track selector by calling init(InvalidationListener, BandwidthMeter). +
        • When the player needs to make a track selection it will call selectTracks(RendererCapabilities[], TrackGroupArray, MediaPeriodId, Timeline). This + typically occurs at the start of playback, when the player starts to buffer a new period of + the media being played, and when the track selector invalidates its previous selections. +
        • The player may perform a track selection well in advance of the selected tracks becoming + active, where active is defined to mean that the renderers are actually consuming media + corresponding to the selection that was made. For example when playing media containing + multiple periods, the track selection for a period is made when the player starts to buffer + that period. Hence if the player's buffering policy is to maintain a 30 second buffer, the + selection will occur approximately 30 seconds in advance of it becoming active. In fact the + selection may never become active, for example if the user seeks to some other period of + the media during the 30 second gap. The player indicates to the track selector when a + selection it has previously made becomes active by calling onSelectionActivated(Object). +
        • If the track selector wishes to indicate to the player that selections it has previously + made are invalid, it can do so by calling TrackSelector.InvalidationListener.onTrackSelectionsInvalidated() on the TrackSelector.InvalidationListener + that was passed to init(InvalidationListener, BandwidthMeter). A track selector + may wish to do this if its configuration has changed, for example if it now wishes to + prefer audio tracks in a particular language. This will trigger the player to make new + track selections. Note that the player will have to re-buffer in the case that the new + track selection for the currently playing period differs from the one that was invalidated. + Implementing subclasses can trigger invalidation by calling invalidate(), which + will call TrackSelector.InvalidationListener.onTrackSelectionsInvalidated(). +
        + +

        Renderer configuration

        + + The TrackSelectorResult returned by selectTracks(RendererCapabilities[], + TrackGroupArray, MediaPeriodId, Timeline) contains not only TrackSelections for each + renderer, but also RendererConfigurations defining configuration parameters that the + renderers should apply when consuming the corresponding media. Whilst it may seem counter- + intuitive for a track selector to also specify renderer configuration information, in practice + the two are tightly bound together. It may only be possible to play a certain combination tracks + if the renderers are configured in a particular way. Equally, it may only be possible to + configure renderers in a particular way if certain tracks are selected. Hence it makes sense to + determine the track selection and corresponding renderer configurations in a single step. + +

        Threading model

        + + All calls made by the player into the track selector are on the player's internal playback + thread. The track selector may call TrackSelector.InvalidationListener.onTrackSelectionsInvalidated() + from any thread.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectorResult.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectorResult.html new file mode 100644 index 0000000000..3095482e7b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/TrackSelectorResult.html @@ -0,0 +1,467 @@ + + + + +TrackSelectorResult (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectorResult

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.trackselection.TrackSelectorResult
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TrackSelectorResult
        +extends Object
        +
        The result of a TrackSelector operation.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isRendererEnabled

            +
            public boolean isRendererEnabled​(int index)
            +
            Returns whether the renderer at the specified index is enabled.
            +
          • +
          + + + +
            +
          • +

            isEquivalent

            +
            public boolean isEquivalent​(@Nullable
            +                            TrackSelectorResult other)
            +
            Returns whether this result is equivalent to other for all renderers.
            +
            +
            Parameters:
            +
            other - The other TrackSelectorResult. May be null, in which case false + will be returned.
            +
            Returns:
            +
            Whether this result is equivalent to other for all renderers.
            +
            +
          • +
          + + + +
            +
          • +

            isEquivalent

            +
            public boolean isEquivalent​(@Nullable
            +                            TrackSelectorResult other,
            +                            int index)
            +
            Returns whether this result is equivalent to other for the renderer at the given index. + The results are equivalent if they have equal track selections and configurations for the + renderer.
            +
            +
            Parameters:
            +
            other - The other TrackSelectorResult. May be null, in which case false + will be returned.
            +
            index - The renderer index to check for equivalence.
            +
            Returns:
            +
            Whether this result is equivalent to other for the renderer at the specified + index.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-frame.html new file mode 100644 index 0000000000..0a92dffe1c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-frame.html @@ -0,0 +1,58 @@ + + + + +com.google.android.exoplayer2.trackselection (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.trackselection

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-summary.html new file mode 100644 index 0000000000..c19fe0c6e7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-summary.html @@ -0,0 +1,352 @@ + + + + +com.google.android.exoplayer2.trackselection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.trackselection

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-tree.html new file mode 100644 index 0000000000..2b60e71e62 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/trackselection/package-tree.html @@ -0,0 +1,210 @@ + + + + +com.google.android.exoplayer2.trackselection Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.trackselection

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/ProgressHolder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/ProgressHolder.html new file mode 100644 index 0000000000..4efe5daa98 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/ProgressHolder.html @@ -0,0 +1,304 @@ + + + + +ProgressHolder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProgressHolder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.transformer.ProgressHolder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ProgressHolder
        +extends Object
        +
        Holds a progress percentage.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            progress

            +
            public int progress
            +
            The held progress, expressed as an integer percentage.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ProgressHolder

            +
            public ProgressHolder()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Builder.html new file mode 100644 index 0000000000..a46a9dc376 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Builder.html @@ -0,0 +1,539 @@ + + + + +Transformer.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Transformer.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.transformer.Transformer.Builder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Transformer
        +
        +
        +
        public static final class Transformer.Builder
        +extends Object
        +
        A builder for Transformer instances.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder()
            +
            Creates a builder with default values.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            setRemoveAudio

            +
            public Transformer.Builder setRemoveAudio​(boolean removeAudio)
            +
            Sets whether to remove the audio from the output. The default value is false. + +

            The audio and video cannot both be removed because the output would not contain any + samples.

            +
            +
            Parameters:
            +
            removeAudio - Whether to remove the audio.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setRemoveVideo

            +
            public Transformer.Builder setRemoveVideo​(boolean removeVideo)
            +
            Sets whether to remove the video from the output. The default value is false. + +

            The audio and video cannot both be removed because the output would not contain any + samples.

            +
            +
            Parameters:
            +
            removeVideo - Whether to remove the video.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setFlattenForSlowMotion

            +
            public Transformer.Builder setFlattenForSlowMotion​(boolean flattenForSlowMotion)
            +
            Sets whether the input should be flattened for media containing slow motion markers. The + transformed output is obtained by removing the slow motion metadata and by actually slowing + down the parts of the video and audio streams defined in this metadata. The default value for + flattenForSlowMotion is false. + +

            Only Samsung Extension Format (SEF) slow motion metadata type is supported. The + transformation has no effect if the input does not contain this metadata type. + +

            For SEF slow motion media, the following assumptions are made on the input: + +

              +
            • The input container format is (unfragmented) MP4. +
            • The input contains an AVC video elementary stream with temporal SVC. +
            • The recording frame rate of the video is 120 or 240 fps. +
            + +

            If specifying a MediaSourceFactory using setMediaSourceFactory(MediaSourceFactory), make sure that Mp4Extractor.FLAG_READ_SEF_DATA is set on the Mp4Extractor used. Otherwise, the slow + motion metadata will be ignored and the input won't be flattened.

            +
            +
            Parameters:
            +
            flattenForSlowMotion - Whether to flatten for slow motion.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setLooper

            +
            public Transformer.Builder setLooper​(Looper looper)
            +
            Sets the Looper that must be used for all calls to the transformer and that is used + to call listeners on. The default value is the Looper of the thread that this builder was + created on, or if that thread does not have a Looper, the Looper of the application's main + thread.
            +
            +
            Parameters:
            +
            looper - A Looper.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Listener.html new file mode 100644 index 0000000000..f904face18 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.Listener.html @@ -0,0 +1,282 @@ + + + + +Transformer.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Transformer.Listener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Transformer
        +
        +
        +
        public static interface Transformer.Listener
        +
        A listener for the transformation events.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTransformationCompleted

            +
            default void onTransformationCompleted​(MediaItem inputMediaItem)
            +
            Called when the transformation is completed.
            +
            +
            Parameters:
            +
            inputMediaItem - The MediaItem for which the transformation is completed.
            +
            +
          • +
          + + + +
            +
          • +

            onTransformationError

            +
            default void onTransformationError​(MediaItem inputMediaItem,
            +                                   Exception exception)
            +
            Called if an error occurs during the transformation.
            +
            +
            Parameters:
            +
            inputMediaItem - The MediaItem for which the error occurs.
            +
            exception - The exception describing the error.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.ProgressState.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.ProgressState.html new file mode 100644 index 0000000000..83f17c9d4e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.ProgressState.html @@ -0,0 +1,189 @@ + + + + +Transformer.ProgressState (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Transformer.ProgressState

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.html new file mode 100644 index 0000000000..e62e05da50 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/Transformer.html @@ -0,0 +1,599 @@ + + + + +Transformer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Transformer

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.transformer.Transformer
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class Transformer
        +extends Object
        +
        A transformer to transform media inputs. + +

        The same Transformer instance can be used to transform multiple inputs (sequentially, not + concurrently). + +

        Transformer instances must be accessed from a single application thread. For the vast majority + of cases this should be the application's main thread. The thread on which a Transformer instance + must be accessed can be explicitly specified by passing a Looper when creating the + transformer. If no Looper is specified, then the Looper of the thread that the Transformer.Builder is created on is used, or if that thread does not have a Looper, the Looper + of the application's main thread is used. In all cases the Looper of the thread from which the + transformer must be accessed can be queried using getApplicationLooper().

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            PROGRESS_STATE_WAITING_FOR_AVAILABILITY

            +
            public static final int PROGRESS_STATE_WAITING_FOR_AVAILABILITY
            +
            Indicates that the progress is unavailable for the current transformation, but might become + available.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PROGRESS_STATE_AVAILABLE

            +
            public static final int PROGRESS_STATE_AVAILABLE
            +
            Indicates that the progress is available.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PROGRESS_STATE_UNAVAILABLE

            +
            public static final int PROGRESS_STATE_UNAVAILABLE
            +
            Indicates that the progress is permanently unavailable for the current transformation.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            PROGRESS_STATE_NO_TRANSFORMATION

            +
            public static final int PROGRESS_STATE_NO_TRANSFORMATION
            +
            Indicates that there is no current transformation.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            startTransformation

            +
            public void startTransformation​(MediaItem mediaItem,
            +                                String path)
            +                         throws IOException
            +
            Starts an asynchronous operation to transform the given MediaItem. + +

            The transformation state is notified through the listener. + +

            Concurrent transformations on the same Transformer object are not allowed. + +

            The output can contain at most one video track and one audio track. Other track types are + ignored. For adaptive bitrate media + sources, the highest bitrate video and audio streams are selected.

            +
            +
            Parameters:
            +
            mediaItem - The MediaItem to transform. The supported sample formats depend on the + output container format and are described in MediaMuxer.addTrack(MediaFormat).
            +
            path - The path to the output file.
            +
            Throws:
            +
            IllegalArgumentException - If the path is invalid.
            +
            IllegalStateException - If this method is called from the wrong thread.
            +
            IllegalStateException - If a transformation is already in progress.
            +
            IOException - If an error occurs opening the output file for writing.
            +
            +
          • +
          + + + +
            +
          • +

            startTransformation

            +
            public void startTransformation​(MediaItem mediaItem,
            +                                ParcelFileDescriptor parcelFileDescriptor)
            +                         throws IOException
            +
            Starts an asynchronous operation to transform the given MediaItem. + +

            The transformation state is notified through the listener. + +

            Concurrent transformations on the same Transformer object are not allowed. + +

            The output can contain at most one video track and one audio track. Other track types are + ignored. For adaptive bitrate media + sources, the highest bitrate video and audio streams are selected.

            +
            +
            Parameters:
            +
            mediaItem - The MediaItem to transform. The supported sample formats depend on the + output container format and are described in MediaMuxer.addTrack(MediaFormat).
            +
            parcelFileDescriptor - A readable and writable ParcelFileDescriptor of the output. + The file referenced by this ParcelFileDescriptor should not be used before the + transformation is completed. It is the responsibility of the caller to close the + ParcelFileDescriptor. This can be done after this method returns.
            +
            Throws:
            +
            IllegalArgumentException - If the file descriptor is invalid.
            +
            IllegalStateException - If this method is called from the wrong thread.
            +
            IllegalStateException - If a transformation is already in progress.
            +
            IOException - If an error occurs opening the output file for writing.
            +
            +
          • +
          + + + +
            +
          • +

            getApplicationLooper

            +
            public Looper getApplicationLooper()
            +
            Returns the Looper associated with the application thread that's used to access the + transformer and on which transformer events are received.
            +
          • +
          + + + + + + + +
            +
          • +

            cancel

            +
            public void cancel()
            +
            Cancels the transformation that is currently in progress, if any.
            +
            +
            Throws:
            +
            IllegalStateException - If this method is called from the wrong thread.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-frame.html new file mode 100644 index 0000000000..f11942d8ae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-frame.html @@ -0,0 +1,37 @@ + + + + +com.google.android.exoplayer2.transformer (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.transformer

      +
      +

      Interfaces

      + +

      Classes

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-summary.html new file mode 100644 index 0000000000..b5641c4528 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-summary.html @@ -0,0 +1,214 @@ + + + + +com.google.android.exoplayer2.transformer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.transformer

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-tree.html new file mode 100644 index 0000000000..8e8921a77f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/transformer/package-tree.html @@ -0,0 +1,171 @@ + + + + +com.google.android.exoplayer2.transformer Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.transformer

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.AspectRatioListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.AspectRatioListener.html new file mode 100644 index 0000000000..a8a1ecb820 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.AspectRatioListener.html @@ -0,0 +1,266 @@ + + + + +AspectRatioFrameLayout.AspectRatioListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface AspectRatioFrameLayout.AspectRatioListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        AspectRatioFrameLayout
        +
        +
        +
        public static interface AspectRatioFrameLayout.AspectRatioListener
        +
        Listener to be notified about changes of the aspect ratios of this view.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonAspectRatioUpdated​(float targetAspectRatio, + float naturalAspectRatio, + boolean aspectRatioMismatch) +
          Called when either the target aspect ratio or the view aspect ratio is updated.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onAspectRatioUpdated

            +
            void onAspectRatioUpdated​(float targetAspectRatio,
            +                          float naturalAspectRatio,
            +                          boolean aspectRatioMismatch)
            +
            Called when either the target aspect ratio or the view aspect ratio is updated.
            +
            +
            Parameters:
            +
            targetAspectRatio - The aspect ratio that has been set in AspectRatioFrameLayout.setAspectRatio(float)
            +
            naturalAspectRatio - The natural aspect ratio of this view (before its width and height + are modified to satisfy the target aspect ratio).
            +
            aspectRatioMismatch - Whether the target and natural aspect ratios differ enough for + changing the resize mode to have an effect.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.ResizeMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.ResizeMode.html new file mode 100644 index 0000000000..6b82a49f66 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.ResizeMode.html @@ -0,0 +1,190 @@ + + + + +AspectRatioFrameLayout.ResizeMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type AspectRatioFrameLayout.ResizeMode

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html new file mode 100644 index 0000000000..946bbd65d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/AspectRatioFrameLayout.html @@ -0,0 +1,646 @@ + + + + +AspectRatioFrameLayout (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AspectRatioFrameLayout

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            RESIZE_MODE_FIT

            +
            public static final int RESIZE_MODE_FIT
            +
            Either the width or height is decreased to obtain the desired aspect ratio.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            RESIZE_MODE_FIXED_WIDTH

            +
            public static final int RESIZE_MODE_FIXED_WIDTH
            +
            The width is fixed and the height is increased or decreased to obtain the desired aspect ratio.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            RESIZE_MODE_FIXED_HEIGHT

            +
            public static final int RESIZE_MODE_FIXED_HEIGHT
            +
            The height is fixed and the width is increased or decreased to obtain the desired aspect ratio.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            RESIZE_MODE_FILL

            +
            public static final int RESIZE_MODE_FILL
            +
            The specified aspect ratio is ignored.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            RESIZE_MODE_ZOOM

            +
            public static final int RESIZE_MODE_ZOOM
            +
            Either the width or height is increased to obtain the desired aspect ratio.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AspectRatioFrameLayout

            +
            public AspectRatioFrameLayout​(Context context)
            +
          • +
          + + + +
            +
          • +

            AspectRatioFrameLayout

            +
            public AspectRatioFrameLayout​(Context context,
            +                              @Nullable
            +                              AttributeSet attrs)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DebugTextViewHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DebugTextViewHelper.html new file mode 100644 index 0000000000..73426f3a60 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DebugTextViewHelper.html @@ -0,0 +1,537 @@ + + + + +DebugTextViewHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DebugTextViewHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.DebugTextViewHelper
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DebugTextViewHelper

            +
            public DebugTextViewHelper​(SimpleExoPlayer player,
            +                           TextView textView)
            +
            +
            Parameters:
            +
            player - The SimpleExoPlayer from which debug information should be obtained. Only + players which are accessed on the main thread are supported ( + player.getApplicationLooper() == Looper.getMainLooper()).
            +
            textView - The TextView that should be updated to display the information.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            start

            +
            public final void start()
            +
            Starts periodic updates of the TextView. Must be called from the application's main + thread.
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public final void stop()
            +
            Stops periodic updates of the TextView. Must be called from the application's main + thread.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onPositionDiscontinuity

            +
            public final void onPositionDiscontinuity​(@DiscontinuityReason
            +                                          int reason)
            +
            Description copied from interface: Player.EventListener
            +
            Called when a position discontinuity occurs without a change to the timeline. A position + discontinuity occurs when the current window or period index changes (as a result of playback + transitioning from one period in the timeline to the next), or when the playback position + jumps within the period currently being played (as a result of a seek being performed, or + when the source introduces a discontinuity internally). + +

            When a position discontinuity occurs as a result of a change to the timeline this method + is not called. Player.EventListener.onTimelineChanged(Timeline, int) is called in this case. + +

            Player.EventListener.onEvents(Player, Events) will also be called to report this event along with + other events that happen in the same Looper message queue iteration.

            +
            +
            Specified by:
            +
            onPositionDiscontinuity in interface Player.EventListener
            +
            Parameters:
            +
            reason - The Player.DiscontinuityReason responsible for the discontinuity.
            +
            +
          • +
          + + + +
            +
          • +

            run

            +
            public final void run()
            +
            +
            Specified by:
            +
            run in interface Runnable
            +
            +
          • +
          + + + +
            +
          • +

            updateAndPost

            +
            protected final void updateAndPost()
            +
          • +
          + + + +
            +
          • +

            getDebugString

            +
            protected String getDebugString()
            +
            Returns the debugging information string to be shown by the target TextView.
            +
          • +
          + + + +
            +
          • +

            getPlayerStateString

            +
            protected String getPlayerStateString()
            +
            Returns a string containing player state debugging information.
            +
          • +
          + + + +
            +
          • +

            getVideoString

            +
            protected String getVideoString()
            +
            Returns a string containing video debugging information.
            +
          • +
          + + + +
            +
          • +

            getAudioString

            +
            protected String getAudioString()
            +
            Returns a string containing audio debugging information.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTimeBar.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTimeBar.html new file mode 100644 index 0000000000..54e46eef52 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTimeBar.html @@ -0,0 +1,1506 @@ + + + + +DefaultTimeBar (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTimeBar

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, TimeBar
        +
        +
        +
        public class DefaultTimeBar
        +extends View
        +implements TimeBar
        +
        A time bar that shows a current position, buffered position, duration and ad markers. + +

        A DefaultTimeBar can be customized by setting attributes, as outlined below. + +

        Attributes

        + + The following attributes can be set on a DefaultTimeBar when used in a layout XML file: + +
          +
        • bar_height - Dimension for the height of the time bar. + +
        • touch_target_height - Dimension for the height of the area in which touch + interactions with the time bar are handled. If no height is specified, this also determines + the height of the view. + +
        • ad_marker_width - Dimension for the width of any ad markers shown on the + bar. Ad markers are superimposed on the time bar to show the times at which ads will play. + +
        • scrubber_enabled_size - Dimension for the diameter of the circular scrubber + handle when scrubbing is enabled but not in progress. Set to zero if no scrubber handle + should be shown. + +
        • scrubber_disabled_size - Dimension for the diameter of the circular scrubber + handle when scrubbing isn't enabled. Set to zero if no scrubber handle should be shown. + +
        • scrubber_dragged_size - Dimension for the diameter of the circular scrubber + handle when scrubbing is in progress. Set to zero if no scrubber handle should be shown. + +
        • scrubber_drawable - Optional reference to a drawable to draw for the + scrubber handle. If set, this overrides the default behavior, which is to draw a circle for + the scrubber handle. +
        • played_color - Color for the portion of the time bar representing media + before the current playback position. + +
        • scrubber_color - Color for the scrubber handle. + +
        • buffered_color - Color for the portion of the time bar after the current + played position up to the current buffered position. + +
        • unplayed_color - Color for the portion of the time bar after the current + buffered position. + +
        • ad_marker_color - Color for unplayed ad markers. + +
        • played_ad_marker_color - Color for played ad markers. + +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_BAR_HEIGHT_DP

            +
            public static final int DEFAULT_BAR_HEIGHT_DP
            +
            Default height for the time bar, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_TOUCH_TARGET_HEIGHT_DP

            +
            public static final int DEFAULT_TOUCH_TARGET_HEIGHT_DP
            +
            Default height for the touch target, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_AD_MARKER_WIDTH_DP

            +
            public static final int DEFAULT_AD_MARKER_WIDTH_DP
            +
            Default width for ad markers, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SCRUBBER_ENABLED_SIZE_DP

            +
            public static final int DEFAULT_SCRUBBER_ENABLED_SIZE_DP
            +
            Default diameter for the scrubber when enabled, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SCRUBBER_DISABLED_SIZE_DP

            +
            public static final int DEFAULT_SCRUBBER_DISABLED_SIZE_DP
            +
            Default diameter for the scrubber when disabled, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SCRUBBER_DRAGGED_SIZE_DP

            +
            public static final int DEFAULT_SCRUBBER_DRAGGED_SIZE_DP
            +
            Default diameter for the scrubber when dragged, in dp.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_PLAYED_COLOR

            +
            public static final int DEFAULT_PLAYED_COLOR
            +
            Default color for the played portion of the time bar.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_UNPLAYED_COLOR

            +
            public static final int DEFAULT_UNPLAYED_COLOR
            +
            Default color for the unplayed portion of the time bar.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BUFFERED_COLOR

            +
            public static final int DEFAULT_BUFFERED_COLOR
            +
            Default color for the buffered portion of the time bar.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SCRUBBER_COLOR

            +
            public static final int DEFAULT_SCRUBBER_COLOR
            +
            Default color for the scrubber handle.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_AD_MARKER_COLOR

            +
            public static final int DEFAULT_AD_MARKER_COLOR
            +
            Default color for ad markers.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_PLAYED_AD_MARKER_COLOR

            +
            public static final int DEFAULT_PLAYED_AD_MARKER_COLOR
            +
            Default color for played ad markers.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            BAR_GRAVITY_CENTER

            +
            public static final int BAR_GRAVITY_CENTER
            +
            Vertical gravity for progress bar to be located at the center in the view.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            BAR_GRAVITY_BOTTOM

            +
            public static final int BAR_GRAVITY_BOTTOM
            +
            Vertical gravity for progress bar to be located at the bottom in the view.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultTimeBar

            +
            public DefaultTimeBar​(Context context)
            +
          • +
          + + + +
            +
          • +

            DefaultTimeBar

            +
            public DefaultTimeBar​(Context context,
            +                      @Nullable
            +                      AttributeSet attrs)
            +
          • +
          + + + +
            +
          • +

            DefaultTimeBar

            +
            public DefaultTimeBar​(Context context,
            +                      @Nullable
            +                      AttributeSet attrs,
            +                      int defStyleAttr)
            +
          • +
          + + + +
            +
          • +

            DefaultTimeBar

            +
            public DefaultTimeBar​(Context context,
            +                      @Nullable
            +                      AttributeSet attrs,
            +                      int defStyleAttr,
            +                      @Nullable
            +                      AttributeSet timebarAttrs)
            +
          • +
          + + + +
            +
          • +

            DefaultTimeBar

            +
            public DefaultTimeBar​(Context context,
            +                      @Nullable
            +                      AttributeSet attrs,
            +                      int defStyleAttr,
            +                      @Nullable
            +                      AttributeSet timebarAttrs,
            +                      int defStyleRes)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            showScrubber

            +
            public void showScrubber()
            +
            Shows the scrubber handle.
            +
          • +
          + + + +
            +
          • +

            showScrubber

            +
            public void showScrubber​(long showAnimationDurationMs)
            +
            Shows the scrubber handle with animation.
            +
            +
            Parameters:
            +
            showAnimationDurationMs - The duration for scrubber showing animation.
            +
            +
          • +
          + + + +
            +
          • +

            hideScrubber

            +
            public void hideScrubber​(boolean disableScrubberPadding)
            +
            Hides the scrubber handle.
            +
          • +
          + + + +
            +
          • +

            hideScrubber

            +
            public void hideScrubber​(long hideAnimationDurationMs)
            +
            Hides the scrubber handle with animation.
            +
            +
            Parameters:
            +
            hideAnimationDurationMs - The duration for scrubber hiding animation.
            +
            +
          • +
          + + + +
            +
          • +

            setPlayedColor

            +
            public void setPlayedColor​(int playedColor)
            +
            Sets the color for the portion of the time bar representing media before the playback position.
            +
            +
            Parameters:
            +
            playedColor - The color for the portion of the time bar representing media before the + playback position.
            +
            +
          • +
          + + + +
            +
          • +

            setScrubberColor

            +
            public void setScrubberColor​(int scrubberColor)
            +
            Sets the color for the scrubber handle.
            +
            +
            Parameters:
            +
            scrubberColor - The color for the scrubber handle.
            +
            +
          • +
          + + + +
            +
          • +

            setBufferedColor

            +
            public void setBufferedColor​(int bufferedColor)
            +
            Sets the color for the portion of the time bar after the current played position up to the + current buffered position.
            +
            +
            Parameters:
            +
            bufferedColor - The color for the portion of the time bar after the current played + position up to the current buffered position.
            +
            +
          • +
          + + + +
            +
          • +

            setUnplayedColor

            +
            public void setUnplayedColor​(int unplayedColor)
            +
            Sets the color for the portion of the time bar after the current played position.
            +
            +
            Parameters:
            +
            unplayedColor - The color for the portion of the time bar after the current played + position.
            +
            +
          • +
          + + + +
            +
          • +

            setAdMarkerColor

            +
            public void setAdMarkerColor​(int adMarkerColor)
            +
            Sets the color for unplayed ad markers.
            +
            +
            Parameters:
            +
            adMarkerColor - The color for unplayed ad markers.
            +
            +
          • +
          + + + +
            +
          • +

            setPlayedAdMarkerColor

            +
            public void setPlayedAdMarkerColor​(int playedAdMarkerColor)
            +
            Sets the color for played ad markers.
            +
            +
            Parameters:
            +
            playedAdMarkerColor - The color for played ad markers.
            +
            +
          • +
          + + + +
            +
          • +

            addListener

            +
            public void addListener​(TimeBar.OnScrubListener listener)
            +
            Description copied from interface: TimeBar
            +
            Adds a listener for scrubbing events.
            +
            +
            Specified by:
            +
            addListener in interface TimeBar
            +
            Parameters:
            +
            listener - The listener to add.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            public void removeListener​(TimeBar.OnScrubListener listener)
            +
            Description copied from interface: TimeBar
            +
            Removes a listener for scrubbing events.
            +
            +
            Specified by:
            +
            removeListener in interface TimeBar
            +
            Parameters:
            +
            listener - The listener to remove.
            +
            +
          • +
          + + + +
            +
          • +

            setKeyTimeIncrement

            +
            public void setKeyTimeIncrement​(long time)
            +
            Description copied from interface: TimeBar
            +
            Sets the position increment for key presses and accessibility actions, in milliseconds. +

            + Clears any increment specified in a preceding call to TimeBar.setKeyCountIncrement(int).

            +
            +
            Specified by:
            +
            setKeyTimeIncrement in interface TimeBar
            +
            Parameters:
            +
            time - The time increment, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setKeyCountIncrement

            +
            public void setKeyCountIncrement​(int count)
            +
            Description copied from interface: TimeBar
            +
            Sets the position increment for key presses and accessibility actions, as a number of + increments that divide the duration of the media. For example, passing 20 will cause key + presses to increment/decrement the position by 1/20th of the duration (if known). +

            + Clears any increment specified in a preceding call to TimeBar.setKeyTimeIncrement(long).

            +
            +
            Specified by:
            +
            setKeyCountIncrement in interface TimeBar
            +
            Parameters:
            +
            count - The number of increments that divide the duration of the media.
            +
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public void setPosition​(long position)
            +
            Description copied from interface: TimeBar
            +
            Sets the current position.
            +
            +
            Specified by:
            +
            setPosition in interface TimeBar
            +
            Parameters:
            +
            position - The current position to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setBufferedPosition

            +
            public void setBufferedPosition​(long bufferedPosition)
            +
            Description copied from interface: TimeBar
            +
            Sets the buffered position.
            +
            +
            Specified by:
            +
            setBufferedPosition in interface TimeBar
            +
            Parameters:
            +
            bufferedPosition - The current buffered position to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setDuration

            +
            public void setDuration​(long duration)
            +
            Description copied from interface: TimeBar
            +
            Sets the duration.
            +
            +
            Specified by:
            +
            setDuration in interface TimeBar
            +
            Parameters:
            +
            duration - The duration to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredUpdateDelay

            +
            public long getPreferredUpdateDelay()
            +
            Description copied from interface: TimeBar
            +
            Returns the preferred delay in milliseconds of media time after which the time bar position + should be updated.
            +
            +
            Specified by:
            +
            getPreferredUpdateDelay in interface TimeBar
            +
            Returns:
            +
            Preferred delay, in milliseconds of media time.
            +
            +
          • +
          + + + +
            +
          • +

            setAdGroupTimesMs

            +
            public void setAdGroupTimesMs​(@Nullable
            +                              long[] adGroupTimesMs,
            +                              @Nullable
            +                              boolean[] playedAdGroups,
            +                              int adGroupCount)
            +
            Description copied from interface: TimeBar
            +
            Sets the times of ad groups and whether each ad group has been played.
            +
            +
            Specified by:
            +
            setAdGroupTimesMs in interface TimeBar
            +
            Parameters:
            +
            adGroupTimesMs - An array where the first adGroupCount elements are the times of + ad groups in milliseconds. May be null if there are no ad groups.
            +
            playedAdGroups - An array where the first adGroupCount elements indicate whether + the corresponding ad groups have been played. May be null if there are no ad + groups.
            +
            adGroupCount - The number of ad groups.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onDraw

            +
            public void onDraw​(Canvas canvas)
            +
            +
            Overrides:
            +
            onDraw in class View
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onFocusChanged

            +
            protected void onFocusChanged​(boolean gainFocus,
            +                              int direction,
            +                              @Nullable
            +                              Rect previouslyFocusedRect)
            +
            +
            Overrides:
            +
            onFocusChanged in class View
            +
            +
          • +
          + + + +
            +
          • +

            drawableStateChanged

            +
            protected void drawableStateChanged()
            +
            +
            Overrides:
            +
            drawableStateChanged in class View
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onMeasure

            +
            protected void onMeasure​(int widthMeasureSpec,
            +                         int heightMeasureSpec)
            +
            +
            Overrides:
            +
            onMeasure in class View
            +
            +
          • +
          + + + +
            +
          • +

            onLayout

            +
            protected void onLayout​(boolean changed,
            +                        int left,
            +                        int top,
            +                        int right,
            +                        int bottom)
            +
            +
            Overrides:
            +
            onLayout in class View
            +
            +
          • +
          + + + +
            +
          • +

            onRtlPropertiesChanged

            +
            public void onRtlPropertiesChanged​(int layoutDirection)
            +
            +
            Overrides:
            +
            onRtlPropertiesChanged in class View
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            performAccessibilityAction

            +
            public boolean performAccessibilityAction​(int action,
            +                                          @Nullable
            +                                          Bundle args)
            +
            +
            Overrides:
            +
            performAccessibilityAction in class View
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html new file mode 100644 index 0000000000..dd0b8f930b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DefaultTrackNameProvider.html @@ -0,0 +1,316 @@ + + + + +DefaultTrackNameProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultTrackNameProvider

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.DefaultTrackNameProvider
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultTrackNameProvider

            +
            public DefaultTrackNameProvider​(Resources resources)
            +
            +
            Parameters:
            +
            resources - Resources from which to obtain strings.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationHelper.html new file mode 100644 index 0000000000..1f023f0ddd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationHelper.html @@ -0,0 +1,400 @@ + + + + +DownloadNotificationHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadNotificationHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.DownloadNotificationHelper
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DownloadNotificationHelper
        +extends Object
        +
        Helper for creating download notifications.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DownloadNotificationHelper

            +
            public DownloadNotificationHelper​(Context context,
            +                                  String channelId)
            +
            +
            Parameters:
            +
            context - A context.
            +
            channelId - The id of the notification channel to use.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildProgressNotification

            +
            public Notification buildProgressNotification​(Context context,
            +                                              @DrawableRes
            +                                              int smallIcon,
            +                                              @Nullable
            +                                              PendingIntent contentIntent,
            +                                              @Nullable
            +                                              String message,
            +                                              List<Download> downloads)
            +
            Returns a progress notification for the given downloads.
            +
            +
            Parameters:
            +
            context - A context.
            +
            smallIcon - A small icon for the notification.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            downloads - The downloads.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          + + + +
            +
          • +

            buildDownloadCompletedNotification

            +
            public Notification buildDownloadCompletedNotification​(Context context,
            +                                                       @DrawableRes
            +                                                       int smallIcon,
            +                                                       @Nullable
            +                                                       PendingIntent contentIntent,
            +                                                       @Nullable
            +                                                       String message)
            +
            Returns a notification for a completed download.
            +
            +
            Parameters:
            +
            context - A context.
            +
            smallIcon - A small icon for the notifications.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          + + + +
            +
          • +

            buildDownloadFailedNotification

            +
            public Notification buildDownloadFailedNotification​(Context context,
            +                                                    @DrawableRes
            +                                                    int smallIcon,
            +                                                    @Nullable
            +                                                    PendingIntent contentIntent,
            +                                                    @Nullable
            +                                                    String message)
            +
            Returns a notification for a failed download.
            +
            +
            Parameters:
            +
            context - A context.
            +
            smallIcon - A small icon for the notifications.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationUtil.html new file mode 100644 index 0000000000..b1e2ad650d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/DownloadNotificationUtil.html @@ -0,0 +1,375 @@ + + + + +DownloadNotificationUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DownloadNotificationUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.DownloadNotificationUtil
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildProgressNotification

            +
            public static Notification buildProgressNotification​(Context context,
            +                                                     @DrawableRes
            +                                                     int smallIcon,
            +                                                     String channelId,
            +                                                     @Nullable
            +                                                     PendingIntent contentIntent,
            +                                                     @Nullable
            +                                                     String message,
            +                                                     List<Download> downloads)
            +
            Deprecated.
            +
            Returns a progress notification for the given downloads.
            +
            +
            Parameters:
            +
            context - A context for accessing resources.
            +
            smallIcon - A small icon for the notification.
            +
            channelId - The id of the notification channel to use.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            downloads - The downloads.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          + + + +
            +
          • +

            buildDownloadCompletedNotification

            +
            public static Notification buildDownloadCompletedNotification​(Context context,
            +                                                              @DrawableRes
            +                                                              int smallIcon,
            +                                                              String channelId,
            +                                                              @Nullable
            +                                                              PendingIntent contentIntent,
            +                                                              @Nullable
            +                                                              String message)
            +
            Deprecated.
            +
            Returns a notification for a completed download.
            +
            +
            Parameters:
            +
            context - A context for accessing resources.
            +
            smallIcon - A small icon for the notifications.
            +
            channelId - The id of the notification channel to use.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          + + + +
            +
          • +

            buildDownloadFailedNotification

            +
            public static Notification buildDownloadFailedNotification​(Context context,
            +                                                           @DrawableRes
            +                                                           int smallIcon,
            +                                                           String channelId,
            +                                                           @Nullable
            +                                                           PendingIntent contentIntent,
            +                                                           @Nullable
            +                                                           String message)
            +
            Deprecated.
            +
            Returns a notification for a failed download.
            +
            +
            Parameters:
            +
            context - A context for accessing resources.
            +
            smallIcon - A small icon for the notifications.
            +
            channelId - The id of the notification channel to use.
            +
            contentIntent - An optional content intent to send when the notification is clicked.
            +
            message - An optional message to display on the notification.
            +
            Returns:
            +
            The notification.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.ProgressUpdateListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.ProgressUpdateListener.html new file mode 100644 index 0000000000..ba8e195617 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.ProgressUpdateListener.html @@ -0,0 +1,261 @@ + + + + +PlayerControlView.ProgressUpdateListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerControlView.ProgressUpdateListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerControlView
        +
        +
        +
        public static interface PlayerControlView.ProgressUpdateListener
        +
        Listener to be notified when progress has been updated.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onProgressUpdate

            +
            void onProgressUpdate​(long position,
            +                      long bufferedPosition)
            +
            Called when progress needs to be updated.
            +
            +
            Parameters:
            +
            position - The current position.
            +
            bufferedPosition - The current buffered position.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html new file mode 100644 index 0000000000..8ebb39a7a6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.VisibilityListener.html @@ -0,0 +1,258 @@ + + + + +PlayerControlView.VisibilityListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerControlView.VisibilityListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerControlView
        +
        +
        +
        public static interface PlayerControlView.VisibilityListener
        +
        Listener to be notified about changes of the visibility of the UI control.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onVisibilityChange

            +
            void onVisibilityChange​(int visibility)
            +
            Called when the visibility changes.
            +
            +
            Parameters:
            +
            visibility - The new visibility. Either View.VISIBLE or View.GONE.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.html new file mode 100644 index 0000000000..d4989654c7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerControlView.html @@ -0,0 +1,1443 @@ + + + + +PlayerControlView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerControlView

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, ViewManager, ViewParent
        +
        +
        +
        public class PlayerControlView
        +extends FrameLayout
        +
        A view for controlling Player instances. + +

        A PlayerControlView can be customized by setting attributes (or calling corresponding + methods), overriding drawables, overriding the view's layout file, or by specifying a custom view + layout file. + +

        Attributes

        + + The following attributes can be set on a PlayerControlView when used in a layout XML file: + + + +

        Overriding drawables

        + + The drawables used by PlayerControlView (with its default layout file) can be overridden by + drawables with the same names defined in your application. The drawables that can be overridden + are: + +
          +
        • exo_controls_play - The play icon. +
        • exo_controls_pause - The pause icon. +
        • exo_controls_rewind - The rewind icon. +
        • exo_controls_fastforward - The fast forward icon. +
        • exo_controls_previous - The previous icon. +
        • exo_controls_next - The next icon. +
        • exo_controls_repeat_off - The repeat icon for Player.REPEAT_MODE_OFF. +
        • exo_controls_repeat_one - The repeat icon for Player.REPEAT_MODE_ONE. +
        • exo_controls_repeat_all - The repeat icon for Player.REPEAT_MODE_ALL. +
        • exo_controls_shuffle_off - The shuffle icon when shuffling is disabled. +
        • exo_controls_shuffle_on - The shuffle icon when shuffling is enabled. +
        • exo_controls_vr - The VR icon. +
        + +

        Overriding the layout file

        + + To customize the layout of PlayerControlView throughout your app, or just for certain + configurations, you can define exo_player_control_view.xml layout files in your + application res/layout* directories. These layouts will override the one provided by the + ExoPlayer library, and will be inflated for use by PlayerControlView. The view identifies and + binds its children by looking for the following ids: + +
          +
        • exo_play - The play button. + +
        • exo_pause - The pause button. + +
        • exo_rew - The rewind button. + +
        • exo_ffwd - The fast forward button. + +
        • exo_prev - The previous button. + +
        • exo_next - The next button. + +
        • exo_repeat_toggle - The repeat toggle button. +
            +
          • Type: ImageView +
          • Note: PlayerControlView will programmatically set the drawable on the repeat toggle + button according to the player's current repeat mode. The drawables used are + exo_controls_repeat_off, exo_controls_repeat_one and + exo_controls_repeat_all. See the section above for information on overriding these + drawables. +
          +
        • exo_shuffle - The shuffle button. +
            +
          • Type: ImageView +
          • Note: PlayerControlView will programmatically set the drawable on the shuffle button + according to the player's current repeat mode. The drawables used are + exo_controls_shuffle_off and exo_controls_shuffle_on. See the section above + for information on overriding these drawables. +
          +
        • exo_vr - The VR mode button. + +
        • exo_position - Text view displaying the current playback position. + +
        • exo_duration - Text view displaying the current media duration. + +
        • exo_progress_placeholder - A placeholder that's replaced with the inflated + DefaultTimeBar. Ignored if an exo_progress view exists. + +
        • exo_progress - Time bar that's updated during playback and allows seeking. + DefaultTimeBar attributes set on the PlayerControlView will not be automatically + propagated through to this instance. If a view exists with this id, any + exo_progress_placeholder view will be ignored. + +
        + +

        All child views are optional and so can be omitted if not required, however where defined they + must be of the expected type. + +

        Specifying a custom layout file

        + + Defining your own exo_player_control_view.xml is useful to customize the layout of + PlayerControlView throughout your application. It's also possible to customize the layout for a + single instance in a layout file. This is achieved by setting the controller_layout_id + attribute on a PlayerControlView. This will cause the specified layout to be inflated instead of + exo_player_control_view.xml for only the instance on which the attribute is set.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_SHOW_TIMEOUT_MS

            +
            public static final int DEFAULT_SHOW_TIMEOUT_MS
            +
            The default show timeout, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS

            +
            public static final int DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS
            +
            The default minimum interval between time bar position updates.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR

            +
            public static final int MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR
            +
            The maximum number of windows that can be shown in a multi-window time bar.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerControlView

            +
            public PlayerControlView​(Context context)
            +
          • +
          + + + +
            +
          • +

            PlayerControlView

            +
            public PlayerControlView​(Context context,
            +                         @Nullable
            +                         AttributeSet attrs)
            +
          • +
          + + + +
            +
          • +

            PlayerControlView

            +
            public PlayerControlView​(Context context,
            +                         @Nullable
            +                         AttributeSet attrs,
            +                         int defStyleAttr)
            +
          • +
          + + + +
            +
          • +

            PlayerControlView

            +
            public PlayerControlView​(Context context,
            +                         @Nullable
            +                         AttributeSet attrs,
            +                         int defStyleAttr,
            +                         @Nullable
            +                         AttributeSet playbackAttrs)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getPlayer

            +
            @Nullable
            +public Player getPlayer()
            +
            Returns the Player currently being controlled by this view, or null if no player is + set.
            +
          • +
          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Sets the Player to control.
            +
            +
            Parameters:
            +
            player - The Player to control, or null to detach the current player. Only + players which are accessed on the main thread are supported ( + player.getApplicationLooper() == Looper.getMainLooper()).
            +
            +
          • +
          + + + +
            +
          • +

            setShowMultiWindowTimeBar

            +
            public void setShowMultiWindowTimeBar​(boolean showMultiWindowTimeBar)
            +
            Sets whether the time bar should show all windows, as opposed to just the current one. If the + timeline has a period with unknown duration or more than MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR windows the time bar will fall back to showing a single + window.
            +
            +
            Parameters:
            +
            showMultiWindowTimeBar - Whether the time bar should show all windows.
            +
            +
          • +
          + + + +
            +
          • +

            setExtraAdGroupMarkers

            +
            public void setExtraAdGroupMarkers​(@Nullable
            +                                   long[] extraAdGroupTimesMs,
            +                                   @Nullable
            +                                   boolean[] extraPlayedAdGroups)
            +
            Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not. The + markers are shown in addition to any ad markers for ads in the player's timeline.
            +
            +
            Parameters:
            +
            extraAdGroupTimesMs - The millisecond timestamps of the extra ad markers to show, or + null to show no extra ad markers.
            +
            extraPlayedAdGroups - Whether each ad has been played. Must be the same length as + extraAdGroupTimesMs, or null if extraAdGroupTimesMs is null.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setShowRewindButton

            +
            public void setShowRewindButton​(boolean showRewindButton)
            +
            Sets whether the rewind button is shown.
            +
            +
            Parameters:
            +
            showRewindButton - Whether the rewind button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowFastForwardButton

            +
            public void setShowFastForwardButton​(boolean showFastForwardButton)
            +
            Sets whether the fast forward button is shown.
            +
            +
            Parameters:
            +
            showFastForwardButton - Whether the fast forward button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowPreviousButton

            +
            public void setShowPreviousButton​(boolean showPreviousButton)
            +
            Sets whether the previous button is shown.
            +
            +
            Parameters:
            +
            showPreviousButton - Whether the previous button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowNextButton

            +
            public void setShowNextButton​(boolean showNextButton)
            +
            Sets whether the next button is shown.
            +
            +
            Parameters:
            +
            showNextButton - Whether the next button is shown.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getShowTimeoutMs

            +
            public int getShowTimeoutMs()
            +
            Returns the playback controls timeout. The playback controls are automatically hidden after + this duration of time has elapsed without user input.
            +
            +
            Returns:
            +
            The duration in milliseconds. A non-positive value indicates that the controls will + remain visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            setShowTimeoutMs

            +
            public void setShowTimeoutMs​(int showTimeoutMs)
            +
            Sets the playback controls timeout. The playback controls are automatically hidden after this + duration of time has elapsed without user input.
            +
            +
            Parameters:
            +
            showTimeoutMs - The duration in milliseconds. A non-positive value will cause the controls + to remain visible indefinitely.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getShowShuffleButton

            +
            public boolean getShowShuffleButton()
            +
            Returns whether the shuffle button is shown.
            +
          • +
          + + + +
            +
          • +

            setShowShuffleButton

            +
            public void setShowShuffleButton​(boolean showShuffleButton)
            +
            Sets whether the shuffle button is shown.
            +
            +
            Parameters:
            +
            showShuffleButton - Whether the shuffle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            getShowVrButton

            +
            public boolean getShowVrButton()
            +
            Returns whether the VR button is shown.
            +
          • +
          + + + +
            +
          • +

            setShowVrButton

            +
            public void setShowVrButton​(boolean showVrButton)
            +
            Sets whether the VR button is shown.
            +
            +
            Parameters:
            +
            showVrButton - Whether the VR button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setVrButtonListener

            +
            public void setVrButtonListener​(@Nullable
            +                                View.OnClickListener onClickListener)
            +
            Sets listener for the VR button.
            +
            +
            Parameters:
            +
            onClickListener - Listener for the VR button, or null to clear the listener.
            +
            +
          • +
          + + + +
            +
          • +

            setTimeBarMinUpdateInterval

            +
            public void setTimeBarMinUpdateInterval​(int minUpdateIntervalMs)
            +
            Sets the minimum interval between time bar position updates. + +

            Note that smaller intervals, e.g. 33ms, will result in a smooth movement but will use more + CPU resources while the time bar is visible, whereas larger intervals, e.g. 200ms, will result + in a step-wise update with less CPU usage.

            +
            +
            Parameters:
            +
            minUpdateIntervalMs - The minimum interval between time bar position updates, in + milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            show

            +
            public void show()
            +
            Shows the playback controls. If getShowTimeoutMs() is positive then the controls will + be automatically hidden after this duration of time has elapsed without user input.
            +
          • +
          + + + +
            +
          • +

            hide

            +
            public void hide()
            +
            Hides the controller.
            +
          • +
          + + + +
            +
          • +

            isVisible

            +
            public boolean isVisible()
            +
            Returns whether the controller is currently visible.
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            dispatchMediaKeyEvent

            +
            public boolean dispatchMediaKeyEvent​(KeyEvent event)
            +
            Called to process media key events. Any KeyEvent can be passed but only media key + events will be handled.
            +
            +
            Parameters:
            +
            event - A key event.
            +
            Returns:
            +
            Whether the key event was handled.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.BitmapCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.BitmapCallback.html new file mode 100644 index 0000000000..ab25687622 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.BitmapCallback.html @@ -0,0 +1,274 @@ + + + + +PlayerNotificationManager.BitmapCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerNotificationManager.BitmapCallback

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.PlayerNotificationManager.BitmapCallback
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onBitmap

            +
            public void onBitmap​(Bitmap bitmap)
            +
            Called when Bitmap is available.
            +
            +
            Parameters:
            +
            bitmap - The bitmap to use as the large icon of the notification.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.CustomActionReceiver.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.CustomActionReceiver.html new file mode 100644 index 0000000000..d4148749ae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.CustomActionReceiver.html @@ -0,0 +1,320 @@ + + + + +PlayerNotificationManager.CustomActionReceiver (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerNotificationManager.CustomActionReceiver

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerNotificationManager
        +
        +
        +
        public static interface PlayerNotificationManager.CustomActionReceiver
        +
        Defines and handles custom actions.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.MediaDescriptionAdapter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.MediaDescriptionAdapter.html new file mode 100644 index 0000000000..3998d4d1ae --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.MediaDescriptionAdapter.html @@ -0,0 +1,364 @@ + + + + +PlayerNotificationManager.MediaDescriptionAdapter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerNotificationManager.MediaDescriptionAdapter

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerNotificationManager
        +
        +
        +
        public static interface PlayerNotificationManager.MediaDescriptionAdapter
        +
        An adapter to provide content assets of the media currently playing.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getCurrentContentTitle

            +
            CharSequence getCurrentContentTitle​(Player player)
            +
            Gets the content title for the current media item. + +

            See NotificationCompat.Builder.setContentTitle(CharSequence).

            +
            +
            Parameters:
            +
            player - The Player for which a notification is being built.
            +
            +
          • +
          + + + +
            +
          • +

            createCurrentContentIntent

            +
            @Nullable
            +PendingIntent createCurrentContentIntent​(Player player)
            +
            Creates a content intent for the current media item. + +

            See NotificationCompat.Builder.setContentIntent(PendingIntent).

            +
            +
            Parameters:
            +
            player - The Player for which a notification is being built.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentContentText

            +
            @Nullable
            +CharSequence getCurrentContentText​(Player player)
            +
            Gets the content text for the current media item. + +

            See NotificationCompat.Builder.setContentText(CharSequence).

            +
            +
            Parameters:
            +
            player - The Player for which a notification is being built.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentSubText

            +
            @Nullable
            +default CharSequence getCurrentSubText​(Player player)
            +
            Gets the content sub text for the current media item. + +

            See NotificationCompat.Builder.setSubText(CharSequence).

            +
            +
            Parameters:
            +
            player - The Player for which a notification is being built.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentLargeIcon

            +
            @Nullable
            +Bitmap getCurrentLargeIcon​(Player player,
            +                           PlayerNotificationManager.BitmapCallback callback)
            +
            Gets the large icon for the current media item. + +

            When a bitmap needs to be loaded asynchronously, a placeholder bitmap (or null) should be + returned. The actual bitmap should be passed to the PlayerNotificationManager.BitmapCallback once it has been + loaded. Because the adapter may be called multiple times for the same media item, bitmaps + should be cached by the app and returned synchronously when possible. + +

            See NotificationCompat.Builder.setLargeIcon(Bitmap).

            +
            +
            Parameters:
            +
            player - The Player for which a notification is being built.
            +
            callback - A PlayerNotificationManager.BitmapCallback to provide a Bitmap asynchronously.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.NotificationListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.NotificationListener.html new file mode 100644 index 0000000000..e78fcba0a7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.NotificationListener.html @@ -0,0 +1,349 @@ + + + + +PlayerNotificationManager.NotificationListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface PlayerNotificationManager.NotificationListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        PlayerNotificationManager
        +
        +
        +
        public static interface PlayerNotificationManager.NotificationListener
        +
        A listener for changes to the notification.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            onNotificationCancelled

            +
            @Deprecated
            +default void onNotificationCancelled​(int notificationId)
            + +
            Called after the notification has been cancelled.
            +
            +
            Parameters:
            +
            notificationId - The id of the notification which has been cancelled.
            +
            +
          • +
          + + + +
            +
          • +

            onNotificationCancelled

            +
            default void onNotificationCancelled​(int notificationId,
            +                                     boolean dismissedByUser)
            +
            Called after the notification has been cancelled.
            +
            +
            Parameters:
            +
            notificationId - The id of the notification which has been cancelled.
            +
            dismissedByUser - true if the notification is cancelled because the user + dismissed the notification.
            +
            +
          • +
          + + + +
            +
          • +

            onNotificationPosted

            +
            default void onNotificationPosted​(int notificationId,
            +                                  Notification notification,
            +                                  boolean ongoing)
            +
            Called each time after the notification has been posted. + +

            For a service, the ongoing flag can be used as an indicator as to whether it + should be in the foreground.

            +
            +
            Parameters:
            +
            notificationId - The id of the notification which has been posted.
            +
            notification - The Notification.
            +
            ongoing - Whether the notification is ongoing.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Priority.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Priority.html new file mode 100644 index 0000000000..4852430263 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Priority.html @@ -0,0 +1,189 @@ + + + + +PlayerNotificationManager.Priority (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type PlayerNotificationManager.Priority

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface PlayerNotificationManager.Priority
        +
        Priority of the notification (required for API 25 and lower). One of NotificationCompat.PRIORITY_DEFAULT, NotificationCompat.PRIORITY_MAX, NotificationCompat.PRIORITY_HIGH, NotificationCompat.PRIORITY_LOWor NotificationCompat.PRIORITY_MIN.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Visibility.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Visibility.html new file mode 100644 index 0000000000..214544467f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.Visibility.html @@ -0,0 +1,189 @@ + + + + +PlayerNotificationManager.Visibility (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type PlayerNotificationManager.Visibility

      +
      +
      +
      +
        +
      • +
        +
        @Documented
        +@Retention(SOURCE)
        +public static @interface PlayerNotificationManager.Visibility
        +
        Visibility of notification on the lock screen. One of NotificationCompat.VISIBILITY_PRIVATE, NotificationCompat.VISIBILITY_PUBLIC or NotificationCompat.VISIBILITY_SECRET.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.html new file mode 100644 index 0000000000..14b036fcdc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerNotificationManager.html @@ -0,0 +1,1605 @@ + + + + +PlayerNotificationManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerNotificationManager

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.PlayerNotificationManager
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class PlayerNotificationManager
        +extends Object
        +
        Starts, updates and cancels a media style notification reflecting the player state. The actions + included in the notification can be customized along with their drawables, as described below. + +

        The notification is cancelled when null is passed to setPlayer(Player) or + when the notification is dismissed by the user. + +

        If the player is released it must be removed from the manager by calling + setPlayer(null). + +

        Action customization

        + + Playback actions can be included or omitted as follows: + + + +

        Overriding drawables

        + + The drawables used by PlayerNotificationManager can be overridden by drawables with the same + names defined in your application. The drawables that can be overridden are: + +
          +
        • exo_notification_small_icon - The icon passed by default to NotificationCompat.Builder.setSmallIcon(int). A different icon can also be specified + programmatically by calling setSmallIcon(int). +
        • exo_notification_play - The play icon. +
        • exo_notification_pause - The pause icon. +
        • exo_notification_rewind - The rewind icon. +
        • exo_notification_fastforward - The fast forward icon. +
        • exo_notification_previous - The previous icon. +
        • exo_notification_next - The next icon. +
        • exo_notification_stop - The stop icon. +
        + + Unlike the drawables above, the large icon (i.e. the icon passed to NotificationCompat.Builder.setLargeIcon(Bitmap) cannot be overridden in this way. Instead, the + large icon is obtained from the PlayerNotificationManager.MediaDescriptionAdapter injected when creating the + PlayerNotificationManager.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html new file mode 100644 index 0000000000..06181adae1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.ShowBuffering.html @@ -0,0 +1,189 @@ + + + + +PlayerView.ShowBuffering (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type PlayerView.ShowBuffering

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.html new file mode 100644 index 0000000000..c2e2a13b5a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/PlayerView.html @@ -0,0 +1,1935 @@ + + + + +PlayerView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PlayerView

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, ViewManager, ViewParent, AdsLoader.AdViewProvider
        +
        +
        +
        public class PlayerView
        +extends FrameLayout
        +implements AdsLoader.AdViewProvider
        +
        A high level view for Player media playbacks. It displays video, subtitles and album art + during playback, and displays playback controls using a PlayerControlView. + +

        A PlayerView can be customized by setting attributes (or calling corresponding methods), + overriding drawables, overriding the view's layout file, or by specifying a custom view layout + file. + +

        Attributes

        + + The following attributes can be set on a PlayerView when used in a layout XML file: + +
          +
        • use_artwork - Whether artwork is used if available in audio streams. + +
        • default_artwork - Default artwork to use if no artwork available in audio + streams. + +
        • use_controller - Whether the playback controls can be shown. + +
        • hide_on_touch - Whether the playback controls are hidden by touch events. + +
        • auto_show - Whether the playback controls are automatically shown when + playback starts, pauses, ends, or fails. If set to false, the playback controls can be + manually operated with showController() and hideController(). + +
        • hide_during_ads - Whether the playback controls are hidden during ads. + Controls are always shown during ads if they are enabled and the player is paused. + +
        • show_buffering - Whether the buffering spinner is displayed when the player + is buffering. Valid values are never, when_playing and always. + +
        • resize_mode - Controls how video and album art is resized within the view. + Valid values are fit, fixed_width, fixed_height, fill and + zoom. + +
        • surface_type - The type of surface view used for video playbacks. Valid + values are surface_view, texture_view, spherical_gl_surface_view, + video_decoder_gl_surface_view and none. Using none is recommended + for audio only applications, since creating the surface can be expensive. Using + surface_view is recommended for video applications. Note, TextureView can only be used in + a hardware accelerated window. When rendered in software, TextureView will draw nothing. +
            +
          • Corresponding method: None +
          • Default: surface_view +
          +
        • use_sensor_rotation - Whether to use the orientation sensor for rotation + during spherical playbacks (if available). + +
        • shutter_background_color - The background color of the exo_shutter + view. + +
        • keep_content_on_player_reset - Whether the currently displayed video frame + or media artwork is kept visible when the player is reset. + +
        • player_layout_id - Specifies the id of the layout to be inflated. See below + for more details. +
            +
          • Corresponding method: None +
          • Default: R.layout.exo_player_view +
          +
        • controller_layout_id - Specifies the id of the layout resource to be + inflated by the child PlayerControlView. See below for more details. +
            +
          • Corresponding method: None +
          • Default: R.layout.exo_player_control_view +
          +
        • All attributes that can be set on PlayerControlView and DefaultTimeBar can + also be set on a PlayerView, and will be propagated to the inflated PlayerControlView unless the layout is overridden to specify a custom + exo_controller (see below). +
        + +

        Overriding drawables

        + + The drawables used by PlayerControlView (with its default layout file) can be overridden + by drawables with the same names defined in your application. See the PlayerControlView + documentation for a list of drawables that can be overridden. + +

        Overriding the layout file

        + + To customize the layout of PlayerView throughout your app, or just for certain configurations, + you can define exo_player_view.xml layout files in your application res/layout* + directories. These layouts will override the one provided by the ExoPlayer library, and will be + inflated for use by PlayerView. The view identifies and binds its children by looking for the + following ids: + +
          +
        • exo_content_frame - A frame whose aspect ratio is resized based on the video + or album art of the media being played, and the configured resize_mode. The video + surface view is inflated into this frame as its first child. + +
        • exo_shutter - A view that's made visible when video should be hidden. This + view is typically an opaque view that covers the video surface, thereby obscuring it when + visible. Obscuring the surface in this way also helps to prevent flicker at the start of + playback when surface_type="surface_view". + +
        • exo_buffering - A view that's made visible when the player is buffering. + This view typically displays a buffering spinner or animation. + +
        • exo_subtitles - Displays subtitles. + +
        • exo_artwork - Displays album art. + +
        • exo_error_message - Displays an error message to the user if playback fails. + +
        • exo_controller_placeholder - A placeholder that's replaced with the inflated + PlayerControlView. Ignored if an exo_controller view exists. + +
        • exo_controller - An already inflated PlayerControlView. Allows use + of a custom extension of PlayerControlView. PlayerControlView and DefaultTimeBar attributes set on the PlayerView will not be automatically propagated + through to this instance. If a view exists with this id, any + exo_controller_placeholder view will be ignored. + +
        • exo_ad_overlay - A FrameLayout positioned on top of the player which + is used to show ad UI (if applicable). + +
        • exo_overlay - A FrameLayout positioned on top of the player which + the app can access via getOverlayFrameLayout(), provided for convenience. + +
        + +

        All child views are optional and so can be omitted if not required, however where defined they + must be of the expected type. + +

        Specifying a custom layout file

        + + Defining your own exo_player_view.xml is useful to customize the layout of PlayerView + throughout your application. It's also possible to customize the layout for a single instance in + a layout file. This is achieved by setting the player_layout_id attribute on a + PlayerView. This will cause the specified layout to be inflated instead of + exo_player_view.xml for only the instance on which the attribute is set.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SHOW_BUFFERING_NEVER

            +
            public static final int SHOW_BUFFERING_NEVER
            +
            The buffering view is never shown.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SHOW_BUFFERING_WHEN_PLAYING

            +
            public static final int SHOW_BUFFERING_WHEN_PLAYING
            +
            The buffering view is shown when the player is in the buffering + state and playWhenReady is true.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SHOW_BUFFERING_ALWAYS

            +
            public static final int SHOW_BUFFERING_ALWAYS
            +
            The buffering view is always shown when the player is in the buffering state.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PlayerView

            +
            public PlayerView​(Context context)
            +
          • +
          + + + + + + + +
            +
          • +

            PlayerView

            +
            public PlayerView​(Context context,
            +                  @Nullable
            +                  AttributeSet attrs,
            +                  int defStyleAttr)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            switchTargetView

            +
            public static void switchTargetView​(Player player,
            +                                    @Nullable
            +                                    PlayerView oldPlayerView,
            +                                    @Nullable
            +                                    PlayerView newPlayerView)
            +
            Switches the view targeted by a given Player.
            +
            +
            Parameters:
            +
            player - The player whose target view is being switched.
            +
            oldPlayerView - The old view to detach from the player.
            +
            newPlayerView - The new view to attach to the player.
            +
            +
          • +
          + + + +
            +
          • +

            getPlayer

            +
            @Nullable
            +public Player getPlayer()
            +
            Returns the player currently set on this view, or null if no player is set.
            +
          • +
          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Set the Player to use. + +

            To transition a Player from targeting one view to another, it's recommended to use + switchTargetView(Player, PlayerView, PlayerView) rather than this method. If you do + wish to use this method directly, be sure to attach the player to the new view before + calling setPlayer(null) to detach it from the old one. This ordering is significantly + more efficient and may allow for more seamless transitions.

            +
            +
            Parameters:
            +
            player - The Player to use, or null to detach the current player. Only + players which are accessed on the main thread are supported ( + player.getApplicationLooper() == Looper.getMainLooper()).
            +
            +
          • +
          + + + +
            +
          • +

            setVisibility

            +
            public void setVisibility​(int visibility)
            +
            +
            Overrides:
            +
            setVisibility in class View
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getUseArtwork

            +
            public boolean getUseArtwork()
            +
            Returns whether artwork is displayed if present in the media.
            +
          • +
          + + + +
            +
          • +

            setUseArtwork

            +
            public void setUseArtwork​(boolean useArtwork)
            +
            Sets whether artwork is displayed if present in the media.
            +
            +
            Parameters:
            +
            useArtwork - Whether artwork is displayed.
            +
            +
          • +
          + + + +
            +
          • +

            getDefaultArtwork

            +
            @Nullable
            +public Drawable getDefaultArtwork()
            +
            Returns the default artwork to display.
            +
          • +
          + + + +
            +
          • +

            setDefaultArtwork

            +
            public void setDefaultArtwork​(@Nullable
            +                              Drawable defaultArtwork)
            +
            Sets the default artwork to display if useArtwork is true and no artwork is + present in the media.
            +
            +
            Parameters:
            +
            defaultArtwork - the default artwork to display
            +
            +
          • +
          + + + +
            +
          • +

            getUseController

            +
            public boolean getUseController()
            +
            Returns whether the playback controls can be shown.
            +
          • +
          + + + +
            +
          • +

            setUseController

            +
            public void setUseController​(boolean useController)
            +
            Sets whether the playback controls can be shown. If set to false the playback controls + are never visible and are disconnected from the player.
            +
            +
            Parameters:
            +
            useController - Whether the playback controls can be shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShutterBackgroundColor

            +
            public void setShutterBackgroundColor​(int color)
            +
            Sets the background color of the exo_shutter view.
            +
            +
            Parameters:
            +
            color - The background color.
            +
            +
          • +
          + + + +
            +
          • +

            setKeepContentOnPlayerReset

            +
            public void setKeepContentOnPlayerReset​(boolean keepContentOnPlayerReset)
            +
            Sets whether the currently displayed video frame or media artwork is kept visible when the + player is reset. A player reset is defined to mean the player being re-prepared with different + media, the player transitioning to unprepared media or an empty list of media items, or the + player being replaced or cleared by calling setPlayer(Player). + +

            If enabled, the currently displayed video frame or media artwork will be kept visible until + the player set on the view has been successfully prepared with new media and loaded enough of + it to have determined the available tracks. Hence enabling this option allows transitioning + from playing one piece of media to another, or from using one player instance to another, + without clearing the view's content. + +

            If disabled, the currently displayed video frame or media artwork will be hidden as soon as + the player is reset. Note that the video frame is hidden by making exo_shutter visible. + Hence the video frame will not be hidden if using a custom layout that omits this view.

            +
            +
            Parameters:
            +
            keepContentOnPlayerReset - Whether the currently displayed video frame or media artwork is + kept visible when the player is reset.
            +
            +
          • +
          + + + +
            +
          • +

            setUseSensorRotation

            +
            public void setUseSensorRotation​(boolean useSensorRotation)
            +
            Sets whether to use the orientation sensor for rotation during spherical playbacks (if + available)
            +
            +
            Parameters:
            +
            useSensorRotation - Whether to use the orientation sensor for rotation during spherical + playbacks.
            +
            +
          • +
          + + + +
            +
          • +

            setShowBuffering

            +
            public void setShowBuffering​(@ShowBuffering
            +                             int showBuffering)
            +
            Sets whether a buffering spinner is displayed when the player is in the buffering state. The + buffering spinner is not displayed by default.
            +
            +
            Parameters:
            +
            showBuffering - The mode that defines when the buffering spinner is displayed. One of + SHOW_BUFFERING_NEVER, SHOW_BUFFERING_WHEN_PLAYING and SHOW_BUFFERING_ALWAYS.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setCustomErrorMessage

            +
            public void setCustomErrorMessage​(@Nullable
            +                                  CharSequence message)
            +
            Sets a custom error message to be displayed by the view. The error message will be displayed + permanently, unless it is cleared by passing null to this method.
            +
            +
            Parameters:
            +
            message - The message to display, or null to clear a previously set message.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            dispatchMediaKeyEvent

            +
            public boolean dispatchMediaKeyEvent​(KeyEvent event)
            +
            Called to process media key events. Any KeyEvent can be passed but only media key + events will be handled. Does nothing if playback controls are disabled.
            +
            +
            Parameters:
            +
            event - A key event.
            +
            Returns:
            +
            Whether the key event was handled.
            +
            +
          • +
          + + + +
            +
          • +

            isControllerVisible

            +
            public boolean isControllerVisible()
            +
            Returns whether the controller is currently visible.
            +
          • +
          + + + +
            +
          • +

            showController

            +
            public void showController()
            +
            Shows the playback controls. Does nothing if playback controls are disabled. + +

            The playback controls are automatically hidden during playback after {getControllerShowTimeoutMs()}. They are shown indefinitely when playback has not started yet, + is paused, has ended or failed.

            +
          • +
          + + + +
            +
          • +

            hideController

            +
            public void hideController()
            +
            Hides the playback controls. Does nothing if playback controls are disabled.
            +
          • +
          + + + +
            +
          • +

            getControllerShowTimeoutMs

            +
            public int getControllerShowTimeoutMs()
            +
            Returns the playback controls timeout. The playback controls are automatically hidden after + this duration of time has elapsed without user input and with playback or buffering in + progress.
            +
            +
            Returns:
            +
            The timeout in milliseconds. A non-positive value will cause the controller to remain + visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            setControllerShowTimeoutMs

            +
            public void setControllerShowTimeoutMs​(int controllerShowTimeoutMs)
            +
            Sets the playback controls timeout. The playback controls are automatically hidden after this + duration of time has elapsed without user input and with playback or buffering in progress.
            +
            +
            Parameters:
            +
            controllerShowTimeoutMs - The timeout in milliseconds. A non-positive value will cause the + controller to remain visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            getControllerHideOnTouch

            +
            public boolean getControllerHideOnTouch()
            +
            Returns whether the playback controls are hidden by touch events.
            +
          • +
          + + + +
            +
          • +

            setControllerHideOnTouch

            +
            public void setControllerHideOnTouch​(boolean controllerHideOnTouch)
            +
            Sets whether the playback controls are hidden by touch events.
            +
            +
            Parameters:
            +
            controllerHideOnTouch - Whether the playback controls are hidden by touch events.
            +
            +
          • +
          + + + +
            +
          • +

            getControllerAutoShow

            +
            public boolean getControllerAutoShow()
            +
            Returns whether the playback controls are automatically shown when playback starts, pauses, + ends, or fails. If set to false, the playback controls can be manually operated with showController() and hideController().
            +
          • +
          + + + +
            +
          • +

            setControllerAutoShow

            +
            public void setControllerAutoShow​(boolean controllerAutoShow)
            +
            Sets whether the playback controls are automatically shown when playback starts, pauses, ends, + or fails. If set to false, the playback controls can be manually operated with showController() and hideController().
            +
            +
            Parameters:
            +
            controllerAutoShow - Whether the playback controls are allowed to show automatically.
            +
            +
          • +
          + + + +
            +
          • +

            setControllerHideDuringAds

            +
            public void setControllerHideDuringAds​(boolean controllerHideDuringAds)
            +
            Sets whether the playback controls are hidden when ads are playing. Controls are always shown + during ads if they are enabled and the player is paused.
            +
            +
            Parameters:
            +
            controllerHideDuringAds - Whether the playback controls are hidden when ads are playing.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setShowRewindButton

            +
            public void setShowRewindButton​(boolean showRewindButton)
            +
            Sets whether the rewind button is shown.
            +
            +
            Parameters:
            +
            showRewindButton - Whether the rewind button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowFastForwardButton

            +
            public void setShowFastForwardButton​(boolean showFastForwardButton)
            +
            Sets whether the fast forward button is shown.
            +
            +
            Parameters:
            +
            showFastForwardButton - Whether the fast forward button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowPreviousButton

            +
            public void setShowPreviousButton​(boolean showPreviousButton)
            +
            Sets whether the previous button is shown.
            +
            +
            Parameters:
            +
            showPreviousButton - Whether the previous button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowNextButton

            +
            public void setShowNextButton​(boolean showNextButton)
            +
            Sets whether the next button is shown.
            +
            +
            Parameters:
            +
            showNextButton - Whether the next button is shown.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setShowShuffleButton

            +
            public void setShowShuffleButton​(boolean showShuffleButton)
            +
            Sets whether the shuffle button is shown.
            +
            +
            Parameters:
            +
            showShuffleButton - Whether the shuffle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowMultiWindowTimeBar

            +
            public void setShowMultiWindowTimeBar​(boolean showMultiWindowTimeBar)
            +
            Sets whether the time bar should show all windows, as opposed to just the current one.
            +
            +
            Parameters:
            +
            showMultiWindowTimeBar - Whether to show all windows.
            +
            +
          • +
          + + + +
            +
          • +

            setExtraAdGroupMarkers

            +
            public void setExtraAdGroupMarkers​(@Nullable
            +                                   long[] extraAdGroupTimesMs,
            +                                   @Nullable
            +                                   boolean[] extraPlayedAdGroups)
            +
            Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not. The + markers are shown in addition to any ad markers for ads in the player's timeline.
            +
            +
            Parameters:
            +
            extraAdGroupTimesMs - The millisecond timestamps of the extra ad markers to show, or + null to show no extra ad markers.
            +
            extraPlayedAdGroups - Whether each ad has been played, or null to show no extra ad + markers.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getOverlayFrameLayout

            +
            @Nullable
            +public FrameLayout getOverlayFrameLayout()
            +
            Gets the overlay FrameLayout, which can be populated with UI elements to show on top of + the player.
            +
            +
            Returns:
            +
            The overlay FrameLayout, or null if the layout has been customized and + the overlay is not present.
            +
            +
          • +
          + + + +
            +
          • +

            getSubtitleView

            +
            @Nullable
            +public SubtitleView getSubtitleView()
            +
            Gets the SubtitleView.
            +
            +
            Returns:
            +
            The SubtitleView, or null if the layout has been customized and the + subtitle view is not present.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            performClick

            +
            public boolean performClick()
            +
            +
            Overrides:
            +
            performClick in class View
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onResume

            +
            public void onResume()
            +
            Should be called when the player is visible to the user and if surface_type is + spherical_gl_surface_view. It is the counterpart to onPause(). + +

            This method should typically be called in Activity.onStart(), or + Activity.onResume() for API versions <= 23.

            +
          • +
          + + + +
            +
          • +

            onPause

            +
            public void onPause()
            +
            Should be called when the player is no longer visible to the user and if surface_type + is spherical_gl_surface_view. It is the counterpart to onResume(). + +

            This method should typically be called in Activity.onStop(), or + Activity.onPause() for API versions <= 23.

            +
          • +
          + + + +
            +
          • +

            onContentAspectRatioChanged

            +
            protected void onContentAspectRatioChanged​(float contentAspectRatio,
            +                                           @Nullable
            +                                           AspectRatioFrameLayout contentFrame,
            +                                           @Nullable
            +                                           View contentView)
            +
            Called when there's a change in the aspect ratio of the content being displayed. The default + implementation sets the aspect ratio of the content frame to that of the content, unless the + content view is a SphericalGLSurfaceView in which case the frame's aspect ratio is + cleared.
            +
            +
            Parameters:
            +
            contentAspectRatio - The aspect ratio of the content.
            +
            contentFrame - The content frame, or null.
            +
            contentView - The view that holds the content being displayed, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAdOverlayInfos

            +
            public List<AdsLoader.OverlayInfo> getAdOverlayInfos()
            +
            Description copied from interface: AdsLoader.AdViewProvider
            +
            Returns a list of AdsLoader.OverlayInfo instances describing views that are on top of the ad + view group, but that are essential for controlling playback and should be excluded from ad + viewability measurements by the AdsLoader (if it supports this). + +

            Each view must be either a fully transparent overlay (for capturing touch events), or a + small piece of transient UI that is essential to the user experience of playback (such as a + button to pause/resume playback or a transient full-screen or cast button). For more + information see the documentation for your ads loader.

            +
            +
            Specified by:
            +
            getAdOverlayInfos in interface AdsLoader.AdViewProvider
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.OnFullScreenModeChangedListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.OnFullScreenModeChangedListener.html new file mode 100644 index 0000000000..aeb1e35d25 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.OnFullScreenModeChangedListener.html @@ -0,0 +1,260 @@ + + + + +StyledPlayerControlView.OnFullScreenModeChangedListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface StyledPlayerControlView.OnFullScreenModeChangedListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        StyledPlayerControlView
        +
        +
        +
        public static interface StyledPlayerControlView.OnFullScreenModeChangedListener
        +
        Listener to be invoked to inform the fullscreen mode is changed. Application should handle the + fullscreen mode accordingly.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onFullScreenModeChanged

            +
            void onFullScreenModeChanged​(boolean isFullScreen)
            +
            Called to indicate a fullscreen mode change.
            +
            +
            Parameters:
            +
            isFullScreen - true if the video rendering surface should be fullscreen + false otherwise.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.ProgressUpdateListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.ProgressUpdateListener.html new file mode 100644 index 0000000000..74e2e7af0c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.ProgressUpdateListener.html @@ -0,0 +1,261 @@ + + + + +StyledPlayerControlView.ProgressUpdateListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface StyledPlayerControlView.ProgressUpdateListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        StyledPlayerControlView
        +
        +
        +
        public static interface StyledPlayerControlView.ProgressUpdateListener
        +
        Listener to be notified when progress has been updated.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onProgressUpdate

            +
            void onProgressUpdate​(long position,
            +                      long bufferedPosition)
            +
            Called when progress needs to be updated.
            +
            +
            Parameters:
            +
            position - The current position.
            +
            bufferedPosition - The current buffered position.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.VisibilityListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.VisibilityListener.html new file mode 100644 index 0000000000..9022d77cb4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.VisibilityListener.html @@ -0,0 +1,258 @@ + + + + +StyledPlayerControlView.VisibilityListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface StyledPlayerControlView.VisibilityListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        StyledPlayerControlView
        +
        +
        +
        public static interface StyledPlayerControlView.VisibilityListener
        +
        Listener to be notified about changes of the visibility of the UI control.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onVisibilityChange

            +
            void onVisibilityChange​(int visibility)
            +
            Called when the visibility changes.
            +
            +
            Parameters:
            +
            visibility - The new visibility. Either View.VISIBLE or View.GONE.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html new file mode 100644 index 0000000000..c8c487b7b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html @@ -0,0 +1,1589 @@ + + + + +StyledPlayerControlView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StyledPlayerControlView

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, ViewManager, ViewParent
        +
        +
        +
        public class StyledPlayerControlView
        +extends FrameLayout
        +
        A view for controlling Player instances. + +

        A StyledPlayerControlView can be customized by setting attributes (or calling corresponding + methods), overriding drawables, overriding the view's layout file, or by specifying a custom view + layout file. + +

        Attributes

        + + The following attributes can be set on a StyledPlayerControlView when used in a layout XML file: + + + +

        Overriding drawables

        + + The drawables used by StyledPlayerControlView (with its default layout file) can be overridden by + drawables with the same names defined in your application. The drawables that can be overridden + are: + +
          +
        • exo_styled_controls_play - The play icon. +
        • exo_styled_controls_pause - The pause icon. +
        • exo_styled_controls_rewind - The background of rewind icon. +
        • exo_styled_controls_fastforward - The background of fast forward icon. +
        • exo_styled_controls_previous - The previous icon. +
        • exo_styled_controls_next - The next icon. +
        • exo_styled_controls_repeat_off - The repeat icon for Player.REPEAT_MODE_OFF. +
        • exo_styled_controls_repeat_one - The repeat icon for Player.REPEAT_MODE_ONE. +
        • exo_styled_controls_repeat_all - The repeat icon for Player.REPEAT_MODE_ALL. +
        • exo_styled_controls_shuffle_off - The shuffle icon when shuffling is + disabled. +
        • exo_styled_controls_shuffle_on - The shuffle icon when shuffling is enabled. +
        • exo_styled_controls_vr - The VR icon. +
        + +

        Overriding the layout file

        + + To customize the layout of StyledPlayerControlView throughout your app, or just for certain + configurations, you can define exo_styled_player_control_view.xml layout files in your + application res/layout* directories. But, in this case, you need to be careful since the + default animation implementation expects certain relative positions between children. See also Specifying a custom layout file. + +

        The layout files in your res/layout* will override the one provided by the ExoPlayer + library, and will be inflated for use by StyledPlayerControlView. The view identifies and binds + its children by looking for the following ids: + +

          +
        • exo_play_pause - The play and pause button. + +
        • exo_rew - The rewind button. + +
        • exo_rew_with_amount - The rewind button with rewind amount. +
            +
          • Type: TextView +
          • Note: StyledPlayerControlView will programmatically set the text with the rewind + amount in seconds. Ignored if an exo_rew exists. Otherwise, it works as the + rewind button. +
          +
        • exo_ffwd - The fast forward button. + +
        • exo_ffwd_with_amount - The fast forward button with fast forward amount. +
            +
          • Type: TextView +
          • Note: StyledPlayerControlView will programmatically set the text with the fast + forward amount in seconds. Ignored if an exo_ffwd exists. Otherwise, it works + as the fast forward button. +
          +
        • exo_prev - The previous button. + +
        • exo_next - The next button. + +
        • exo_repeat_toggle - The repeat toggle button. +
            +
          • Type: ImageView +
          • Note: StyledPlayerControlView will programmatically set the drawable on the repeat + toggle button according to the player's current repeat mode. The drawables used are + exo_controls_repeat_off, exo_controls_repeat_one and + exo_controls_repeat_all. See the section above for information on overriding these + drawables. +
          +
        • exo_shuffle - The shuffle button. +
            +
          • Type: ImageView +
          • Note: StyledPlayerControlView will programmatically set the drawable on the shuffle + button according to the player's current repeat mode. The drawables used are + exo_controls_shuffle_off and exo_controls_shuffle_on. See the section above + for information on overriding these drawables. +
          +
        • exo_vr - The VR mode button. + +
        • exo_subtitle - The subtitle button. + +
        • exo_fullscreen - The fullscreen button. + +
        • exo_minimal_fullscreen - The fullscreen button in minimal mode. + +
        • exo_position - Text view displaying the current playback position. + +
        • exo_duration - Text view displaying the current media duration. + +
        • exo_progress_placeholder - A placeholder that's replaced with the inflated + DefaultTimeBar. Ignored if an exo_progress view exists. + +
        • exo_progress - Time bar that's updated during playback and allows seeking. + DefaultTimeBar attributes set on the StyledPlayerControlView will not be + automatically propagated through to this instance. If a view exists with this id, any + exo_progress_placeholder view will be ignored. + +
        + +

        All child views are optional and so can be omitted if not required, however where defined they + must be of the expected type. + +

        Specifying a custom layout file

        + + Defining your own exo_styled_player_control_view.xml is useful to customize the layout of + StyledPlayerControlView throughout your application. It's also possible to customize the layout + for a single instance in a layout file. This is achieved by setting the + controller_layout_id attribute on a StyledPlayerControlView. This will cause the specified + layout to be inflated instead of exo_styled_player_control_view.xml for only the instance + on which the attribute is set. + +

        You need to be careful when you set the controller_layout_id, because the default + animation implementation expects certain relative positions between children.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_SHOW_TIMEOUT_MS

            +
            public static final int DEFAULT_SHOW_TIMEOUT_MS
            +
            The default show timeout, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + + + + +
            +
          • +

            DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS

            +
            public static final int DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS
            +
            The default minimum interval between time bar position updates.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR

            +
            public static final int MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR
            +
            The maximum number of windows that can be shown in a multi-window time bar.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StyledPlayerControlView

            +
            public StyledPlayerControlView​(Context context)
            +
          • +
          + + + +
            +
          • +

            StyledPlayerControlView

            +
            public StyledPlayerControlView​(Context context,
            +                               @Nullable
            +                               AttributeSet attrs)
            +
          • +
          + + + +
            +
          • +

            StyledPlayerControlView

            +
            public StyledPlayerControlView​(Context context,
            +                               @Nullable
            +                               AttributeSet attrs,
            +                               int defStyleAttr)
            +
          • +
          + + + +
            +
          • +

            StyledPlayerControlView

            +
            public StyledPlayerControlView​(Context context,
            +                               @Nullable
            +                               AttributeSet attrs,
            +                               int defStyleAttr,
            +                               @Nullable
            +                               AttributeSet playbackAttrs)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getPlayer

            +
            @Nullable
            +public Player getPlayer()
            +
            Returns the Player currently being controlled by this view, or null if no player is + set.
            +
          • +
          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Sets the Player to control.
            +
            +
            Parameters:
            +
            player - The Player to control, or null to detach the current player. Only + players which are accessed on the main thread are supported ( + player.getApplicationLooper() == Looper.getMainLooper()).
            +
            +
          • +
          + + + +
            +
          • +

            setShowMultiWindowTimeBar

            +
            public void setShowMultiWindowTimeBar​(boolean showMultiWindowTimeBar)
            +
            Sets whether the time bar should show all windows, as opposed to just the current one. If the + timeline has a period with unknown duration or more than MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR windows the time bar will fall back to showing a single + window.
            +
            +
            Parameters:
            +
            showMultiWindowTimeBar - Whether the time bar should show all windows.
            +
            +
          • +
          + + + +
            +
          • +

            setExtraAdGroupMarkers

            +
            public void setExtraAdGroupMarkers​(@Nullable
            +                                   long[] extraAdGroupTimesMs,
            +                                   @Nullable
            +                                   boolean[] extraPlayedAdGroups)
            +
            Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not. The + markers are shown in addition to any ad markers for ads in the player's timeline.
            +
            +
            Parameters:
            +
            extraAdGroupTimesMs - The millisecond timestamps of the extra ad markers to show, or + null to show no extra ad markers.
            +
            extraPlayedAdGroups - Whether each ad has been played. Must be the same length as + extraAdGroupTimesMs, or null if extraAdGroupTimesMs is null.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setShowRewindButton

            +
            public void setShowRewindButton​(boolean showRewindButton)
            +
            Sets whether the rewind button is shown.
            +
            +
            Parameters:
            +
            showRewindButton - Whether the rewind button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowFastForwardButton

            +
            public void setShowFastForwardButton​(boolean showFastForwardButton)
            +
            Sets whether the fast forward button is shown.
            +
            +
            Parameters:
            +
            showFastForwardButton - Whether the fast forward button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowPreviousButton

            +
            public void setShowPreviousButton​(boolean showPreviousButton)
            +
            Sets whether the previous button is shown.
            +
            +
            Parameters:
            +
            showPreviousButton - Whether the previous button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowNextButton

            +
            public void setShowNextButton​(boolean showNextButton)
            +
            Sets whether the next button is shown.
            +
            +
            Parameters:
            +
            showNextButton - Whether the next button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            getShowTimeoutMs

            +
            public int getShowTimeoutMs()
            +
            Returns the playback controls timeout. The playback controls are automatically hidden after + this duration of time has elapsed without user input.
            +
            +
            Returns:
            +
            The duration in milliseconds. A non-positive value indicates that the controls will + remain visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            setShowTimeoutMs

            +
            public void setShowTimeoutMs​(int showTimeoutMs)
            +
            Sets the playback controls timeout. The playback controls are automatically hidden after this + duration of time has elapsed without user input.
            +
            +
            Parameters:
            +
            showTimeoutMs - The duration in milliseconds. A non-positive value will cause the controls + to remain visible indefinitely.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getShowShuffleButton

            +
            public boolean getShowShuffleButton()
            +
            Returns whether the shuffle button is shown.
            +
          • +
          + + + +
            +
          • +

            setShowShuffleButton

            +
            public void setShowShuffleButton​(boolean showShuffleButton)
            +
            Sets whether the shuffle button is shown.
            +
            +
            Parameters:
            +
            showShuffleButton - Whether the shuffle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            getShowSubtitleButton

            +
            public boolean getShowSubtitleButton()
            +
            Returns whether the subtitle button is shown.
            +
          • +
          + + + +
            +
          • +

            setShowSubtitleButton

            +
            public void setShowSubtitleButton​(boolean showSubtitleButton)
            +
            Sets whether the subtitle button is shown.
            +
            +
            Parameters:
            +
            showSubtitleButton - Whether the subtitle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            getShowVrButton

            +
            public boolean getShowVrButton()
            +
            Returns whether the VR button is shown.
            +
          • +
          + + + +
            +
          • +

            setShowVrButton

            +
            public void setShowVrButton​(boolean showVrButton)
            +
            Sets whether the VR button is shown.
            +
            +
            Parameters:
            +
            showVrButton - Whether the VR button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setVrButtonListener

            +
            public void setVrButtonListener​(@Nullable
            +                                View.OnClickListener onClickListener)
            +
            Sets listener for the VR button.
            +
            +
            Parameters:
            +
            onClickListener - Listener for the VR button, or null to clear the listener.
            +
            +
          • +
          + + + +
            +
          • +

            setAnimationEnabled

            +
            public void setAnimationEnabled​(boolean animationEnabled)
            +
            Sets whether an animation is used to show and hide the playback controls.
            +
            +
            Parameters:
            +
            animationEnabled - Whether an animation is applied to show and hide playback controls.
            +
            +
          • +
          + + + +
            +
          • +

            isAnimationEnabled

            +
            public boolean isAnimationEnabled()
            +
            Returns whether an animation is used to show and hide the playback controls.
            +
          • +
          + + + +
            +
          • +

            setTimeBarMinUpdateInterval

            +
            public void setTimeBarMinUpdateInterval​(int minUpdateIntervalMs)
            +
            Sets the minimum interval between time bar position updates. + +

            Note that smaller intervals, e.g. 33ms, will result in a smooth movement but will use more + CPU resources while the time bar is visible, whereas larger intervals, e.g. 200ms, will result + in a step-wise update with less CPU usage.

            +
            +
            Parameters:
            +
            minUpdateIntervalMs - The minimum interval between time bar position updates, in + milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setOnFullScreenModeChangedListener

            +
            public void setOnFullScreenModeChangedListener​(@Nullable
            +                                               StyledPlayerControlView.OnFullScreenModeChangedListener listener)
            +
            Sets a listener to be called when the fullscreen mode should be changed. A non-null listener + needs to be set in order to display the fullscreen button.
            +
            +
            Parameters:
            +
            listener - The listener to be called. A value of null removes any existing + listener and hides the fullscreen button.
            +
            +
          • +
          + + + +
            +
          • +

            show

            +
            public void show()
            +
            Shows the playback controls. If getShowTimeoutMs() is positive then the controls will + be automatically hidden after this duration of time has elapsed without user input.
            +
          • +
          + + + +
            +
          • +

            hide

            +
            public void hide()
            +
            Hides the controller.
            +
          • +
          + + + +
            +
          • +

            hideImmediately

            +
            public void hideImmediately()
            +
            Hides the controller without any animation.
            +
          • +
          + + + +
            +
          • +

            isFullyVisible

            +
            public boolean isFullyVisible()
            +
            Returns whether the controller is fully visible, which means all UI controls are visible.
            +
          • +
          + + + +
            +
          • +

            isVisible

            +
            public boolean isVisible()
            +
            Returns whether the controller is currently visible.
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            dispatchMediaKeyEvent

            +
            public boolean dispatchMediaKeyEvent​(KeyEvent event)
            +
            Called to process media key events. Any KeyEvent can be passed but only media key + events will be handled.
            +
            +
            Parameters:
            +
            event - A key event.
            +
            Returns:
            +
            Whether the key event was handled.
            +
            +
          • +
          + + + +
            +
          • +

            onLayout

            +
            protected void onLayout​(boolean changed,
            +                        int left,
            +                        int top,
            +                        int right,
            +                        int bottom)
            +
            +
            Overrides:
            +
            onLayout in class FrameLayout
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.ShowBuffering.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.ShowBuffering.html new file mode 100644 index 0000000000..98d4d96070 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.ShowBuffering.html @@ -0,0 +1,189 @@ + + + + +StyledPlayerView.ShowBuffering (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type StyledPlayerView.ShowBuffering

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.html new file mode 100644 index 0000000000..38285783dc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/StyledPlayerView.html @@ -0,0 +1,1955 @@ + + + + +StyledPlayerView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StyledPlayerView

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, ViewManager, ViewParent, AdsLoader.AdViewProvider
        +
        +
        +
        public class StyledPlayerView
        +extends FrameLayout
        +implements AdsLoader.AdViewProvider
        +
        A high level view for Player media playbacks. It displays video, subtitles and album art + during playback, and displays playback controls using a StyledPlayerControlView. + +

        A StyledPlayerView can be customized by setting attributes (or calling corresponding methods), + overriding drawables, overriding the view's layout file, or by specifying a custom view layout + file. + +

        Attributes

        + + The following attributes can be set on a StyledPlayerView when used in a layout XML file: + +
          +
        • use_artwork - Whether artwork is used if available in audio streams. + +
        • default_artwork - Default artwork to use if no artwork available in audio + streams. + +
        • use_controller - Whether the playback controls can be shown. + +
        • hide_on_touch - Whether the playback controls are hidden by touch events. + +
        • auto_show - Whether the playback controls are automatically shown when + playback starts, pauses, ends, or fails. If set to false, the playback controls can be + manually operated with showController() and hideController(). + +
        • hide_during_ads - Whether the playback controls are hidden during ads. + Controls are always shown during ads if they are enabled and the player is paused. + +
        • show_buffering - Whether the buffering spinner is displayed when the player + is buffering. Valid values are never, when_playing and always. + +
        • resize_mode - Controls how video and album art is resized within the view. + Valid values are fit, fixed_width, fixed_height, fill and + zoom. + +
        • surface_type - The type of surface view used for video playbacks. Valid + values are surface_view, texture_view, spherical_gl_surface_view, + video_decoder_gl_surface_view and none. Using none is recommended + for audio only applications, since creating the surface can be expensive. Using + surface_view is recommended for video applications. Note, TextureView can only be used in + a hardware accelerated window. When rendered in software, TextureView will draw nothing. +
            +
          • Corresponding method: None +
          • Default: surface_view +
          +
        • use_sensor_rotation - Whether to use the orientation sensor for rotation + during spherical playbacks (if available). + +
        • shutter_background_color - The background color of the exo_shutter + view. + +
        • keep_content_on_player_reset - Whether the currently displayed video frame + or media artwork is kept visible when the player is reset. + +
        • player_layout_id - Specifies the id of the layout to be inflated. See below + for more details. +
            +
          • Corresponding method: None +
          • Default: R.layout.exo_styled_player_view +
          +
        • controller_layout_id - Specifies the id of the layout resource to be + inflated by the child StyledPlayerControlView. See below for more details. +
            +
          • Corresponding method: None +
          • Default: R.layout.exo_styled_player_control_view +
          +
        • All attributes that can be set on StyledPlayerControlView and DefaultTimeBar can also be set on a StyledPlayerView, and will be propagated to the + inflated StyledPlayerControlView unless the layout is overridden to specify a + custom exo_controller (see below). +
        + +

        Overriding drawables

        + + The drawables used by StyledPlayerControlView (with its default layout file) can be + overridden by drawables with the same names defined in your application. See the StyledPlayerControlView documentation for a list of drawables that can be overridden. + +

        Overriding the layout file

        + + To customize the layout of StyledPlayerView throughout your app, or just for certain + configurations, you can define exo_styled_player_view.xml layout files in your + application res/layout* directories. These layouts will override the one provided by the + ExoPlayer library, and will be inflated for use by StyledPlayerView. The view identifies and + binds its children by looking for the following ids: + +
          +
        • exo_content_frame - A frame whose aspect ratio is resized based on the video + or album art of the media being played, and the configured resize_mode. The video + surface view is inflated into this frame as its first child. + +
        • exo_shutter - A view that's made visible when video should be hidden. This + view is typically an opaque view that covers the video surface, thereby obscuring it when + visible. Obscuring the surface in this way also helps to prevent flicker at the start of + playback when surface_type="surface_view". + +
        • exo_buffering - A view that's made visible when the player is buffering. + This view typically displays a buffering spinner or animation. + +
        • exo_subtitles - Displays subtitles. + +
        • exo_artwork - Displays album art. + +
        • exo_error_message - Displays an error message to the user if playback fails. + +
        • exo_controller_placeholder - A placeholder that's replaced with the inflated + StyledPlayerControlView. Ignored if an exo_controller view exists. + +
        • exo_controller - An already inflated StyledPlayerControlView. Allows + use of a custom extension of StyledPlayerControlView. StyledPlayerControlView and DefaultTimeBar attributes set on the StyledPlayerView + will not be automatically propagated through to this instance. If a view exists with this + id, any exo_controller_placeholder view will be ignored. + +
        • exo_ad_overlay - A FrameLayout positioned on top of the player which + is used to show ad UI (if applicable). + +
        • exo_overlay - A FrameLayout positioned on top of the player which + the app can access via getOverlayFrameLayout(), provided for convenience. + +
        + +

        All child views are optional and so can be omitted if not required, however where defined they + must be of the expected type. + +

        Specifying a custom layout file

        + + Defining your own exo_styled_player_view.xml is useful to customize the layout of + StyledPlayerView throughout your application. It's also possible to customize the layout for a + single instance in a layout file. This is achieved by setting the player_layout_id + attribute on a StyledPlayerView. This will cause the specified layout to be inflated instead of + exo_styled_player_view.xml for only the instance on which the attribute is set.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SHOW_BUFFERING_NEVER

            +
            public static final int SHOW_BUFFERING_NEVER
            +
            The buffering view is never shown.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SHOW_BUFFERING_WHEN_PLAYING

            +
            public static final int SHOW_BUFFERING_WHEN_PLAYING
            +
            The buffering view is shown when the player is in the buffering + state and playWhenReady is true.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            SHOW_BUFFERING_ALWAYS

            +
            public static final int SHOW_BUFFERING_ALWAYS
            +
            The buffering view is always shown when the player is in the buffering state.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StyledPlayerView

            +
            public StyledPlayerView​(Context context)
            +
          • +
          + + + +
            +
          • +

            StyledPlayerView

            +
            public StyledPlayerView​(Context context,
            +                        @Nullable
            +                        AttributeSet attrs)
            +
          • +
          + + + +
            +
          • +

            StyledPlayerView

            +
            public StyledPlayerView​(Context context,
            +                        @Nullable
            +                        AttributeSet attrs,
            +                        int defStyleAttr)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            switchTargetView

            +
            public static void switchTargetView​(Player player,
            +                                    @Nullable
            +                                    StyledPlayerView oldPlayerView,
            +                                    @Nullable
            +                                    StyledPlayerView newPlayerView)
            +
            Switches the view targeted by a given Player.
            +
            +
            Parameters:
            +
            player - The player whose target view is being switched.
            +
            oldPlayerView - The old view to detach from the player.
            +
            newPlayerView - The new view to attach to the player.
            +
            +
          • +
          + + + +
            +
          • +

            getPlayer

            +
            @Nullable
            +public Player getPlayer()
            +
            Returns the player currently set on this view, or null if no player is set.
            +
          • +
          + + + +
            +
          • +

            setPlayer

            +
            public void setPlayer​(@Nullable
            +                      Player player)
            +
            Set the Player to use. + +

            To transition a Player from targeting one view to another, it's recommended to use + switchTargetView(Player, StyledPlayerView, StyledPlayerView) rather than this method. + If you do wish to use this method directly, be sure to attach the player to the new view + before calling setPlayer(null) to detach it from the old one. This ordering is + significantly more efficient and may allow for more seamless transitions.

            +
            +
            Parameters:
            +
            player - The Player to use, or null to detach the current player. Only + players which are accessed on the main thread are supported ( + player.getApplicationLooper() == Looper.getMainLooper()).
            +
            +
          • +
          + + + +
            +
          • +

            setVisibility

            +
            public void setVisibility​(int visibility)
            +
            +
            Overrides:
            +
            setVisibility in class View
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getUseArtwork

            +
            public boolean getUseArtwork()
            +
            Returns whether artwork is displayed if present in the media.
            +
          • +
          + + + +
            +
          • +

            setUseArtwork

            +
            public void setUseArtwork​(boolean useArtwork)
            +
            Sets whether artwork is displayed if present in the media.
            +
            +
            Parameters:
            +
            useArtwork - Whether artwork is displayed.
            +
            +
          • +
          + + + +
            +
          • +

            getDefaultArtwork

            +
            @Nullable
            +public Drawable getDefaultArtwork()
            +
            Returns the default artwork to display.
            +
          • +
          + + + +
            +
          • +

            setDefaultArtwork

            +
            public void setDefaultArtwork​(@Nullable
            +                              Drawable defaultArtwork)
            +
            Sets the default artwork to display if useArtwork is true and no artwork is + present in the media.
            +
            +
            Parameters:
            +
            defaultArtwork - the default artwork to display
            +
            +
          • +
          + + + +
            +
          • +

            getUseController

            +
            public boolean getUseController()
            +
            Returns whether the playback controls can be shown.
            +
          • +
          + + + +
            +
          • +

            setUseController

            +
            public void setUseController​(boolean useController)
            +
            Sets whether the playback controls can be shown. If set to false the playback controls + are never visible and are disconnected from the player.
            +
            +
            Parameters:
            +
            useController - Whether the playback controls can be shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShutterBackgroundColor

            +
            public void setShutterBackgroundColor​(int color)
            +
            Sets the background color of the exo_shutter view.
            +
            +
            Parameters:
            +
            color - The background color.
            +
            +
          • +
          + + + +
            +
          • +

            setKeepContentOnPlayerReset

            +
            public void setKeepContentOnPlayerReset​(boolean keepContentOnPlayerReset)
            +
            Sets whether the currently displayed video frame or media artwork is kept visible when the + player is reset. A player reset is defined to mean the player being re-prepared with different + media, the player transitioning to unprepared media or an empty list of media items, or the + player being replaced or cleared by calling setPlayer(Player). + +

            If enabled, the currently displayed video frame or media artwork will be kept visible until + the player set on the view has been successfully prepared with new media and loaded enough of + it to have determined the available tracks. Hence enabling this option allows transitioning + from playing one piece of media to another, or from using one player instance to another, + without clearing the view's content. + +

            If disabled, the currently displayed video frame or media artwork will be hidden as soon as + the player is reset. Note that the video frame is hidden by making exo_shutter visible. + Hence the video frame will not be hidden if using a custom layout that omits this view.

            +
            +
            Parameters:
            +
            keepContentOnPlayerReset - Whether the currently displayed video frame or media artwork is + kept visible when the player is reset.
            +
            +
          • +
          + + + +
            +
          • +

            setUseSensorRotation

            +
            public void setUseSensorRotation​(boolean useSensorRotation)
            +
            Sets whether to use the orientation sensor for rotation during spherical playbacks (if + available)
            +
            +
            Parameters:
            +
            useSensorRotation - Whether to use the orientation sensor for rotation during spherical + playbacks.
            +
            +
          • +
          + + + +
            +
          • +

            setShowBuffering

            +
            public void setShowBuffering​(@ShowBuffering
            +                             int showBuffering)
            +
            Sets whether a buffering spinner is displayed when the player is in the buffering state. The + buffering spinner is not displayed by default.
            +
            +
            Parameters:
            +
            showBuffering - The mode that defines when the buffering spinner is displayed. One of + SHOW_BUFFERING_NEVER, SHOW_BUFFERING_WHEN_PLAYING and SHOW_BUFFERING_ALWAYS.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setCustomErrorMessage

            +
            public void setCustomErrorMessage​(@Nullable
            +                                  CharSequence message)
            +
            Sets a custom error message to be displayed by the view. The error message will be displayed + permanently, unless it is cleared by passing null to this method.
            +
            +
            Parameters:
            +
            message - The message to display, or null to clear a previously set message.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            dispatchMediaKeyEvent

            +
            public boolean dispatchMediaKeyEvent​(KeyEvent event)
            +
            Called to process media key events. Any KeyEvent can be passed but only media key + events will be handled. Does nothing if playback controls are disabled.
            +
            +
            Parameters:
            +
            event - A key event.
            +
            Returns:
            +
            Whether the key event was handled.
            +
            +
          • +
          + + + +
            +
          • +

            isControllerFullyVisible

            +
            public boolean isControllerFullyVisible()
            +
            Returns whether the controller is currently fully visible.
            +
          • +
          + + + +
            +
          • +

            showController

            +
            public void showController()
            +
            Shows the playback controls. Does nothing if playback controls are disabled. + +

            The playback controls are automatically hidden during playback after {getControllerShowTimeoutMs()}. They are shown indefinitely when playback has not started yet, + is paused, has ended or failed.

            +
          • +
          + + + +
            +
          • +

            hideController

            +
            public void hideController()
            +
            Hides the playback controls. Does nothing if playback controls are disabled.
            +
          • +
          + + + +
            +
          • +

            getControllerShowTimeoutMs

            +
            public int getControllerShowTimeoutMs()
            +
            Returns the playback controls timeout. The playback controls are automatically hidden after + this duration of time has elapsed without user input and with playback or buffering in + progress.
            +
            +
            Returns:
            +
            The timeout in milliseconds. A non-positive value will cause the controller to remain + visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            setControllerShowTimeoutMs

            +
            public void setControllerShowTimeoutMs​(int controllerShowTimeoutMs)
            +
            Sets the playback controls timeout. The playback controls are automatically hidden after this + duration of time has elapsed without user input and with playback or buffering in progress.
            +
            +
            Parameters:
            +
            controllerShowTimeoutMs - The timeout in milliseconds. A non-positive value will cause the + controller to remain visible indefinitely.
            +
            +
          • +
          + + + +
            +
          • +

            getControllerHideOnTouch

            +
            public boolean getControllerHideOnTouch()
            +
            Returns whether the playback controls are hidden by touch events.
            +
          • +
          + + + +
            +
          • +

            setControllerHideOnTouch

            +
            public void setControllerHideOnTouch​(boolean controllerHideOnTouch)
            +
            Sets whether the playback controls are hidden by touch events.
            +
            +
            Parameters:
            +
            controllerHideOnTouch - Whether the playback controls are hidden by touch events.
            +
            +
          • +
          + + + +
            +
          • +

            getControllerAutoShow

            +
            public boolean getControllerAutoShow()
            +
            Returns whether the playback controls are automatically shown when playback starts, pauses, + ends, or fails. If set to false, the playback controls can be manually operated with showController() and hideController().
            +
          • +
          + + + +
            +
          • +

            setControllerAutoShow

            +
            public void setControllerAutoShow​(boolean controllerAutoShow)
            +
            Sets whether the playback controls are automatically shown when playback starts, pauses, ends, + or fails. If set to false, the playback controls can be manually operated with showController() and hideController().
            +
            +
            Parameters:
            +
            controllerAutoShow - Whether the playback controls are allowed to show automatically.
            +
            +
          • +
          + + + +
            +
          • +

            setControllerHideDuringAds

            +
            public void setControllerHideDuringAds​(boolean controllerHideDuringAds)
            +
            Sets whether the playback controls are hidden when ads are playing. Controls are always shown + during ads if they are enabled and the player is paused.
            +
            +
            Parameters:
            +
            controllerHideDuringAds - Whether the playback controls are hidden when ads are playing.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            setShowRewindButton

            +
            public void setShowRewindButton​(boolean showRewindButton)
            +
            Sets whether the rewind button is shown.
            +
            +
            Parameters:
            +
            showRewindButton - Whether the rewind button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowFastForwardButton

            +
            public void setShowFastForwardButton​(boolean showFastForwardButton)
            +
            Sets whether the fast forward button is shown.
            +
            +
            Parameters:
            +
            showFastForwardButton - Whether the fast forward button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowPreviousButton

            +
            public void setShowPreviousButton​(boolean showPreviousButton)
            +
            Sets whether the previous button is shown.
            +
            +
            Parameters:
            +
            showPreviousButton - Whether the previous button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowNextButton

            +
            public void setShowNextButton​(boolean showNextButton)
            +
            Sets whether the next button is shown.
            +
            +
            Parameters:
            +
            showNextButton - Whether the next button is shown.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setShowShuffleButton

            +
            public void setShowShuffleButton​(boolean showShuffleButton)
            +
            Sets whether the shuffle button is shown.
            +
            +
            Parameters:
            +
            showShuffleButton - Whether the shuffle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowSubtitleButton

            +
            public void setShowSubtitleButton​(boolean showSubtitleButton)
            +
            Sets whether the subtitle button is shown.
            +
            +
            Parameters:
            +
            showSubtitleButton - Whether the subtitle button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowVrButton

            +
            public void setShowVrButton​(boolean showVrButton)
            +
            Sets whether the vr button is shown.
            +
            +
            Parameters:
            +
            showVrButton - Whether the vr button is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setShowMultiWindowTimeBar

            +
            public void setShowMultiWindowTimeBar​(boolean showMultiWindowTimeBar)
            +
            Sets whether the time bar should show all windows, as opposed to just the current one.
            +
            +
            Parameters:
            +
            showMultiWindowTimeBar - Whether to show all windows.
            +
            +
          • +
          + + + +
            +
          • +

            setExtraAdGroupMarkers

            +
            public void setExtraAdGroupMarkers​(@Nullable
            +                                   long[] extraAdGroupTimesMs,
            +                                   @Nullable
            +                                   boolean[] extraPlayedAdGroups)
            +
            Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not. The + markers are shown in addition to any ad markers for ads in the player's timeline.
            +
            +
            Parameters:
            +
            extraAdGroupTimesMs - The millisecond timestamps of the extra ad markers to show, or + null to show no extra ad markers.
            +
            extraPlayedAdGroups - Whether each ad has been played, or null to show no extra ad + markers.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getOverlayFrameLayout

            +
            @Nullable
            +public FrameLayout getOverlayFrameLayout()
            +
            Gets the overlay FrameLayout, which can be populated with UI elements to show on top of + the player.
            +
            +
            Returns:
            +
            The overlay FrameLayout, or null if the layout has been customized and + the overlay is not present.
            +
            +
          • +
          + + + +
            +
          • +

            getSubtitleView

            +
            @Nullable
            +public SubtitleView getSubtitleView()
            +
            Gets the SubtitleView.
            +
            +
            Returns:
            +
            The SubtitleView, or null if the layout has been customized and the + subtitle view is not present.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            performClick

            +
            public boolean performClick()
            +
            +
            Overrides:
            +
            performClick in class View
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onResume

            +
            public void onResume()
            +
            Should be called when the player is visible to the user and if surface_type is + spherical_gl_surface_view. It is the counterpart to onPause(). + +

            This method should typically be called in Activity.onStart(), or + Activity.onResume() for API versions <= 23.

            +
          • +
          + + + +
            +
          • +

            onPause

            +
            public void onPause()
            +
            Should be called when the player is no longer visible to the user and if surface_type + is spherical_gl_surface_view. It is the counterpart to onResume(). + +

            This method should typically be called in Activity.onStop(), or + Activity.onPause() for API versions <= 23.

            +
          • +
          + + + +
            +
          • +

            onContentAspectRatioChanged

            +
            protected void onContentAspectRatioChanged​(float contentAspectRatio,
            +                                           @Nullable
            +                                           AspectRatioFrameLayout contentFrame,
            +                                           @Nullable
            +                                           View contentView)
            +
            Called when there's a change in the aspect ratio of the content being displayed. The default + implementation sets the aspect ratio of the content frame to that of the content, unless the + content view is a SphericalGLSurfaceView in which case the frame's aspect ratio is + cleared.
            +
            +
            Parameters:
            +
            contentAspectRatio - The aspect ratio of the content.
            +
            contentFrame - The content frame, or null.
            +
            contentView - The view that holds the content being displayed, or null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getAdOverlayInfos

            +
            public List<AdsLoader.OverlayInfo> getAdOverlayInfos()
            +
            Description copied from interface: AdsLoader.AdViewProvider
            +
            Returns a list of AdsLoader.OverlayInfo instances describing views that are on top of the ad + view group, but that are essential for controlling playback and should be excluded from ad + viewability measurements by the AdsLoader (if it supports this). + +

            Each view must be either a fully transparent overlay (for capturing touch events), or a + small piece of transient UI that is essential to the user experience of playback (such as a + button to pause/resume playback or a transient full-screen or cast button). For more + information see the documentation for your ads loader.

            +
            +
            Specified by:
            +
            getAdOverlayInfos in interface AdsLoader.AdViewProvider
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.ViewType.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.ViewType.html new file mode 100644 index 0000000000..1a13a28f24 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.ViewType.html @@ -0,0 +1,196 @@ + + + + +SubtitleView.ViewType (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type SubtitleView.ViewType

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.html new file mode 100644 index 0000000000..d34c6fdb50 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/SubtitleView.html @@ -0,0 +1,804 @@ + + + + +SubtitleView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SubtitleView

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubtitleView

            +
            public SubtitleView​(Context context)
            +
          • +
          + + + +
            +
          • +

            SubtitleView

            +
            public SubtitleView​(Context context,
            +                    @Nullable
            +                    AttributeSet attrs)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCues

            +
            public void onCues​(List<Cue> cues)
            +
            Description copied from interface: TextOutput
            +
            Called when there is a change in the Cues.
            +
            +
            Specified by:
            +
            onCues in interface TextOutput
            +
            Parameters:
            +
            cues - The Cues. May be empty.
            +
            +
          • +
          + + + +
            +
          • +

            setCues

            +
            public void setCues​(@Nullable
            +                    List<Cue> cues)
            +
            Sets the cues to be displayed by the view.
            +
            +
            Parameters:
            +
            cues - The cues to display, or null to clear the cues.
            +
            +
          • +
          + + + +
            +
          • +

            setViewType

            +
            public void setViewType​(@ViewType
            +                        int viewType)
            +
            Set the type of View used to display subtitles. + +

            NOTE: VIEW_TYPE_WEB is currently very experimental, and doesn't support most + styling and layout properties of Cue.

            +
            +
            Parameters:
            +
            viewType - The SubtitleView.ViewType to use.
            +
            +
          • +
          + + + +
            +
          • +

            setFixedTextSize

            +
            public void setFixedTextSize​(@Dimension
            +                             int unit,
            +                             float size)
            +
            Set the text size to a given unit and value. + +

            See TypedValue for the possible dimension units.

            +
            +
            Parameters:
            +
            unit - The desired dimension unit.
            +
            size - The desired size in the given units.
            +
            +
          • +
          + + + +
            +
          • +

            setUserDefaultTextSize

            +
            public void setUserDefaultTextSize()
            +
            Sets the text size based on CaptioningManager.getFontScale() if CaptioningManager is available and enabled. + +

            Otherwise (and always before API level 19) uses a default font scale of 1.0.

            +
          • +
          + + + +
            +
          • +

            setFractionalTextSize

            +
            public void setFractionalTextSize​(float fractionOfHeight)
            +
            Sets the text size to be a fraction of the view's remaining height after its top and bottom + padding have been subtracted. +

            + Equivalent to #setFractionalTextSize(fractionOfHeight, false).

            +
            +
            Parameters:
            +
            fractionOfHeight - A fraction between 0 and 1.
            +
            +
          • +
          + + + +
            +
          • +

            setFractionalTextSize

            +
            public void setFractionalTextSize​(float fractionOfHeight,
            +                                  boolean ignorePadding)
            +
            Sets the text size to be a fraction of the height of this view.
            +
            +
            Parameters:
            +
            fractionOfHeight - A fraction between 0 and 1.
            +
            ignorePadding - Set to true if fractionOfHeight should be interpreted as a + fraction of this view's height ignoring any top and bottom padding. Set to false if + fractionOfHeight should be interpreted as a fraction of this view's remaining + height after the top and bottom padding has been subtracted.
            +
            +
          • +
          + + + +
            +
          • +

            setApplyEmbeddedStyles

            +
            public void setApplyEmbeddedStyles​(boolean applyEmbeddedStyles)
            +
            Sets whether styling embedded within the cues should be applied. Enabled by default. + Overrides any setting made with setApplyEmbeddedFontSizes(boolean).
            +
            +
            Parameters:
            +
            applyEmbeddedStyles - Whether styling embedded within the cues should be applied.
            +
            +
          • +
          + + + +
            +
          • +

            setApplyEmbeddedFontSizes

            +
            public void setApplyEmbeddedFontSizes​(boolean applyEmbeddedFontSizes)
            +
            Sets whether font sizes embedded within the cues should be applied. Enabled by default. + Only takes effect if setApplyEmbeddedStyles(boolean) is set to true.
            +
            +
            Parameters:
            +
            applyEmbeddedFontSizes - Whether font sizes embedded within the cues should be applied.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setStyle

            +
            public void setStyle​(CaptionStyleCompat style)
            +
            Sets the caption style.
            +
            +
            Parameters:
            +
            style - A style for the view.
            +
            +
          • +
          + + + +
            +
          • +

            setBottomPaddingFraction

            +
            public void setBottomPaddingFraction​(float bottomPaddingFraction)
            +
            Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET, + as a fraction of the view's remaining height after its top and bottom padding have been + subtracted. +

            + Note that this padding is applied in addition to any standard view padding.

            +
            +
            Parameters:
            +
            bottomPaddingFraction - The bottom padding fraction.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html new file mode 100644 index 0000000000..6301048d95 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.OnScrubListener.html @@ -0,0 +1,312 @@ + + + + +TimeBar.OnScrubListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TimeBar.OnScrubListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        TimeBar
        +
        +
        +
        public static interface TimeBar.OnScrubListener
        +
        Listener for scrubbing events.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonScrubMove​(TimeBar timeBar, + long position) +
          Called when the user moves the scrubber.
          +
          voidonScrubStart​(TimeBar timeBar, + long position) +
          Called when the user starts moving the scrubber.
          +
          voidonScrubStop​(TimeBar timeBar, + long position, + boolean canceled) +
          Called when the user stops moving the scrubber.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onScrubStart

            +
            void onScrubStart​(TimeBar timeBar,
            +                  long position)
            +
            Called when the user starts moving the scrubber.
            +
            +
            Parameters:
            +
            timeBar - The time bar.
            +
            position - The scrub position in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onScrubMove

            +
            void onScrubMove​(TimeBar timeBar,
            +                 long position)
            +
            Called when the user moves the scrubber.
            +
            +
            Parameters:
            +
            timeBar - The time bar.
            +
            position - The scrub position in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onScrubStop

            +
            void onScrubStop​(TimeBar timeBar,
            +                 long position,
            +                 boolean canceled)
            +
            Called when the user stops moving the scrubber.
            +
            +
            Parameters:
            +
            timeBar - The time bar.
            +
            position - The scrub position in milliseconds.
            +
            canceled - Whether scrubbing was canceled.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.html new file mode 100644 index 0000000000..60778e9ddc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TimeBar.html @@ -0,0 +1,488 @@ + + + + +TimeBar (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TimeBar

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultTimeBar
        +
        +
        +
        public interface TimeBar
        +
        Interface for time bar views that can display a playback position, buffered position, duration + and ad markers, and that have a listener for scrubbing (seeking) events.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeInterfaceDescription
          static interface TimeBar.OnScrubListener +
          Listener for scrubbing events.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidaddListener​(TimeBar.OnScrubListener listener) +
          Adds a listener for scrubbing events.
          +
          longgetPreferredUpdateDelay() +
          Returns the preferred delay in milliseconds of media time after which the time bar position + should be updated.
          +
          voidremoveListener​(TimeBar.OnScrubListener listener) +
          Removes a listener for scrubbing events.
          +
          voidsetAdGroupTimesMs​(long[] adGroupTimesMs, + boolean[] playedAdGroups, + int adGroupCount) +
          Sets the times of ad groups and whether each ad group has been played.
          +
          voidsetBufferedPosition​(long bufferedPosition) +
          Sets the buffered position.
          +
          voidsetDuration​(long duration) +
          Sets the duration.
          +
          voidsetEnabled​(boolean enabled) 
          voidsetKeyCountIncrement​(int count) +
          Sets the position increment for key presses and accessibility actions, as a number of + increments that divide the duration of the media.
          +
          voidsetKeyTimeIncrement​(long time) +
          Sets the position increment for key presses and accessibility actions, in milliseconds.
          +
          voidsetPosition​(long position) +
          Sets the current position.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            addListener

            +
            void addListener​(TimeBar.OnScrubListener listener)
            +
            Adds a listener for scrubbing events.
            +
            +
            Parameters:
            +
            listener - The listener to add.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            void removeListener​(TimeBar.OnScrubListener listener)
            +
            Removes a listener for scrubbing events.
            +
            +
            Parameters:
            +
            listener - The listener to remove.
            +
            +
          • +
          + + + +
            +
          • +

            setEnabled

            +
            void setEnabled​(boolean enabled)
            +
            +
            See Also:
            +
            View.isEnabled()
            +
            +
          • +
          + + + +
            +
          • +

            setKeyTimeIncrement

            +
            void setKeyTimeIncrement​(long time)
            +
            Sets the position increment for key presses and accessibility actions, in milliseconds. +

            + Clears any increment specified in a preceding call to setKeyCountIncrement(int).

            +
            +
            Parameters:
            +
            time - The time increment, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setKeyCountIncrement

            +
            void setKeyCountIncrement​(int count)
            +
            Sets the position increment for key presses and accessibility actions, as a number of + increments that divide the duration of the media. For example, passing 20 will cause key + presses to increment/decrement the position by 1/20th of the duration (if known). +

            + Clears any increment specified in a preceding call to setKeyTimeIncrement(long).

            +
            +
            Parameters:
            +
            count - The number of increments that divide the duration of the media.
            +
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            void setPosition​(long position)
            +
            Sets the current position.
            +
            +
            Parameters:
            +
            position - The current position to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setBufferedPosition

            +
            void setBufferedPosition​(long bufferedPosition)
            +
            Sets the buffered position.
            +
            +
            Parameters:
            +
            bufferedPosition - The current buffered position to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            setDuration

            +
            void setDuration​(long duration)
            +
            Sets the duration.
            +
            +
            Parameters:
            +
            duration - The duration to show, in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getPreferredUpdateDelay

            +
            long getPreferredUpdateDelay()
            +
            Returns the preferred delay in milliseconds of media time after which the time bar position + should be updated.
            +
            +
            Returns:
            +
            Preferred delay, in milliseconds of media time.
            +
            +
          • +
          + + + +
            +
          • +

            setAdGroupTimesMs

            +
            void setAdGroupTimesMs​(@Nullable
            +                       long[] adGroupTimesMs,
            +                       @Nullable
            +                       boolean[] playedAdGroups,
            +                       int adGroupCount)
            +
            Sets the times of ad groups and whether each ad group has been played.
            +
            +
            Parameters:
            +
            adGroupTimesMs - An array where the first adGroupCount elements are the times of + ad groups in milliseconds. May be null if there are no ad groups.
            +
            playedAdGroups - An array where the first adGroupCount elements indicate whether + the corresponding ad groups have been played. May be null if there are no ad + groups.
            +
            adGroupCount - The number of ad groups.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackNameProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackNameProvider.html new file mode 100644 index 0000000000..cec529130f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackNameProvider.html @@ -0,0 +1,254 @@ + + + + +TrackNameProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackNameProvider

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultTrackNameProvider
        +
        +
        +
        public interface TrackNameProvider
        +
        Converts Formats to user readable track names.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getTrackName

            +
            String getTrackName​(Format format)
            +
            Returns a user readable track name for the given Format.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.DialogCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.DialogCallback.html new file mode 100644 index 0000000000..ad3be4868c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.DialogCallback.html @@ -0,0 +1,261 @@ + + + + +TrackSelectionDialogBuilder.DialogCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackSelectionDialogBuilder.DialogCallback

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        TrackSelectionDialogBuilder
        +
        +
        +
        public static interface TrackSelectionDialogBuilder.DialogCallback
        +
        Callback which is invoked when a track selection has been made.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTracksSelected

            +
            void onTracksSelected​(boolean isDisabled,
            +                      List<DefaultTrackSelector.SelectionOverride> overrides)
            +
            Called when tracks are selected.
            +
            +
            Parameters:
            +
            isDisabled - Whether the renderer is disabled.
            +
            overrides - List of selected track selection overrides for the renderer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.html new file mode 100644 index 0000000000..56d847eb15 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionDialogBuilder.html @@ -0,0 +1,594 @@ + + + + +TrackSelectionDialogBuilder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionDialogBuilder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TrackSelectionDialogBuilder
        +extends Object
        +
        Builder for a dialog with a TrackSelectionView.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + + + + + +
            +
          • +

            TrackSelectionDialogBuilder

            +
            public TrackSelectionDialogBuilder​(Context context,
            +                                   CharSequence title,
            +                                   DefaultTrackSelector trackSelector,
            +                                   int rendererIndex)
            +
            Creates a builder for a track selection dialog which automatically updates a DefaultTrackSelector.
            +
            +
            Parameters:
            +
            context - The context of the dialog.
            +
            title - The title of the dialog.
            +
            trackSelector - A DefaultTrackSelector whose current selection is used to set up + the dialog and which is updated when new tracks are selected in the dialog.
            +
            rendererIndex - The renderer index in the trackSelector for which the track + selection is shown.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setTheme

            +
            public TrackSelectionDialogBuilder setTheme​(@StyleRes
            +                                            int themeResId)
            +
            Sets the resource ID of the theme used to inflate this dialog.
            +
            +
            Parameters:
            +
            themeResId - The resource ID of the theme.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setIsDisabled

            +
            public TrackSelectionDialogBuilder setIsDisabled​(boolean isDisabled)
            +
            Sets whether the selection is initially shown as disabled.
            +
            +
            Parameters:
            +
            isDisabled - Whether the selection is initially shown as disabled.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            setAllowAdaptiveSelections

            +
            public TrackSelectionDialogBuilder setAllowAdaptiveSelections​(boolean allowAdaptiveSelections)
            +
            Sets whether adaptive selections (consisting of more than one track) can be made. + +

            For the selection view to enable adaptive selection it is necessary both for this feature to + be enabled, and for the target renderer to support adaptation between the available tracks.

            +
            +
            Parameters:
            +
            allowAdaptiveSelections - Whether adaptive selection is enabled.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowMultipleOverrides

            +
            public TrackSelectionDialogBuilder setAllowMultipleOverrides​(boolean allowMultipleOverrides)
            +
            Sets whether multiple overrides can be set and selected, i.e. tracks from multiple track groups + can be selected.
            +
            +
            Parameters:
            +
            allowMultipleOverrides - Whether multiple track selection overrides are allowed.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setShowDisableOption

            +
            public TrackSelectionDialogBuilder setShowDisableOption​(boolean showDisableOption)
            +
            Sets whether an option is available for disabling the renderer.
            +
            +
            Parameters:
            +
            showDisableOption - Whether the disable option is shown.
            +
            Returns:
            +
            This builder, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            setTrackFormatComparator

            +
            public void setTrackFormatComparator​(@Nullable
            +                                     Comparator<Format> trackFormatComparator)
            +
            Sets a Comparator used to determine the display order of the tracks within each track + group.
            +
            +
            Parameters:
            +
            trackFormatComparator - The comparator, or null to use the original order.
            +
            +
          • +
          + + + +
            +
          • +

            setTrackNameProvider

            +
            public TrackSelectionDialogBuilder setTrackNameProvider​(@Nullable
            +                                                        TrackNameProvider trackNameProvider)
            +
            Sets the TrackNameProvider used to generate the user visible name of each track and + updates the view with track names queried from the specified provider.
            +
            +
            Parameters:
            +
            trackNameProvider - The TrackNameProvider to use, or null to use the default.
            +
            +
          • +
          + + + +
            +
          • +

            build

            +
            public Dialog build()
            +
            Builds the dialog.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.TrackSelectionListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.TrackSelectionListener.html new file mode 100644 index 0000000000..b7a9422ae4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.TrackSelectionListener.html @@ -0,0 +1,261 @@ + + + + +TrackSelectionView.TrackSelectionListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TrackSelectionView.TrackSelectionListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        TrackSelectionView
        +
        +
        +
        public static interface TrackSelectionView.TrackSelectionListener
        +
        Listener for changes to the selected tracks.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTrackSelectionChanged

            +
            void onTrackSelectionChanged​(boolean isDisabled,
            +                             List<DefaultTrackSelector.SelectionOverride> overrides)
            +
            Called when the selected tracks changed.
            +
            +
            Parameters:
            +
            isDisabled - Whether the renderer is disabled.
            +
            overrides - List of selected track selection overrides for the renderer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.html new file mode 100644 index 0000000000..265e104c9b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/TrackSelectionView.html @@ -0,0 +1,618 @@ + + + + +TrackSelectionView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TrackSelectionView

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TrackSelectionView

            +
            public TrackSelectionView​(Context context)
            +
            Creates a track selection view.
            +
          • +
          + + + +
            +
          • +

            TrackSelectionView

            +
            public TrackSelectionView​(Context context,
            +                          @Nullable
            +                          AttributeSet attrs)
            +
            Creates a track selection view.
            +
          • +
          + + + +
            +
          • +

            TrackSelectionView

            +
            public TrackSelectionView​(Context context,
            +                          @Nullable
            +                          AttributeSet attrs,
            +                          @AttrRes
            +                          int defStyleAttr)
            +
            Creates a track selection view.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setAllowAdaptiveSelections

            +
            public void setAllowAdaptiveSelections​(boolean allowAdaptiveSelections)
            +
            Sets whether adaptive selections (consisting of more than one track) can be made using this + selection view. + +

            For the view to enable adaptive selection it is necessary both for this feature to be + enabled, and for the target renderer to support adaptation between the available tracks.

            +
            +
            Parameters:
            +
            allowAdaptiveSelections - Whether adaptive selection is enabled.
            +
            +
          • +
          + + + +
            +
          • +

            setAllowMultipleOverrides

            +
            public void setAllowMultipleOverrides​(boolean allowMultipleOverrides)
            +
            Sets whether tracks from multiple track groups can be selected. This results in multiple SelectionOverrides to be returned by getOverrides().
            +
            +
            Parameters:
            +
            allowMultipleOverrides - Whether multiple track selection overrides can be selected.
            +
            +
          • +
          + + + +
            +
          • +

            setShowDisableOption

            +
            public void setShowDisableOption​(boolean showDisableOption)
            +
            Sets whether an option is available for disabling the renderer.
            +
            +
            Parameters:
            +
            showDisableOption - Whether the disable option is shown.
            +
            +
          • +
          + + + +
            +
          • +

            setTrackNameProvider

            +
            public void setTrackNameProvider​(TrackNameProvider trackNameProvider)
            +
            Sets the TrackNameProvider used to generate the user visible name of each track and + updates the view with track names queried from the specified provider.
            +
            +
            Parameters:
            +
            trackNameProvider - The TrackNameProvider to use.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getIsDisabled

            +
            public boolean getIsDisabled()
            +
            Returns whether the renderer is disabled.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-frame.html new file mode 100644 index 0000000000..f12d75139b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-frame.html @@ -0,0 +1,66 @@ + + + + +com.google.android.exoplayer2.ui (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ui

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-summary.html new file mode 100644 index 0000000000..726ed59c0e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-summary.html @@ -0,0 +1,390 @@ + + + + +com.google.android.exoplayer2.ui (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ui

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-tree.html new file mode 100644 index 0000000000..1021d2abba --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/package-tree.html @@ -0,0 +1,217 @@ + + + + +com.google.android.exoplayer2.ui Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ui

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SingleTapListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SingleTapListener.html new file mode 100644 index 0000000000..1bb2d7a7ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SingleTapListener.html @@ -0,0 +1,256 @@ + + + + +SingleTapListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SingleTapListener

      +
      +
      +
      +
        +
      • +
        +
        public interface SingleTapListener
        +
        Listens tap events on a View.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onSingleTapUp

            +
            boolean onSingleTapUp​(MotionEvent e)
            +
            Notified when a tap occurs with the up MotionEvent that triggered it.
            +
            +
            Parameters:
            +
            e - The up motion event that completed the first tap.
            +
            Returns:
            +
            Whether the event is consumed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.html new file mode 100644 index 0000000000..4943449474 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.html @@ -0,0 +1,522 @@ + + + + +SphericalGLSurfaceView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SphericalGLSurfaceView

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, SurfaceHolder.Callback, SurfaceHolder.Callback2
        +
        +
        +
        public final class SphericalGLSurfaceView
        +extends GLSurfaceView
        +
        Renders a GL scene in a non-VR Activity that is affected by phone orientation and touch input. + +

        The two input components are the TYPE_GAME_ROTATION_VECTOR Sensor and a TouchListener. The GL + renderer combines these two inputs to render a scene with the appropriate camera orientation. + +

        The primary complexity in this class is related to the various rotations. It is important to + apply the touch and sensor rotations in the correct order or the user's touch manipulations won't + match what they expect.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SphericalGLSurfaceView

            +
            public SphericalGLSurfaceView​(Context context)
            +
          • +
          + + + +
            +
          • +

            SphericalGLSurfaceView

            +
            public SphericalGLSurfaceView​(Context context,
            +                              @Nullable
            +                              AttributeSet attributeSet)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setDefaultStereoMode

            +
            public void setDefaultStereoMode​(@StereoMode
            +                                 int stereoMode)
            +
            Sets the default stereo mode. If the played video doesn't contain a stereo mode the default one + is used.
            +
            +
            Parameters:
            +
            stereoMode - A C.StereoMode value.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setSingleTapListener

            +
            public void setSingleTapListener​(@Nullable
            +                                 SingleTapListener listener)
            +
            Sets the SingleTapListener used to listen to single tap events on this view.
            +
          • +
          + + + +
            +
          • +

            setUseSensorRotation

            +
            public void setUseSensorRotation​(boolean useSensorRotation)
            +
            Sets whether to use the orientation sensor for rotation (if available).
            +
          • +
          + + + + + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-frame.html new file mode 100644 index 0000000000..e75df3f81b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-frame.html @@ -0,0 +1,31 @@ + + + + +com.google.android.exoplayer2.ui.spherical (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.ui.spherical

      +
      +

      Interfaces

      + +

      Classes

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-summary.html new file mode 100644 index 0000000000..03070ebffc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-summary.html @@ -0,0 +1,185 @@ + + + + +com.google.android.exoplayer2.ui.spherical (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.ui.spherical

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Interface Summary 
        InterfaceDescription
        SingleTapListener +
        Listens tap events on a View.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        SphericalGLSurfaceView +
        Renders a GL scene in a non-VR Activity that is affected by phone orientation and touch input.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-tree.html new file mode 100644 index 0000000000..3225ff4d78 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/ui/spherical/package-tree.html @@ -0,0 +1,177 @@ + + + + +com.google.android.exoplayer2.ui.spherical Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.ui.spherical

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocation.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocation.html new file mode 100644 index 0000000000..0774bb2b53 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocation.html @@ -0,0 +1,332 @@ + + + + +Allocation (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Allocation

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            data

            +
            public final byte[] data
            +
            The array containing the allocated space. The allocated space might not be at the start of the + array, and so offset must be used when indexing into it.
            +
          • +
          + + + +
            +
          • +

            offset

            +
            public final int offset
            +
            The offset of the allocated space in data.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Allocation

            +
            public Allocation​(byte[] data,
            +                  int offset)
            +
            +
            Parameters:
            +
            data - The array containing the allocated space.
            +
            offset - The offset of the allocated space in data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocator.html new file mode 100644 index 0000000000..ad3aa2ea0f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Allocator.html @@ -0,0 +1,356 @@ + + + + +Allocator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Allocator

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultAllocator
        +
        +
        +
        public interface Allocator
        +
        A source of allocations.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            release

            +
            void release​(Allocation allocation)
            +
            Releases an Allocation back to the allocator.
            +
            +
            Parameters:
            +
            allocation - The Allocation being released.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            void release​(Allocation[] allocations)
            +
            Releases an array of Allocations back to the allocator.
            +
            +
            Parameters:
            +
            allocations - The array of Allocations being released.
            +
            +
          • +
          + + + +
            +
          • +

            trim

            +
            void trim()
            +
            Hints to the allocator that it should make a best effort to release any excess + Allocations.
            +
          • +
          + + + +
            +
          • +

            getTotalBytesAllocated

            +
            int getTotalBytesAllocated()
            +
            Returns the total number of bytes currently allocated.
            +
          • +
          + + + +
            +
          • +

            getIndividualAllocationLength

            +
            int getIndividualAllocationLength()
            +
            Returns the length of each individual Allocation.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.AssetDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.AssetDataSourceException.html new file mode 100644 index 0000000000..b62ad0038c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.AssetDataSourceException.html @@ -0,0 +1,297 @@ + + + + +AssetDataSource.AssetDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AssetDataSource.AssetDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AssetDataSourceException

            +
            public AssetDataSourceException​(IOException cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.html new file mode 100644 index 0000000000..5428961f21 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/AssetDataSource.html @@ -0,0 +1,468 @@ + + + + +AssetDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AssetDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AssetDataSource

            +
            public AssetDataSource​(Context context)
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws AssetDataSource.AssetDataSourceException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            AssetDataSource.AssetDataSourceException
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.EventDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.EventDispatcher.html new file mode 100644 index 0000000000..b89bfa04a2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.EventDispatcher.html @@ -0,0 +1,346 @@ + + + + +BandwidthMeter.EventListener.EventDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BandwidthMeter.EventListener.EventDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        BandwidthMeter.EventListener
        +
        +
        +
        public static final class BandwidthMeter.EventListener.EventDispatcher
        +extends Object
        +
        Event dispatcher which allows listener registration.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            EventDispatcher

            +
            public EventDispatcher()
            +
            Creates an event dispatcher.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            removeListener

            +
            public void removeListener​(BandwidthMeter.EventListener eventListener)
            +
            Removes a listener from the event dispatcher.
            +
          • +
          + + + +
            +
          • +

            bandwidthSample

            +
            public void bandwidthSample​(int elapsedMs,
            +                            long bytesTransferred,
            +                            long bitrateEstimate)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.html new file mode 100644 index 0000000000..96da93f34f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.EventListener.html @@ -0,0 +1,298 @@ + + + + +BandwidthMeter.EventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface BandwidthMeter.EventListener

      +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonBandwidthSample​(int elapsedMs, + long bytesTransferred, + long bitrateEstimate) +
          Called periodically to indicate that bytes have been transferred or the estimated bitrate has + changed.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onBandwidthSample

            +
            void onBandwidthSample​(int elapsedMs,
            +                       long bytesTransferred,
            +                       long bitrateEstimate)
            +
            Called periodically to indicate that bytes have been transferred or the estimated bitrate has + changed. + +

            Note: The estimated bitrate is typically derived from more information than just + bytesTransferred and elapsedMs.

            +
            +
            Parameters:
            +
            elapsedMs - The time taken to transfer bytesTransferred, in milliseconds. This + is at most the elapsed time since the last callback, but may be less if there were + periods during which data was not being transferred.
            +
            bytesTransferred - The number of bytes transferred since the last callback.
            +
            bitrateEstimate - The estimated bitrate in bits/sec.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.html new file mode 100644 index 0000000000..192de2ca95 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BandwidthMeter.html @@ -0,0 +1,342 @@ + + + + +BandwidthMeter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface BandwidthMeter

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultBandwidthMeter
        +
        +
        +
        public interface BandwidthMeter
        +
        Provides estimates of the currently available bandwidth.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getBitrateEstimate

            +
            long getBitrateEstimate()
            +
            Returns the estimated bitrate.
            +
          • +
          + + + +
            +
          • +

            getTransferListener

            +
            @Nullable
            +TransferListener getTransferListener()
            +
            Returns the TransferListener that this instance uses to gather bandwidth information + from data transfers. May be null if the implementation does not listen to data transfers.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BaseDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BaseDataSource.html new file mode 100644 index 0000000000..262ef89552 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/BaseDataSource.html @@ -0,0 +1,440 @@ + + + + +BaseDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class BaseDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.BaseDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            BaseDataSource

            +
            protected BaseDataSource​(boolean isNetwork)
            +
            Creates base data source.
            +
            +
            Parameters:
            +
            isNetwork - Whether the data source loads data through a network.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            transferInitializing

            +
            protected final void transferInitializing​(DataSpec dataSpec)
            +
            Notifies listeners that data transfer for the specified DataSpec is being initialized.
            +
            +
            Parameters:
            +
            dataSpec - DataSpec describing the data for initializing transfer.
            +
            +
          • +
          + + + +
            +
          • +

            transferStarted

            +
            protected final void transferStarted​(DataSpec dataSpec)
            +
            Notifies listeners that data transfer for the specified DataSpec started.
            +
            +
            Parameters:
            +
            dataSpec - DataSpec describing the data being transferred.
            +
            +
          • +
          + + + +
            +
          • +

            bytesTransferred

            +
            protected final void bytesTransferred​(int bytesTransferred)
            +
            Notifies listeners that bytes were transferred.
            +
            +
            Parameters:
            +
            bytesTransferred - The number of bytes transferred since the previous call to this method + (or if the first call, since the transfer was started).
            +
            +
          • +
          + + + +
            +
          • +

            transferEnded

            +
            protected final void transferEnded()
            +
            Notifies listeners that a transfer ended.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSink.html new file mode 100644 index 0000000000..ba2f520a4d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSink.html @@ -0,0 +1,410 @@ + + + + +ByteArrayDataSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ByteArrayDataSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.ByteArrayDataSink
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataSink
        +
        +
        +
        public final class ByteArrayDataSink
        +extends Object
        +implements DataSink
        +
        A DataSink for writing to a byte array.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ByteArrayDataSink

            +
            public ByteArrayDataSink()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public void open​(DataSpec dataSpec)
            +
            Description copied from interface: DataSink
            +
            Opens the sink to consume the specified data. + +

            Note: If an IOException is thrown, callers must still call DataSink.close() to + ensure that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSink
            +
            Parameters:
            +
            dataSpec - Defines the data to be consumed.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            write

            +
            public void write​(byte[] buffer,
            +                  int offset,
            +                  int length)
            +
            Description copied from interface: DataSink
            +
            Consumes the provided data.
            +
            +
            Specified by:
            +
            write in interface DataSink
            +
            Parameters:
            +
            buffer - The buffer from which data should be consumed.
            +
            offset - The offset of the data to consume in buffer.
            +
            length - The length of the data to consume, in bytes.
            +
            +
          • +
          + + + +
            +
          • +

            getData

            +
            @Nullable
            +public byte[] getData()
            +
            Returns the data written to the sink since the last call to open(DataSpec), or null if + open(DataSpec) has never been called.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html new file mode 100644 index 0000000000..d3bdb74f55 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html @@ -0,0 +1,446 @@ + + + + +ByteArrayDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ByteArrayDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ByteArrayDataSource

            +
            public ByteArrayDataSource​(byte[] data)
            +
            +
            Parameters:
            +
            data - The data to be read.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html new file mode 100644 index 0000000000..d2dde34723 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html @@ -0,0 +1,297 @@ + + + + +ContentDataSource.ContentDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ContentDataSource.ContentDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ContentDataSourceException

            +
            public ContentDataSourceException​(IOException cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.html new file mode 100644 index 0000000000..744b6e188f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ContentDataSource.html @@ -0,0 +1,468 @@ + + + + +ContentDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ContentDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ContentDataSource

            +
            public ContentDataSource​(Context context)
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataReader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataReader.html new file mode 100644 index 0000000000..d7d7175ec7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataReader.html @@ -0,0 +1,280 @@ + + + + +DataReader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DataReader

      +
      +
      + +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          intread​(byte[] target, + int offset, + int length) +
          Reads up to length bytes of data from the input.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            read

            +
            int read​(byte[] target,
            +         int offset,
            +         int length)
            +  throws IOException
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            target - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            length - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSchemeDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSchemeDataSource.html new file mode 100644 index 0000000000..6302b49b93 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSchemeDataSource.html @@ -0,0 +1,484 @@ + + + + +DataSchemeDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSchemeDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DataSchemeDataSource

            +
            public DataSchemeDataSource()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.Factory.html new file mode 100644 index 0000000000..1213e82941 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.Factory.html @@ -0,0 +1,258 @@ + + + + +DataSink.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DataSink.Factory

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.html new file mode 100644 index 0000000000..06cb88564c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSink.html @@ -0,0 +1,342 @@ + + + + +DataSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DataSink

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeInterfaceDescription
          static interface DataSink.Factory +
          A factory for DataSink instances.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidclose() +
          Closes the sink.
          +
          voidopen​(DataSpec dataSpec) +
          Opens the sink to consume the specified data.
          +
          voidwrite​(byte[] buffer, + int offset, + int length) +
          Consumes the provided data.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            void open​(DataSpec dataSpec)
            +   throws IOException
            +
            Opens the sink to consume the specified data. + +

            Note: If an IOException is thrown, callers must still call close() to + ensure that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be consumed.
            +
            Throws:
            +
            IOException - If an error occurs opening the sink.
            +
            +
          • +
          + + + +
            +
          • +

            write

            +
            void write​(byte[] buffer,
            +           int offset,
            +           int length)
            +    throws IOException
            +
            Consumes the provided data.
            +
            +
            Parameters:
            +
            buffer - The buffer from which data should be consumed.
            +
            offset - The offset of the data to consume in buffer.
            +
            length - The length of the data to consume, in bytes.
            +
            Throws:
            +
            IOException - If an error occurs writing to the sink.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html new file mode 100644 index 0000000000..0eae6859b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html @@ -0,0 +1,262 @@ + + + + +DataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DataSource.Factory

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.html new file mode 100644 index 0000000000..ad70f562a9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSource.html @@ -0,0 +1,402 @@ + + + + +DataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface DataSource

      +
      +
      + +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            long open​(DataSpec dataSpec)
            +   throws IOException
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +Uri getUri()
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceException.html new file mode 100644 index 0000000000..82eeb2f4bf --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceException.html @@ -0,0 +1,400 @@ + + + + +DataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSourceException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        public final class DataSourceException
        +extends IOException
        +
        Used to specify reason of a DataSource error.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceInputStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceInputStream.html new file mode 100644 index 0000000000..92a6c0e912 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSourceInputStream.html @@ -0,0 +1,444 @@ + + + + +DataSourceInputStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSourceInputStream

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Builder.html new file mode 100644 index 0000000000..a25c1a48a5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Builder.html @@ -0,0 +1,579 @@ + + + + +DataSpec.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSpec.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DataSpec.Builder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DataSpec
        +
        +
        +
        public static final class DataSpec.Builder
        +extends Object
        +
        Builds DataSpec instances. + +

        Use DataSpec#buildUpon() to obtain a builder representing an existing DataSpec.

        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Flags.html new file mode 100644 index 0000000000..ef24c8d642 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.Flags.html @@ -0,0 +1,189 @@ + + + + +DataSpec.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DataSpec.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html new file mode 100644 index 0000000000..3286653f2d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.HttpMethod.html @@ -0,0 +1,190 @@ + + + + +DataSpec.HttpMethod (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type DataSpec.HttpMethod

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.html new file mode 100644 index 0000000000..3461efd2ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DataSpec.html @@ -0,0 +1,1332 @@ + + + + +DataSpec (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DataSpec

      +
      +
      + +
      +
        +
      • +
        +
        public final class DataSpec
        +extends Object
        +
        Defines a region of data in a resource.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            FLAG_ALLOW_GZIP

            +
            public static final int FLAG_ALLOW_GZIP
            +
            Allows an underlying network stack to request that the server use gzip compression. + +

            Should not typically be set if the data being requested is already compressed (e.g. most + audio and video requests). May be set when requesting other data. + +

            When a DataSource is used to request data with this flag set, and if the DataSource does make a network request, then the value returned from DataSource.open(DataSpec) will typically be C.LENGTH_UNSET. The data read from DataReader.read(byte[], int, int) will be the decompressed data.

            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_DONT_CACHE_IF_LENGTH_UNKNOWN

            +
            public static final int FLAG_DONT_CACHE_IF_LENGTH_UNKNOWN
            +
            Prevents caching if the length cannot be resolved when the DataSource is opened.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_ALLOW_CACHE_FRAGMENTATION

            +
            public static final int FLAG_ALLOW_CACHE_FRAGMENTATION
            +
            Allows fragmentation of this request into multiple cache files, meaning a cache eviction policy + will be able to evict individual fragments of the data. Depending on the cache implementation, + setting this flag may also enable more concurrent access to the data (e.g. reading one fragment + whilst writing another).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED

            +
            public static final int FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED
            +
            Indicates there are known external factors that might prevent the data from being loaded at + full network speed (e.g. server throttling or unfinished live media chunks).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            HTTP_METHOD_GET

            +
            public static final int HTTP_METHOD_GET
            +
            HTTP GET method.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            HTTP_METHOD_POST

            +
            public static final int HTTP_METHOD_POST
            +
            HTTP POST method.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            HTTP_METHOD_HEAD

            +
            public static final int HTTP_METHOD_HEAD
            +
            HTTP HEAD method.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            uri

            +
            public final Uri uri
            +
            A Uri from which data belonging to the resource can be read.
            +
          • +
          + + + +
            +
          • +

            uriPositionOffset

            +
            public final long uriPositionOffset
            +
            The offset of the data located at uri within the resource. + +

            Equal to 0 unless uri provides access to a subset of the resource. As an example, + consider a resource that can be requested over the network and is 1000 bytes long. If uri points to a local file that contains just bytes [200-300], then this field will be set to + 200. + +

            This field can be ignored except for in specific circumstances where the absolute position + in the resource is required in a DataSource chain. One example is when a DataSource needs to decrypt the content as it's read. In this case the absolute position in + the resource is typically needed to correctly initialize the decryption algorithm.

            +
          • +
          + + + +
            +
          • +

            httpMethod

            +
            @HttpMethod
            +public final int httpMethod
            +
            The HTTP method to use when requesting the data. This value will be ignored by non-HTTP DataSource implementations.
            +
          • +
          + + + +
            +
          • +

            httpBody

            +
            @Nullable
            +public final byte[] httpBody
            +
            The HTTP request body, null otherwise. If the body is non-null, then httpBody.length + will be non-zero.
            +
          • +
          + + + + + + + +
            +
          • +

            absoluteStreamPosition

            +
            @Deprecated
            +public final long absoluteStreamPosition
            +
            Deprecated. +
            Use position except for specific use cases where the absolute position + within the resource is required within a DataSource chain. Where the absolute + position is required, use uriPositionOffset + position.
            +
            +
            The absolute position of the data in the resource.
            +
          • +
          + + + +
            +
          • +

            position

            +
            public final long position
            +
            The position of the data when read from uri.
            +
          • +
          + + + +
            +
          • +

            length

            +
            public final long length
            +
            The length of the data, or C.LENGTH_UNSET.
            +
          • +
          + + + +
            +
          • +

            key

            +
            @Nullable
            +public final String key
            +
            A key that uniquely identifies the resource. Used for cache indexing. May be null if the data + spec is not intended to be used in conjunction with a cache.
            +
          • +
          + + + +
            +
          • +

            flags

            +
            @Flags
            +public final int flags
            +
            Request flags.
            +
          • +
          + + + +
            +
          • +

            customData

            +
            @Nullable
            +public final Object customData
            +
            Application specific data. + +

            This field is intended for advanced use cases in which applications require the ability to + attach custom data to DataSpec instances. The custom data should be immutable.

            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getStringForHttpMethod

            +
            public static String getStringForHttpMethod​(@HttpMethod
            +                                            int httpMethod)
            +
            Returns an uppercase HTTP method name (e.g., "GET", "POST", "HEAD") corresponding to the given + DataSpec.HttpMethod.
            +
          • +
          + + + +
            +
          • +

            isFlagSet

            +
            public boolean isFlagSet​(@Flags
            +                         int flag)
            +
            Returns whether the given flag is set.
            +
            +
            Parameters:
            +
            flag - Flag to be checked if it is set.
            +
            +
          • +
          + + + +
            +
          • +

            getHttpMethodString

            +
            public final String getHttpMethodString()
            +
            Returns the uppercase HTTP method name (e.g., "GET", "POST", "HEAD") corresponding to the + httpMethod.
            +
          • +
          + + + + + + + +
            +
          • +

            subrange

            +
            public DataSpec subrange​(long offset)
            +
            Returns a data spec that represents a subrange of the data defined by this DataSpec. The + subrange includes data from the offset up to the end of this DataSpec.
            +
            +
            Parameters:
            +
            offset - The offset of the subrange.
            +
            Returns:
            +
            A data spec that represents a subrange of the data defined by this DataSpec.
            +
            +
          • +
          + + + +
            +
          • +

            subrange

            +
            public DataSpec subrange​(long offset,
            +                         long length)
            +
            Returns a data spec that represents a subrange of the data defined by this DataSpec.
            +
            +
            Parameters:
            +
            offset - The offset of the subrange.
            +
            length - The length of the subrange.
            +
            Returns:
            +
            A data spec that represents a subrange of the data defined by this DataSpec.
            +
            +
          • +
          + + + +
            +
          • +

            withUri

            +
            public DataSpec withUri​(Uri uri)
            +
            Returns a copy of this data spec with the specified Uri.
            +
            +
            Parameters:
            +
            uri - The new source Uri.
            +
            Returns:
            +
            The copied data spec with the specified Uri.
            +
            +
          • +
          + + + +
            +
          • +

            withRequestHeaders

            +
            public DataSpec withRequestHeaders​(Map<String,String> httpRequestHeaders)
            +
            Returns a copy of this data spec with the specified HTTP request headers. Headers already in + the data spec are not copied to the new instance.
            +
            +
            Parameters:
            +
            httpRequestHeaders - The HTTP request headers.
            +
            Returns:
            +
            The copied data spec with the specified HTTP request headers.
            +
            +
          • +
          + + + +
            +
          • +

            withAdditionalHeaders

            +
            public DataSpec withAdditionalHeaders​(Map<String,String> additionalHttpRequestHeaders)
            +
            Returns a copy this data spec with additional HTTP request headers. Headers in + additionalHttpRequestHeaders will overwrite any headers already in the data spec that have the + same keys.
            +
            +
            Parameters:
            +
            additionalHttpRequestHeaders - The additional HTTP request headers.
            +
            Returns:
            +
            The copied data spec with the additional HTTP request headers.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultAllocator.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultAllocator.html new file mode 100644 index 0000000000..d7f23f801d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultAllocator.html @@ -0,0 +1,501 @@ + + + + +DefaultAllocator (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultAllocator

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultAllocator
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Allocator
        +
        +
        +
        public final class DefaultAllocator
        +extends Object
        +implements Allocator
        +
        Default implementation of Allocator.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultAllocator

            +
            public DefaultAllocator​(boolean trimOnReset,
            +                        int individualAllocationSize)
            +
            Constructs an instance without creating any Allocations up front.
            +
            +
            Parameters:
            +
            trimOnReset - Whether memory is freed when the allocator is reset. Should be true unless + the allocator will be re-used by multiple player instances.
            +
            individualAllocationSize - The length of each individual Allocation.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultAllocator

            +
            public DefaultAllocator​(boolean trimOnReset,
            +                        int individualAllocationSize,
            +                        int initialAllocationCount)
            +
            Constructs an instance with some Allocations created up front. +

            + Note: Allocations created up front will never be discarded by trim().

            +
            +
            Parameters:
            +
            trimOnReset - Whether memory is freed when the allocator is reset. Should be true unless + the allocator will be re-used by multiple player instances.
            +
            individualAllocationSize - The length of each individual Allocation.
            +
            initialAllocationCount - The number of allocations to create up front.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html new file mode 100644 index 0000000000..c3b204ec8e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.Builder.html @@ -0,0 +1,466 @@ + + + + +DefaultBandwidthMeter.Builder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultBandwidthMeter.Builder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        DefaultBandwidthMeter
        +
        +
        +
        public static final class DefaultBandwidthMeter.Builder
        +extends Object
        +
        Builder for a bandwidth meter.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Builder

            +
            public Builder​(Context context)
            +
            Creates a builder with default parameters and without listener.
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setSlidingWindowMaxWeight

            +
            public DefaultBandwidthMeter.Builder setSlidingWindowMaxWeight​(int slidingWindowMaxWeight)
            +
            Sets the maximum weight for the sliding window.
            +
            +
            Parameters:
            +
            slidingWindowMaxWeight - The maximum weight for the sliding window.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setInitialBitrateEstimate

            +
            public DefaultBandwidthMeter.Builder setInitialBitrateEstimate​(long initialBitrateEstimate)
            +
            Sets the initial bitrate estimate in bits per second that should be assumed when a bandwidth + estimate is unavailable.
            +
            +
            Parameters:
            +
            initialBitrateEstimate - The initial bitrate estimate in bits per second.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setInitialBitrateEstimate

            +
            public DefaultBandwidthMeter.Builder setInitialBitrateEstimate​(@NetworkType
            +                                                               int networkType,
            +                                                               long initialBitrateEstimate)
            +
            Sets the initial bitrate estimate in bits per second that should be assumed when a bandwidth + estimate is unavailable and the current network connection is of the specified type.
            +
            +
            Parameters:
            +
            networkType - The C.NetworkType this initial estimate is for.
            +
            initialBitrateEstimate - The initial bitrate estimate in bits per second.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setInitialBitrateEstimate

            +
            public DefaultBandwidthMeter.Builder setInitialBitrateEstimate​(String countryCode)
            +
            Sets the initial bitrate estimates to the default values of the specified country. The + initial estimates are used when a bandwidth estimate is unavailable.
            +
            +
            Parameters:
            +
            countryCode - The ISO 3166-1 alpha-2 country code of the country whose default bitrate + estimates should be used.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setClock

            +
            public DefaultBandwidthMeter.Builder setClock​(Clock clock)
            +
            Sets the clock used to estimate bandwidth from data transfers. Should only be set for testing + purposes.
            +
            +
            Parameters:
            +
            clock - The clock used to estimate bandwidth from data transfers.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            setResetOnNetworkTypeChange

            +
            public DefaultBandwidthMeter.Builder setResetOnNetworkTypeChange​(boolean resetOnNetworkTypeChange)
            +
            Sets whether to reset if the network type changes. The default value is true.
            +
            +
            Parameters:
            +
            resetOnNetworkTypeChange - Whether to reset if the network type changes.
            +
            Returns:
            +
            This builder.
            +
            +
          • +
          + + + +
            +
          • +

            build

            +
            public DefaultBandwidthMeter build()
            +
            Builds the bandwidth meter.
            +
            +
            Returns:
            +
            A bandwidth meter with the configured properties.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html new file mode 100644 index 0000000000..405ae924ad --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultBandwidthMeter.html @@ -0,0 +1,772 @@ + + + + +DefaultBandwidthMeter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultBandwidthMeter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_COUNTRY_GROUPS

            +
            public static final ImmutableListMultimap<String,Integer> DEFAULT_INITIAL_BITRATE_COUNTRY_GROUPS
            +
            Country groups used to determine the default initial bitrate estimate. The group assignment for + each country is a list for [Wifi, 2G, 3G, 4G, 5G_NSA].
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATES_WIFI

            +
            public static final ImmutableList<Long> DEFAULT_INITIAL_BITRATE_ESTIMATES_WIFI
            +
            Default initial Wifi bitrate estimate in bits per second.
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATES_2G

            +
            public static final ImmutableList<Long> DEFAULT_INITIAL_BITRATE_ESTIMATES_2G
            +
            Default initial 2G bitrate estimates in bits per second.
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATES_3G

            +
            public static final ImmutableList<Long> DEFAULT_INITIAL_BITRATE_ESTIMATES_3G
            +
            Default initial 3G bitrate estimates in bits per second.
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATES_4G

            +
            public static final ImmutableList<Long> DEFAULT_INITIAL_BITRATE_ESTIMATES_4G
            +
            Default initial 4G bitrate estimates in bits per second.
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATES_5G_NSA

            +
            public static final ImmutableList<Long> DEFAULT_INITIAL_BITRATE_ESTIMATES_5G_NSA
            +
            Default initial 5G-NSA bitrate estimates in bits per second.
            +
          • +
          + + + +
            +
          • +

            DEFAULT_INITIAL_BITRATE_ESTIMATE

            +
            public static final long DEFAULT_INITIAL_BITRATE_ESTIMATE
            +
            Default initial bitrate estimate used when the device is offline or the network type cannot be + determined, in bits per second.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SLIDING_WINDOW_MAX_WEIGHT

            +
            public static final int DEFAULT_SLIDING_WINDOW_MAX_WEIGHT
            +
            Default maximum weight for the sliding window.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            setNetworkTypeOverride

            +
            public void setNetworkTypeOverride​(@NetworkType
            +                                   int networkType)
            +
            Overrides the network type. Handled in the same way as if the meter had detected a change from + the current network type to the specified network type internally. + +

            Applications should not normally call this method. It is intended for testing purposes.

            +
            +
            Parameters:
            +
            networkType - The overriding network type.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + +
            +
          • +

            onTransferInitializing

            +
            public void onTransferInitializing​(DataSource source,
            +                                   DataSpec dataSpec,
            +                                   boolean isNetwork)
            +
            Description copied from interface: TransferListener
            +
            Called when a transfer is being initialized.
            +
            +
            Specified by:
            +
            onTransferInitializing in interface TransferListener
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data for which the transfer is initialized.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          + + + +
            +
          • +

            onTransferStart

            +
            public void onTransferStart​(DataSource source,
            +                            DataSpec dataSpec,
            +                            boolean isNetwork)
            +
            Description copied from interface: TransferListener
            +
            Called when a transfer starts.
            +
            +
            Specified by:
            +
            onTransferStart in interface TransferListener
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          + + + +
            +
          • +

            onBytesTransferred

            +
            public void onBytesTransferred​(DataSource source,
            +                               DataSpec dataSpec,
            +                               boolean isNetwork,
            +                               int bytes)
            +
            Description copied from interface: TransferListener
            +
            Called incrementally during a transfer.
            +
            +
            Specified by:
            +
            onBytesTransferred in interface TransferListener
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            bytes - The number of bytes transferred since the previous call to this method
            +
            +
          • +
          + + + +
            +
          • +

            onTransferEnd

            +
            public void onTransferEnd​(DataSource source,
            +                          DataSpec dataSpec,
            +                          boolean isNetwork)
            +
            Description copied from interface: TransferListener
            +
            Called when a transfer ends.
            +
            +
            Specified by:
            +
            onTransferEnd in interface TransferListener
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSource.html new file mode 100644 index 0000000000..fdd4be9ac3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSource.html @@ -0,0 +1,611 @@ + + + + +DefaultDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultDataSource
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataReader, DataSource
        +
        +
        +
        public final class DefaultDataSource
        +extends Object
        +implements DataSource
        +
        A DataSource that supports multiple URI schemes. The supported schemes are: + +
          +
        • file: For fetching data from a local file (e.g. file:///path/to/media/media.mp4, or just + /path/to/media/media.mp4 because the implementation assumes that a URI without a scheme is + a local file URI). +
        • asset: For fetching data from an asset in the application's apk (e.g. asset:///media.mp4). +
        • rawresource: For fetching data from a raw resource in the application's apk (e.g. + rawresource:///resourceId, where rawResourceId is the integer identifier of the raw + resource). +
        • android.resource: For fetching data in the application's apk (e.g. + android.resource:///resourceId or android.resource://resourceType/resourceName). See RawResourceDataSource for more information about the URI form. +
        • content: For fetching data from a content URI (e.g. content://authority/path/123). +
        • rtmp: For fetching data over RTMP. Only supported if the project using ExoPlayer has an + explicit dependency on ExoPlayer's RTMP extension. +
        • data: For parsing data inlined in the URI as defined in RFC 2397. +
        • udp: For fetching data over UDP (e.g. udp://something.com/media). +
        • http(s): For fetching data over HTTP and HTTPS (e.g. https://www.something.com/media.mp4), + if constructed using DefaultDataSource(Context, String, boolean), or any other + schemes supported by a base data source if constructed using DefaultDataSource(Context, DataSource). +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultDataSource

            +
            public DefaultDataSource​(Context context,
            +                         boolean allowCrossProtocolRedirects)
            +
            Constructs a new instance, optionally configured to follow cross-protocol redirects.
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultDataSource

            +
            public DefaultDataSource​(Context context,
            +                         @Nullable
            +                         String userAgent,
            +                         boolean allowCrossProtocolRedirects)
            +
            Constructs a new instance, optionally configured to follow cross-protocol redirects.
            +
            +
            Parameters:
            +
            context - A context.
            +
            userAgent - The user agent that will be used when requesting remote data, or null + to use the default user agent of the underlying platform.
            +
            allowCrossProtocolRedirects - Whether cross-protocol redirects (i.e. redirects from HTTP + to HTTPS and vice versa) are enabled when fetching remote data.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultDataSource

            +
            public DefaultDataSource​(Context context,
            +                         @Nullable
            +                         String userAgent,
            +                         int connectTimeoutMillis,
            +                         int readTimeoutMillis,
            +                         boolean allowCrossProtocolRedirects)
            +
            Constructs a new instance, optionally configured to follow cross-protocol redirects.
            +
            +
            Parameters:
            +
            context - A context.
            +
            userAgent - The user agent that will be used when requesting remote data, or null + to use the default user agent of the underlying platform.
            +
            connectTimeoutMillis - The connection timeout that should be used when requesting remote + data, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            readTimeoutMillis - The read timeout that should be used when requesting remote data, in + milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            allowCrossProtocolRedirects - Whether cross-protocol redirects (i.e. redirects from HTTP + to HTTPS and vice versa) are enabled when fetching remote data.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultDataSource

            +
            public DefaultDataSource​(Context context,
            +                         DataSource baseDataSource)
            +
            Constructs a new instance that delegates to a provided DataSource for URI schemes other + than file, asset and content.
            +
            +
            Parameters:
            +
            context - A context.
            +
            baseDataSource - A DataSource to use for URI schemes other than file, asset and + content. This DataSource should normally support at least http(s).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.html new file mode 100644 index 0000000000..caccd23906 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultDataSourceFactory.html @@ -0,0 +1,430 @@ + + + + +DefaultDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultDataSourceFactory

            +
            public DefaultDataSourceFactory​(Context context)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultDataSourceFactory

            +
            public DefaultDataSourceFactory​(Context context,
            +                                @Nullable
            +                                String userAgent)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            context - A context.
            +
            userAgent - The user agent that will be used when requesting remote data, or null + to use the default user agent of the underlying platform.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultDataSourceFactory

            +
            public DefaultDataSourceFactory​(Context context,
            +                                @Nullable
            +                                String userAgent,
            +                                @Nullable
            +                                TransferListener listener)
            +
            Creates an instance.
            +
            +
            Parameters:
            +
            context - A context.
            +
            userAgent - The user agent that will be used when requesting remote data, or null + to use the default user agent of the underlying platform.
            +
            listener - An optional listener.
            +
            +
          • +
          + + + + + + + + +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html new file mode 100644 index 0000000000..7c8728443e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html @@ -0,0 +1,537 @@ + + + + +DefaultHttpDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHttpDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html new file mode 100644 index 0000000000..5830a6d9f0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.html @@ -0,0 +1,889 @@ + + + + +DefaultHttpDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHttpDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSourceFactory.html new file mode 100644 index 0000000000..df26cfaa0f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSourceFactory.html @@ -0,0 +1,470 @@ + + + + +DefaultHttpDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultHttpDataSourceFactory

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + + + + + + + + + + + + + +
            +
          • +

            DefaultHttpDataSourceFactory

            +
            public DefaultHttpDataSourceFactory​(@Nullable
            +                                    String userAgent,
            +                                    int connectTimeoutMillis,
            +                                    int readTimeoutMillis,
            +                                    boolean allowCrossProtocolRedirects)
            +
            Deprecated.
            +
            +
            Parameters:
            +
            userAgent - The user agent that will be used, or null to use the default user + agent of the underlying platform.
            +
            connectTimeoutMillis - The connection timeout that should be used when requesting remote + data, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            readTimeoutMillis - The read timeout that should be used when requesting remote data, in + milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            allowCrossProtocolRedirects - Whether cross-protocol redirects (i.e. redirects from HTTP + to HTTPS and vice versa) are enabled.
            +
            +
          • +
          + + + +
            +
          • +

            DefaultHttpDataSourceFactory

            +
            public DefaultHttpDataSourceFactory​(@Nullable
            +                                    String userAgent,
            +                                    @Nullable
            +                                    TransferListener listener,
            +                                    int connectTimeoutMillis,
            +                                    int readTimeoutMillis,
            +                                    boolean allowCrossProtocolRedirects)
            +
            Deprecated.
            +
            +
            Parameters:
            +
            userAgent - The user agent that will be used, or null to use the default user + agent of the underlying platform.
            +
            listener - An optional listener.
            +
            connectTimeoutMillis - The connection timeout that should be used when requesting remote + data, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            readTimeoutMillis - The read timeout that should be used when requesting remote data, in + milliseconds. A timeout of zero is interpreted as an infinite timeout.
            +
            allowCrossProtocolRedirects - Whether cross-protocol redirects (i.e. redirects from HTTP + to HTTPS and vice versa) are enabled.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html new file mode 100644 index 0000000000..6d7f484507 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html @@ -0,0 +1,511 @@ + + + + +DefaultLoadErrorHandlingPolicy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultLoadErrorHandlingPolicy

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DummyDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DummyDataSource.html new file mode 100644 index 0000000000..8c737308e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/DummyDataSource.html @@ -0,0 +1,484 @@ + + + + +DummyDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummyDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.DummyDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.Factory.html new file mode 100644 index 0000000000..b2dafb51d1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.Factory.html @@ -0,0 +1,340 @@ + + + + +FileDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FileDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.FileDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html new file mode 100644 index 0000000000..dd34552454 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html @@ -0,0 +1,312 @@ + + + + +FileDataSource.FileDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FileDataSource.FileDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FileDataSourceException

            +
            public FileDataSourceException​(IOException cause)
            +
          • +
          + + + +
            +
          • +

            FileDataSourceException

            +
            public FileDataSourceException​(String message,
            +                               IOException cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.html new file mode 100644 index 0000000000..e6918222c3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSource.html @@ -0,0 +1,464 @@ + + + + +FileDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FileDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FileDataSource

            +
            public FileDataSource()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws FileDataSource.FileDataSourceException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            FileDataSource.FileDataSourceException
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSourceFactory.html new file mode 100644 index 0000000000..3f435507fb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/FileDataSourceFactory.html @@ -0,0 +1,337 @@ + + + + +FileDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FileDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.FileDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html new file mode 100644 index 0000000000..3880c2a25a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.BaseFactory.html @@ -0,0 +1,403 @@ + + + + +HttpDataSource.BaseFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.BaseFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html new file mode 100644 index 0000000000..c86547ed60 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html @@ -0,0 +1,336 @@ + + + + +HttpDataSource.CleartextNotPermittedException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.CleartextNotPermittedException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CleartextNotPermittedException

            +
            public CleartextNotPermittedException​(IOException cause,
            +                                      DataSpec dataSpec)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html new file mode 100644 index 0000000000..9281587c18 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.Factory.html @@ -0,0 +1,318 @@ + + + + +HttpDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HttpDataSource.Factory

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.Type.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.Type.html new file mode 100644 index 0000000000..1c37a94da3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.Type.html @@ -0,0 +1,188 @@ + + + + +HttpDataSource.HttpDataSourceException.Type (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type HttpDataSource.HttpDataSourceException.Type

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.html new file mode 100644 index 0000000000..213e436337 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.HttpDataSourceException.html @@ -0,0 +1,491 @@ + + + + +HttpDataSource.HttpDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.HttpDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            HttpDataSourceException

            +
            public HttpDataSourceException​(DataSpec dataSpec,
            +                               @Type
            +                               int type)
            +
          • +
          + + + +
            +
          • +

            HttpDataSourceException

            +
            public HttpDataSourceException​(String message,
            +                               DataSpec dataSpec,
            +                               @Type
            +                               int type)
            +
          • +
          + + + +
            +
          • +

            HttpDataSourceException

            +
            public HttpDataSourceException​(IOException cause,
            +                               DataSpec dataSpec,
            +                               @Type
            +                               int type)
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidContentTypeException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidContentTypeException.html new file mode 100644 index 0000000000..3041613965 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidContentTypeException.html @@ -0,0 +1,364 @@ + + + + +HttpDataSource.InvalidContentTypeException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.InvalidContentTypeException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            contentType

            +
            public final String contentType
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            InvalidContentTypeException

            +
            public InvalidContentTypeException​(String contentType,
            +                                   DataSpec dataSpec)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidResponseCodeException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidResponseCodeException.html new file mode 100644 index 0000000000..36bf296090 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.InvalidResponseCodeException.html @@ -0,0 +1,479 @@ + + + + +HttpDataSource.InvalidResponseCodeException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.InvalidResponseCodeException

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.RequestProperties.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.RequestProperties.html new file mode 100644 index 0000000000..da0b41f017 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.RequestProperties.html @@ -0,0 +1,419 @@ + + + + +HttpDataSource.RequestProperties (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HttpDataSource.RequestProperties

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        HttpDataSource
        +
        +
        +
        public static final class HttpDataSource.RequestProperties
        +extends Object
        +
        Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers + in a thread safe way to avoid the potential of creating snapshots of an inconsistent or + unintended state.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RequestProperties

            +
            public RequestProperties()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            set

            +
            public void set​(String name,
            +                String value)
            +
            Sets the specified property value for the specified name. If a property for + this name previously existed, the old value is replaced by the specified value.
            +
            +
            Parameters:
            +
            name - The name of the request property.
            +
            value - The value of the request property.
            +
            +
          • +
          + + + +
            +
          • +

            set

            +
            public void set​(Map<String,String> properties)
            +
            Sets the keys and values contained in the map. If a property previously existed, the old + value is replaced by the specified value. If a property previously existed and is not in the + map, the property is left unchanged.
            +
            +
            Parameters:
            +
            properties - The request properties.
            +
            +
          • +
          + + + +
            +
          • +

            clearAndSet

            +
            public void clearAndSet​(Map<String,String> properties)
            +
            Removes all properties previously existing and sets the keys and values of the map.
            +
            +
            Parameters:
            +
            properties - The request properties.
            +
            +
          • +
          + + + +
            +
          • +

            remove

            +
            public void remove​(String name)
            +
            Removes a request property by name.
            +
            +
            Parameters:
            +
            name - The name of the request property to remove.
            +
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears all request properties.
            +
          • +
          + + + +
            +
          • +

            getSnapshot

            +
            public Map<String,String> getSnapshot()
            +
            Gets a snapshot of the request properties.
            +
            +
            Returns:
            +
            A snapshot of the request properties.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html new file mode 100644 index 0000000000..cbb9274ae9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html @@ -0,0 +1,574 @@ + + + + +HttpDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HttpDataSource

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.LoadErrorInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.LoadErrorInfo.html new file mode 100644 index 0000000000..f4861bd3aa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.LoadErrorInfo.html @@ -0,0 +1,368 @@ + + + + +LoadErrorHandlingPolicy.LoadErrorInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LoadErrorHandlingPolicy.LoadErrorInfo

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing interface:
        +
        LoadErrorHandlingPolicy
        +
        +
        +
        public static final class LoadErrorHandlingPolicy.LoadErrorInfo
        +extends Object
        +
        Holds information about a load task error.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            loadEventInfo

            +
            public final LoadEventInfo loadEventInfo
            +
            The LoadEventInfo associated with the load that encountered an error.
            +
          • +
          + + + +
            +
          • +

            mediaLoadData

            +
            public final MediaLoadData mediaLoadData
            +
            MediaLoadData associated with the load that encountered an error.
            +
          • +
          + + + +
            +
          • +

            exception

            +
            public final IOException exception
            +
            The exception associated to the load error.
            +
          • +
          + + + +
            +
          • +

            errorCount

            +
            public final int errorCount
            +
            The number of errors this load task has encountered, including this one.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LoadErrorInfo

            +
            public LoadErrorInfo​(LoadEventInfo loadEventInfo,
            +                     MediaLoadData mediaLoadData,
            +                     IOException exception,
            +                     int errorCount)
            +
            Creates an instance with the given values.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html new file mode 100644 index 0000000000..686bc74cd5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.html @@ -0,0 +1,429 @@ + + + + +LoadErrorHandlingPolicy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface LoadErrorHandlingPolicy

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            getBlacklistDurationMsFor

            +
            default long getBlacklistDurationMsFor​(LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo)
            +
            Returns the number of milliseconds for which a resource associated to a provided load error + should be excluded, or C.TIME_UNSET if the resource should not be excluded.
            +
            +
            Parameters:
            +
            loadErrorInfo - A LoadErrorHandlingPolicy.LoadErrorInfo holding information about the load error.
            +
            Returns:
            +
            The exclusion duration in milliseconds, or C.TIME_UNSET if the resource should + not be excluded.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getRetryDelayMsFor

            +
            default long getRetryDelayMsFor​(LoadErrorHandlingPolicy.LoadErrorInfo loadErrorInfo)
            +
            Returns the number of milliseconds to wait before attempting the load again, or C.TIME_UNSET if the error is fatal and should not be retried. + +

            Loaders may ignore the retry delay returned by this method in order to wait for a specific + event before retrying. However, the load is retried if and only if this method does not return + C.TIME_UNSET.

            +
            +
            Parameters:
            +
            loadErrorInfo - A LoadErrorHandlingPolicy.LoadErrorInfo holding information about the load error.
            +
            Returns:
            +
            The number of milliseconds to wait before attempting the load again, or C.TIME_UNSET if the error is fatal and should not be retried.
            +
            +
          • +
          + + + +
            +
          • +

            onLoadTaskConcluded

            +
            default void onLoadTaskConcluded​(long loadTaskId)
            +
            Called once loadTaskId will not be associated with any more load errors. + +

            Implementations should clean up any resources associated with loadTaskId when this + method is called.

            +
          • +
          + + + +
            +
          • +

            getMinimumLoadableRetryCount

            +
            int getMinimumLoadableRetryCount​(int dataType)
            +
            Returns the minimum number of times to retry a load in the case of a load error, before + propagating the error.
            +
            +
            Parameters:
            +
            dataType - One of the C.DATA_TYPE_* constants indicating the type of data to + load.
            +
            Returns:
            +
            The minimum number of times to retry a load in the case of a load error, before + propagating the error.
            +
            See Also:
            +
            Loader.startLoading(Loadable, Callback, int)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Callback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Callback.html new file mode 100644 index 0000000000..e35c25eed4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Callback.html @@ -0,0 +1,353 @@ + + + + +Loader.Callback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Loader.Callback<T extends Loader.Loadable>

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonLoadCanceled​(T loadable, + long elapsedRealtimeMs, + long loadDurationMs, + boolean released) +
          Called when a load has been canceled.
          +
          voidonLoadCompleted​(T loadable, + long elapsedRealtimeMs, + long loadDurationMs) +
          Called when a load has completed.
          +
          Loader.LoadErrorActiononLoadError​(T loadable, + long elapsedRealtimeMs, + long loadDurationMs, + IOException error, + int errorCount) +
          Called when a load encounters an error.
          +
          +
        • +
        +
      • +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.LoadErrorAction.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.LoadErrorAction.html new file mode 100644 index 0000000000..d54fa481c3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.LoadErrorAction.html @@ -0,0 +1,271 @@ + + + + +Loader.LoadErrorAction (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Loader.LoadErrorAction

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.Loader.LoadErrorAction
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isRetry

            +
            public boolean isRetry()
            +
            Returns whether this is a retry action.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Loadable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Loadable.html new file mode 100644 index 0000000000..af3b9f2928 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.Loadable.html @@ -0,0 +1,294 @@ + + + + +Loader.Loadable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Loader.Loadable

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidcancelLoad() +
          Cancels the load.
          +
          voidload() +
          Performs the load, returning on completion or cancellation.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            cancelLoad

            +
            void cancelLoad()
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing load() call + will exit reasonably quickly after this method is called. The load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
          • +
          + + + +
            +
          • +

            load

            +
            void load()
            +   throws IOException
            +
            Performs the load, returning on completion or cancellation.
            +
            +
            Throws:
            +
            IOException - If the input could not be loaded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.ReleaseCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.ReleaseCallback.html new file mode 100644 index 0000000000..d10db606b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.ReleaseCallback.html @@ -0,0 +1,258 @@ + + + + +Loader.ReleaseCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Loader.ReleaseCallback

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        ChunkSampleStream
        +
        +
        +
        Enclosing class:
        +
        Loader
        +
        +
        +
        public static interface Loader.ReleaseCallback
        +
        A callback to be notified when a Loader has finished being released.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onLoaderReleased

            +
            void onLoaderReleased()
            +
            Called when the Loader has finished being released.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.UnexpectedLoaderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.UnexpectedLoaderException.html new file mode 100644 index 0000000000..a825478f1b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.UnexpectedLoaderException.html @@ -0,0 +1,297 @@ + + + + +Loader.UnexpectedLoaderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Loader.UnexpectedLoaderException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        Loader
        +
        +
        +
        public static final class Loader.UnexpectedLoaderException
        +extends IOException
        +
        Thrown when an unexpected exception or error is encountered during loading.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UnexpectedLoaderException

            +
            public UnexpectedLoaderException​(Throwable cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.html new file mode 100644 index 0000000000..d9801a4f13 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/Loader.html @@ -0,0 +1,682 @@ + + + + +Loader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Loader

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Loader

            +
            public Loader​(String threadName)
            +
            +
            Parameters:
            +
            threadName - A name for the loader's thread.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createRetryAction

            +
            public static Loader.LoadErrorAction createRetryAction​(boolean resetErrorCount,
            +                                                       long retryDelayMillis)
            +
            Creates a Loader.LoadErrorAction for retrying with the given parameters.
            +
            +
            Parameters:
            +
            resetErrorCount - Whether the previous error count should be set to zero.
            +
            retryDelayMillis - The number of milliseconds to wait before retrying.
            +
            Returns:
            +
            A Loader.LoadErrorAction for retrying with the given parameters.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            clearFatalError

            +
            public void clearFatalError()
            +
            Clears any stored fatal error.
            +
          • +
          + + + + + + + + + +
            +
          • +

            isLoading

            +
            public boolean isLoading()
            +
            Returns whether the loader is currently loading.
            +
          • +
          + + + +
            +
          • +

            cancelLoading

            +
            public void cancelLoading()
            +
            Cancels the current load.
            +
            +
            Throws:
            +
            IllegalStateException - If the loader is not currently loading.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Releases the loader. This method should be called when the loader is no longer required.
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release​(@Nullable
            +                    Loader.ReleaseCallback callback)
            +
            Releases the loader. This method should be called when the loader is no longer required.
            +
            +
            Parameters:
            +
            callback - An optional callback to be called on the loading thread once the loader has + been released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError​(int minRetryCount)
            +                     throws IOException
            +
            Description copied from interface: LoaderErrorThrower
            +
            Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the specified minimum number + of retries. Else does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface LoaderErrorThrower
            +
            Parameters:
            +
            minRetryCount - A minimum retry count that must be exceeded for a non-fatal error to be + thrown. Should be non-negative.
            +
            Throws:
            +
            IOException - The error.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.Dummy.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.Dummy.html new file mode 100644 index 0000000000..04bd2b04b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.Dummy.html @@ -0,0 +1,364 @@ + + + + +LoaderErrorThrower.Dummy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LoaderErrorThrower.Dummy

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.LoaderErrorThrower.Dummy
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Dummy

            +
            public Dummy()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError()
            +
            Description copied from interface: LoaderErrorThrower
            +
            Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the Loaders default + minimum number of retries. Else does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface LoaderErrorThrower
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            public void maybeThrowError​(int minRetryCount)
            +
            Description copied from interface: LoaderErrorThrower
            +
            Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the specified minimum number + of retries. Else does nothing.
            +
            +
            Specified by:
            +
            maybeThrowError in interface LoaderErrorThrower
            +
            Parameters:
            +
            minRetryCount - A minimum retry count that must be exceeded for a non-fatal error to be + thrown. Should be non-negative.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.html new file mode 100644 index 0000000000..1b99769f07 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/LoaderErrorThrower.html @@ -0,0 +1,315 @@ + + + + +LoaderErrorThrower (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface LoaderErrorThrower

      +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidmaybeThrowError() +
          Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the Loaders default + minimum number of retries.
          +
          voidmaybeThrowError​(int minRetryCount) +
          Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the specified minimum number + of retries.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            maybeThrowError

            +
            void maybeThrowError()
            +              throws IOException
            +
            Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the Loaders default + minimum number of retries. Else does nothing.
            +
            +
            Throws:
            +
            IOException - The error.
            +
            +
          • +
          + + + +
            +
          • +

            maybeThrowError

            +
            void maybeThrowError​(int minRetryCount)
            +              throws IOException
            +
            Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the specified minimum number + of retries. Else does nothing.
            +
            +
            Parameters:
            +
            minRetryCount - A minimum retry count that must be exceeded for a non-fatal error to be + thrown. Should be non-negative.
            +
            Throws:
            +
            IOException - The error.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html new file mode 100644 index 0000000000..a0b21b405c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.Parser.html @@ -0,0 +1,271 @@ + + + + +ParsingLoadable.Parser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ParsingLoadable.Parser<T>

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parse

            +
            T parse​(Uri uri,
            +        InputStream inputStream)
            + throws IOException
            +
            Parses an object from a response.
            +
            +
            Parameters:
            +
            uri - The source Uri of the response, after any redirection.
            +
            inputStream - An InputStream from which the response data can be read.
            +
            Returns:
            +
            The parsed object.
            +
            Throws:
            +
            ParserException - If an error occurs parsing the data.
            +
            IOException - If an error occurs reading data from the stream.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.html new file mode 100644 index 0000000000..6a6f301754 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ParsingLoadable.html @@ -0,0 +1,636 @@ + + + + +ParsingLoadable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ParsingLoadable<T>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.ParsingLoadable<T>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            loadTaskId

            +
            public final long loadTaskId
            +
            Identifies the load task for this loadable.
            +
          • +
          + + + +
            +
          • +

            dataSpec

            +
            public final DataSpec dataSpec
            +
            The DataSpec that defines the data to be loaded.
            +
          • +
          + + + +
            +
          • +

            type

            +
            public final int type
            +
            The type of the data. One of the DATA_TYPE_* constants defined in C. For + reporting only.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ParsingLoadable

            +
            public ParsingLoadable​(DataSource dataSource,
            +                       Uri uri,
            +                       int type,
            +                       ParsingLoadable.Parser<? extends T> parser)
            +
            +
            Parameters:
            +
            dataSource - A DataSource to use when loading the data.
            +
            uri - The Uri from which the object should be loaded.
            +
            type - See type.
            +
            parser - Parses the object from the response.
            +
            +
          • +
          + + + +
            +
          • +

            ParsingLoadable

            +
            public ParsingLoadable​(DataSource dataSource,
            +                       DataSpec dataSpec,
            +                       int type,
            +                       ParsingLoadable.Parser<? extends T> parser)
            +
            +
            Parameters:
            +
            dataSource - A DataSource to use when loading the data.
            +
            dataSpec - The DataSpec from which the object should be loaded.
            +
            type - See type.
            +
            parser - Parses the object from the response.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            load

            +
            public static <T> T load​(DataSource dataSource,
            +                         ParsingLoadable.Parser<? extends T> parser,
            +                         Uri uri,
            +                         int type)
            +                  throws IOException
            +
            Loads a single parsable object.
            +
            +
            Parameters:
            +
            dataSource - The DataSource through which the object should be read.
            +
            parser - The ParsingLoadable.Parser to parse the object from the response.
            +
            uri - The Uri of the object to read.
            +
            type - The type of the data. One of the CDATA_TYPE_* constants.
            +
            Returns:
            +
            The parsed object
            +
            Throws:
            +
            IOException - Thrown if there is an error while loading or parsing.
            +
            +
          • +
          + + + +
            +
          • +

            load

            +
            public static <T> T load​(DataSource dataSource,
            +                         ParsingLoadable.Parser<? extends T> parser,
            +                         DataSpec dataSpec,
            +                         int type)
            +                  throws IOException
            +
            Loads a single parsable object.
            +
            +
            Parameters:
            +
            dataSource - The DataSource through which the object should be read.
            +
            parser - The ParsingLoadable.Parser to parse the object from the response.
            +
            dataSpec - The DataSpec of the object to read.
            +
            type - The type of the data. One of the CDATA_TYPE_* constants.
            +
            Returns:
            +
            The parsed object
            +
            Throws:
            +
            IOException - Thrown if there is an error while loading or parsing.
            +
            +
          • +
          + + + +
            +
          • +

            getResult

            +
            @Nullable
            +public final T getResult()
            +
            Returns the loaded object, or null if an object has not been loaded.
            +
          • +
          + + + +
            +
          • +

            bytesLoaded

            +
            public long bytesLoaded()
            +
            Returns the number of bytes loaded. In the case that the network response was compressed, the + value returned is the size of the data after decompression. Must only be called after + the load completed, failed, or was canceled.
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            public Uri getUri()
            +
            Returns the Uri from which data was read. If redirection occurred, this is the + redirected uri. Must only be called after the load completed, failed, or was canceled.
            +
          • +
          + + + +
            +
          • +

            getResponseHeaders

            +
            public Map<String,List<String>> getResponseHeaders()
            +
            Returns the response headers associated with the load. Must only be called after the load + completed, failed, or was canceled.
            +
          • +
          + + + +
            +
          • +

            cancelLoad

            +
            public final void cancelLoad()
            +
            Description copied from interface: Loader.Loadable
            +
            Cancels the load. + +

            Loadable implementations should ensure that a currently executing Loader.Loadable.load() call + will exit reasonably quickly after this method is called. The Loader.Loadable.load() call may exit + either by returning or by throwing an IOException. + +

            If there is a currently executing Loader.Loadable.load() call, then the thread on which that call + is being made will be interrupted immediately after the call to this method. Hence + implementations do not need to (and should not attempt to) interrupt the loading thread + themselves. + +

            Although the loading thread will be interrupted, Loadable implementations should not use + the interrupted status of the loading thread in Loader.Loadable.load() to determine whether the load + has been canceled. This approach is not robust [Internal ref: b/79223737]. Instead, + implementations should use their own flag to signal cancelation (for example, using AtomicBoolean).

            +
            +
            Specified by:
            +
            cancelLoad in interface Loader.Loadable
            +
            +
          • +
          + + + +
            +
          • +

            load

            +
            public final void load()
            +                throws IOException
            +
            Description copied from interface: Loader.Loadable
            +
            Performs the load, returning on completion or cancellation.
            +
            +
            Specified by:
            +
            load in interface Loader.Loadable
            +
            Throws:
            +
            IOException - If the input could not be loaded.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html new file mode 100644 index 0000000000..5cf7236889 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html @@ -0,0 +1,509 @@ + + + + +PriorityDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PriorityDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.PriorityDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PriorityDataSource

            +
            public PriorityDataSource​(DataSource upstream,
            +                          PriorityTaskManager priorityTaskManager,
            +                          int priority)
            +
            +
            Parameters:
            +
            upstream - The upstream DataSource.
            +
            priorityTaskManager - The priority manager to which the task is registered.
            +
            priority - The priority of the task.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int max)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            max - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html new file mode 100644 index 0000000000..709e1a91ab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/PriorityDataSourceFactory.html @@ -0,0 +1,322 @@ + + + + +PriorityDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PriorityDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.PriorityDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html new file mode 100644 index 0000000000..5e150fc7b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html @@ -0,0 +1,310 @@ + + + + +RawResourceDataSource.RawResourceDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RawResourceDataSource.RawResourceDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RawResourceDataSourceException

            +
            public RawResourceDataSourceException​(String message)
            +
          • +
          + + + +
            +
          • +

            RawResourceDataSourceException

            +
            public RawResourceDataSourceException​(IOException e)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.html new file mode 100644 index 0000000000..6b2db9158d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.html @@ -0,0 +1,551 @@ + + + + +RawResourceDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RawResourceDataSource

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataReader, DataSource
        +
        +
        +
        public final class RawResourceDataSource
        +extends BaseDataSource
        +
        A DataSource for reading a raw resource inside the APK. + +

        URIs supported by this source are of one of the forms: + +

          +
        • rawresource:///id, where id is the integer identifier of a raw resource. +
        • android.resource:///id, where id is the integer identifier of a raw + resource. +
        • android.resource://[package]/[type/]name, where package is the name of the + package in which the resource is located, type is the resource type and + name is the resource name. The package and the type are optional. Their default value is + the package of this application and "raw", respectively. Using the two other forms is more + efficient. +
        + +

        buildRawResourceUri(int) can be used to build supported Uris.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            RAW_RESOURCE_SCHEME

            +
            public static final String RAW_RESOURCE_SCHEME
            +
            The scheme part of a raw resource URI.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RawResourceDataSource

            +
            public RawResourceDataSource​(Context context)
            +
            +
            Parameters:
            +
            context - A context.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html new file mode 100644 index 0000000000..d3d0222d51 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Factory.html @@ -0,0 +1,323 @@ + + + + +ResolvingDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ResolvingDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.ResolvingDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html new file mode 100644 index 0000000000..07d01b26b1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.Resolver.html @@ -0,0 +1,297 @@ + + + + +ResolvingDataSource.Resolver (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ResolvingDataSource.Resolver

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            resolveDataSpec

            +
            DataSpec resolveDataSpec​(DataSpec dataSpec)
            +                  throws IOException
            +
            Resolves a DataSpec before forwarding it to the wrapped DataSource. This + method is allowed to block until the DataSpec has been resolved. + +

            Note that this method is called for every new connection, so caching of results is + recommended, especially if network operations are involved.

            +
            +
            Parameters:
            +
            dataSpec - The original DataSpec.
            +
            Returns:
            +
            The resolved DataSpec.
            +
            Throws:
            +
            IOException - If an IOException occurred while resolving the DataSpec.
            +
            +
          • +
          + + + +
            +
          • +

            resolveReportedUri

            +
            default Uri resolveReportedUri​(Uri uri)
            +
            Resolves a URI reported by DataSource.getUri() for event reporting and caching + purposes. + +

            Implementations do not need to overwrite this method unless they want to change the + reported URI. + +

            This method is not allowed to block.

            +
            +
            Parameters:
            +
            uri - The URI as reported by DataSource.getUri().
            +
            Returns:
            +
            The resolved URI used for event reporting and caching.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html new file mode 100644 index 0000000000..19ed36bdc5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html @@ -0,0 +1,512 @@ + + + + +ResolvingDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ResolvingDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.ResolvingDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html new file mode 100644 index 0000000000..4f1261bcc2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html @@ -0,0 +1,567 @@ + + + + +StatsDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StatsDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.StatsDataSource
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataReader, DataSource
        +
        +
        +
        public final class StatsDataSource
        +extends Object
        +implements DataSource
        +
        DataSource wrapper which keeps track of bytes transferred, redirected uris, and response + headers.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StatsDataSource

            +
            public StatsDataSource​(DataSource dataSource)
            +
            Creates the stats data source.
            +
            +
            Parameters:
            +
            dataSource - The wrapped DataSource.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            resetBytesRead

            +
            public void resetBytesRead()
            +
            Resets the number of bytes read as returned from getBytesRead() to zero.
            +
          • +
          + + + +
            +
          • +

            getBytesRead

            +
            public long getBytesRead()
            +
            Returns the total number of bytes that have been read from the data source.
            +
          • +
          + + + +
            +
          • +

            getLastOpenedUri

            +
            public Uri getLastOpenedUri()
            +
            Returns the Uri associated with the last open(DataSpec) call. If redirection + occurred, this is the redirected uri.
            +
          • +
          + + + +
            +
          • +

            getLastResponseHeaders

            +
            public Map<String,List<String>> getLastResponseHeaders()
            +
            Returns the response headers associated with the last open(DataSpec) call.
            +
          • +
          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html new file mode 100644 index 0000000000..8893b8b344 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html @@ -0,0 +1,497 @@ + + + + +TeeDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TeeDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.TeeDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TeeDataSource

            +
            public TeeDataSource​(DataSource upstream,
            +                     DataSink dataSink)
            +
            +
            Parameters:
            +
            upstream - The upstream DataSource.
            +
            dataSink - The DataSink into which data is written.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int max)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            max - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TransferListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TransferListener.html new file mode 100644 index 0000000000..54f9052904 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/TransferListener.html @@ -0,0 +1,363 @@ + + + + +TransferListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface TransferListener

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onTransferInitializing

            +
            void onTransferInitializing​(DataSource source,
            +                            DataSpec dataSpec,
            +                            boolean isNetwork)
            +
            Called when a transfer is being initialized.
            +
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data for which the transfer is initialized.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          + + + +
            +
          • +

            onTransferStart

            +
            void onTransferStart​(DataSource source,
            +                     DataSpec dataSpec,
            +                     boolean isNetwork)
            +
            Called when a transfer starts.
            +
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          + + + +
            +
          • +

            onBytesTransferred

            +
            void onBytesTransferred​(DataSource source,
            +                        DataSpec dataSpec,
            +                        boolean isNetwork,
            +                        int bytesTransferred)
            +
            Called incrementally during a transfer.
            +
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            bytesTransferred - The number of bytes transferred since the previous call to this method
            +
            +
          • +
          + + + +
            +
          • +

            onTransferEnd

            +
            void onTransferEnd​(DataSource source,
            +                   DataSpec dataSpec,
            +                   boolean isNetwork)
            +
            Called when a transfer ends.
            +
            +
            Parameters:
            +
            source - The source performing the transfer.
            +
            dataSpec - Describes the data being transferred.
            +
            isNetwork - Whether the data is transferred through a network.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.UdpDataSourceException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.UdpDataSourceException.html new file mode 100644 index 0000000000..688f1fc2d3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.UdpDataSourceException.html @@ -0,0 +1,297 @@ + + + + +UdpDataSource.UdpDataSourceException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UdpDataSource.UdpDataSourceException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UdpDataSourceException

            +
            public UdpDataSourceException​(IOException cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.html new file mode 100644 index 0000000000..d085ce1956 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/UdpDataSource.html @@ -0,0 +1,606 @@ + + + + +UdpDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UdpDataSource

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_MAX_PACKET_SIZE

            +
            public static final int DEFAULT_MAX_PACKET_SIZE
            +
            The default maximum datagram packet size, in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_SOCKET_TIMEOUT_MILLIS

            +
            public static final int DEFAULT_SOCKET_TIMEOUT_MILLIS
            +
            The default socket timeout, in milliseconds.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + + +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            UdpDataSource

            +
            public UdpDataSource()
            +
          • +
          + + + +
            +
          • +

            UdpDataSource

            +
            public UdpDataSource​(int maxPacketSize)
            +
            Constructs a new instance.
            +
            +
            Parameters:
            +
            maxPacketSize - The maximum datagram packet size, in bytes.
            +
            +
          • +
          + + + +
            +
          • +

            UdpDataSource

            +
            public UdpDataSource​(int maxPacketSize,
            +                     int socketTimeoutMillis)
            +
            Constructs a new instance.
            +
            +
            Parameters:
            +
            maxPacketSize - The maximum datagram packet size, in bytes.
            +
            socketTimeoutMillis - The socket timeout in milliseconds. A timeout of zero is interpreted + as an infinite timeout.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws UdpDataSource.UdpDataSourceException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            UdpDataSource.UdpDataSourceException
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getLocalPort

            +
            public int getLocalPort()
            +
            Returns the local port number opened for the UDP connection, or UDP_PORT_UNSET if no + connection is open
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.CacheException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.CacheException.html new file mode 100644 index 0000000000..573fe526d0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.CacheException.html @@ -0,0 +1,329 @@ + + + + +Cache.CacheException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Cache.CacheException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CacheException

            +
            public CacheException​(String message)
            +
          • +
          + + + +
            +
          • +

            CacheException

            +
            public CacheException​(Throwable cause)
            +
          • +
          + + + +
            +
          • +

            CacheException

            +
            public CacheException​(String message,
            +                      Throwable cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.Listener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.Listener.html new file mode 100644 index 0000000000..f24ac1cf5c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.Listener.html @@ -0,0 +1,324 @@ + + + + +Cache.Listener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Cache.Listener

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.html new file mode 100644 index 0000000000..ff6fda1f43 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/Cache.html @@ -0,0 +1,861 @@ + + + + +Cache (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Cache

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        SimpleCache
        +
        +
        +
        public interface Cache
        +
        A cache that supports partial caching of resources. + +

        Terminology

        + +
          +
        • A resource is a complete piece of logical data, for example a complete media file. +
        • A cache key uniquely identifies a resource. URIs are often suitable for use as + cache keys, however this is not always the case. URIs are not suitable when caching + resources obtained from a service that generates multiple URIs for the same underlying + resource, for example because the service uses expiring URIs as a form of access control. +
        • A cache span is a byte range within a resource, which may or may not be cached. A + cache span that's not cached is called a hole span. A cache span that is cached + corresponds to a single underlying file in the cache. +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            UID_UNSET

            +
            static final long UID_UNSET
            +
            Returned by getUid() if initialization failed before the unique identifier was read or + generated.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getUid

            +
            long getUid()
            +
            Returns a non-negative unique identifier for the cache, or UID_UNSET if initialization + failed before the unique identifier was determined. + +

            Implementations are expected to generate and store the unique identifier alongside the + cached content. If the location of the cache is deleted or swapped, it is expected that a new + unique identifier will be generated when the cache is recreated.

            +
          • +
          + + + +
            +
          • +

            release

            +
            @WorkerThread
            +void release()
            +
            Releases the cache. This method must be called when the cache is no longer required. The cache + must not be used after calling this method. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
          • +
          + + + +
            +
          • +

            addListener

            +
            NavigableSet<CacheSpan> addListener​(String key,
            +                                    Cache.Listener listener)
            +
            Registers a listener to listen for changes to a given resource. + +

            No guarantees are made about the thread or threads on which the listener is called, but it + is guaranteed that listener methods will be called in a serial fashion (i.e. one at a time) and + in the same order as events occurred.

            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            listener - The listener to add.
            +
            Returns:
            +
            The current spans for the resource.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            void removeListener​(String key,
            +                    Cache.Listener listener)
            +
            Unregisters a listener.
            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            listener - The listener to remove.
            +
            +
          • +
          + + + +
            +
          • +

            getCachedSpans

            +
            NavigableSet<CacheSpan> getCachedSpans​(String key)
            +
            Returns the cached spans for a given resource.
            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            Returns:
            +
            The spans for the key.
            +
            +
          • +
          + + + +
            +
          • +

            getKeys

            +
            Set<String> getKeys()
            +
            Returns the cache keys of all of the resources that are at least partially cached.
            +
          • +
          + + + +
            +
          • +

            getCacheSpace

            +
            long getCacheSpace()
            +
            Returns the total disk space in bytes used by the cache.
            +
          • +
          + + + +
            +
          • +

            startReadWrite

            +
            @WorkerThread
            +CacheSpan startReadWrite​(String key,
            +                         long position,
            +                         long length)
            +                  throws InterruptedException,
            +                         Cache.CacheException
            +
            A caller should invoke this method when they require data starting from a given position in a + given resource. + +

            If there is a cache entry that overlaps the position, then the returned CacheSpan + defines the file in which the data is stored. CacheSpan.isCached is true. The caller + may read from the cache file, but does not acquire any locks. + +

            If there is no cache entry overlapping position, then the returned CacheSpan + defines a hole in the cache starting at position into which the caller may write as it + obtains the data from some other source. The returned CacheSpan serves as a lock. + Whilst the caller holds the lock it may write data into the hole. It may split data into + multiple files. When the caller has finished writing a file it should commit it to the cache by + calling commitFile(File, long). When the caller has finished writing, it must release + the lock by calling releaseHoleSpan(com.google.android.exoplayer2.upstream.cache.CacheSpan). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position in the resource from which data is required.
            +
            length - The length of the data being requested, or C.LENGTH_UNSET if unbounded. + The length is ignored if there is a cache entry that overlaps the position. Else, it + defines the maximum length of the hole CacheSpan that's returned. Cache + implementations may support parallel writes into non-overlapping holes, and so passing the + actual required length should be preferred to passing C.LENGTH_UNSET when possible.
            +
            Returns:
            +
            The CacheSpan.
            +
            Throws:
            +
            InterruptedException - If the thread was interrupted.
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            startReadWriteNonBlocking

            +
            @WorkerThread
            +@Nullable
            +CacheSpan startReadWriteNonBlocking​(String key,
            +                                    long position,
            +                                    long length)
            +                             throws Cache.CacheException
            +
            Same as startReadWrite(String, long, long). However, if the cache entry is locked, + then instead of blocking, this method will return null as the CacheSpan. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position in the resource from which data is required.
            +
            length - The length of the data being requested, or C.LENGTH_UNSET if unbounded. + The length is ignored if there is a cache entry that overlaps the position. Else, it + defines the range of data locked by the returned CacheSpan.
            +
            Returns:
            +
            The CacheSpan. Or null if the cache entry is locked.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            startFile

            +
            @WorkerThread
            +File startFile​(String key,
            +               long position,
            +               long length)
            +        throws Cache.CacheException
            +
            Obtains a cache file into which data can be written. Must only be called when holding a + corresponding hole CacheSpan obtained from startReadWrite(String, long, long). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            key - The cache key of the resource being written.
            +
            position - The starting position in the resource from which data will be written.
            +
            length - The length of the data being written, or C.LENGTH_UNSET if unknown. Used + only to ensure that there is enough space in the cache.
            +
            Returns:
            +
            The file into which data should be written.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            commitFile

            +
            @WorkerThread
            +void commitFile​(File file,
            +                long length)
            +         throws Cache.CacheException
            +
            Commits a file into the cache. Must only be called when holding a corresponding hole CacheSpan obtained from startReadWrite(String, long, long). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            file - A newly written cache file.
            +
            length - The length of the newly written cache file in bytes.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            removeResource

            +
            @WorkerThread
            +void removeResource​(String key)
            +
            Removes all CacheSpans for a resource, deleting the underlying files.
            +
            +
            Parameters:
            +
            key - The cache key of the resource being removed.
            +
            +
          • +
          + + + +
            +
          • +

            removeSpan

            +
            @WorkerThread
            +void removeSpan​(CacheSpan span)
            +
            Removes a cached CacheSpan from the cache, deleting the underlying file. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            span - The CacheSpan to remove.
            +
            +
          • +
          + + + +
            +
          • +

            isCached

            +
            boolean isCached​(String key,
            +                 long position,
            +                 long length)
            +
            Returns whether the specified range of data in a resource is fully cached.
            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The length of the data.
            +
            Returns:
            +
            true if the data is available in the Cache otherwise false;
            +
            +
          • +
          + + + +
            +
          • +

            getCachedLength

            +
            long getCachedLength​(String key,
            +                     long position,
            +                     long length)
            +
            Returns the length of continuously cached data starting from position, up to a maximum + of maxLength, of a resource. If position isn't cached then -holeLength + is returned, where holeLength is the length of continuously uncached data starting from + position, up to a maximum of maxLength.
            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The maximum length of the data or hole to be returned. C.LENGTH_UNSET is + permitted, and is equivalent to passing Long.MAX_VALUE.
            +
            Returns:
            +
            The length of the continuously cached data, or -holeLength if position + isn't cached.
            +
            +
          • +
          + + + +
            +
          • +

            getCachedBytes

            +
            long getCachedBytes​(String key,
            +                    long position,
            +                    long length)
            +
            Returns the total number of cached bytes between position (inclusive) and + (position + length) (exclusive) of a resource.
            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The length of the data to check. C.LENGTH_UNSET is permitted, and is + equivalent to passing Long.MAX_VALUE.
            +
            Returns:
            +
            The total number of cached bytes.
            +
            +
          • +
          + + + +
            +
          • +

            applyContentMetadataMutations

            +
            @WorkerThread
            +void applyContentMetadataMutations​(String key,
            +                                   ContentMetadataMutations mutations)
            +                            throws Cache.CacheException
            +
            Applies mutations to the ContentMetadata for the given resource. A new CachedContent is added if there isn't one already for the resource. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            mutations - Contains mutations to be applied to the metadata.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.CacheDataSinkException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.CacheDataSinkException.html new file mode 100644 index 0000000000..95be1adf9b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.CacheDataSinkException.html @@ -0,0 +1,302 @@ + + + + +CacheDataSink.CacheDataSinkException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSink.CacheDataSinkException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CacheDataSinkException

            +
            public CacheDataSinkException​(IOException cause)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html new file mode 100644 index 0000000000..ad16cd5792 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.Factory.html @@ -0,0 +1,400 @@ + + + + +CacheDataSink.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSink.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Factory

            +
            public Factory()
            +
            Creates an instance.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setCache

            +
            public CacheDataSink.Factory setCache​(Cache cache)
            +
            Sets the cache to which data will be written. + +

            Must be called before the factory is used.

            +
            +
            Parameters:
            +
            cache - The cache to which data will be written.
            +
            Returns:
            +
            This factory.
            +
            +
          • +
          + + + +
            +
          • +

            setFragmentSize

            +
            public CacheDataSink.Factory setFragmentSize​(long fragmentSize)
            +
            Sets the cache file fragment size. For requests that should be fragmented into multiple cache + files, this is the maximum size of a cache file in bytes. If set to C.LENGTH_UNSET + then no fragmentation will occur. Using a small value allows for finer-grained cache eviction + policies, at the cost of increased overhead both on the cache implementation and the file + system. Values under (2 * 1024 * 1024) are not recommended. + +

            The default value is CacheDataSink.DEFAULT_FRAGMENT_SIZE.

            +
            +
            Parameters:
            +
            fragmentSize - The fragment size in bytes, or C.LENGTH_UNSET to disable + fragmentation.
            +
            Returns:
            +
            This factory.
            +
            +
          • +
          + + + +
            +
          • +

            setBufferSize

            +
            public CacheDataSink.Factory setBufferSize​(int bufferSize)
            +
            Sets the size of an in-memory buffer used when writing to a cache file. A zero or negative + value disables buffering. + +

            The default value is CacheDataSink.DEFAULT_BUFFER_SIZE.

            +
            +
            Parameters:
            +
            bufferSize - The buffer size in bytes.
            +
            Returns:
            +
            This factory.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.html new file mode 100644 index 0000000000..8d81736e47 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSink.html @@ -0,0 +1,522 @@ + + + + +CacheDataSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSink
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_FRAGMENT_SIZE

            +
            public static final long DEFAULT_FRAGMENT_SIZE
            +
            Default fragmentSize recommended for caching use cases.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DEFAULT_BUFFER_SIZE

            +
            public static final int DEFAULT_BUFFER_SIZE
            +
            Default buffer size in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CacheDataSink

            +
            public CacheDataSink​(Cache cache,
            +                     long fragmentSize)
            +
            Constructs an instance using DEFAULT_BUFFER_SIZE.
            +
            +
            Parameters:
            +
            cache - The cache into which data should be written.
            +
            fragmentSize - For requests that should be fragmented into multiple cache files, this is + the maximum size of a cache file in bytes. If set to C.LENGTH_UNSET then no + fragmentation will occur. Using a small value allows for finer-grained cache eviction + policies, at the cost of increased overhead both on the cache implementation and the file + system. Values under (2 * 1024 * 1024) are not recommended.
            +
            +
          • +
          + + + +
            +
          • +

            CacheDataSink

            +
            public CacheDataSink​(Cache cache,
            +                     long fragmentSize,
            +                     int bufferSize)
            +
            +
            Parameters:
            +
            cache - The cache into which data should be written.
            +
            fragmentSize - For requests that should be fragmented into multiple cache files, this is + the maximum size of a cache file in bytes. If set to C.LENGTH_UNSET then no + fragmentation will occur. Using a small value allows for finer-grained cache eviction + policies, at the cost of increased overhead both on the cache implementation and the file + system. Values under (2 * 1024 * 1024) are not recommended.
            +
            bufferSize - The buffer size in bytes for writing to a cache file. A zero or negative + value disables buffering.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory.html new file mode 100644 index 0000000000..818df5204e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSinkFactory.html @@ -0,0 +1,350 @@ + + + + +CacheDataSinkFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSinkFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSinkFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.CacheIgnoredReason.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.CacheIgnoredReason.html new file mode 100644 index 0000000000..9b26283417 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.CacheIgnoredReason.html @@ -0,0 +1,189 @@ + + + + +CacheDataSource.CacheIgnoredReason (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type CacheDataSource.CacheIgnoredReason

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.EventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.EventListener.html new file mode 100644 index 0000000000..00761e92cb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.EventListener.html @@ -0,0 +1,283 @@ + + + + +CacheDataSource.EventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CacheDataSource.EventListener

      +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonCachedBytesRead​(long cacheSizeBytes, + long cachedBytesRead) +
          Called when bytes have been read from the cache.
          +
          voidonCacheIgnored​(int reason) +
          Called when the current request ignores cache.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCachedBytesRead

            +
            void onCachedBytesRead​(long cacheSizeBytes,
            +                       long cachedBytesRead)
            +
            Called when bytes have been read from the cache.
            +
            +
            Parameters:
            +
            cacheSizeBytes - Current cache size in bytes.
            +
            cachedBytesRead - Total bytes read from the cache since this method was last called.
            +
            +
          • +
          + + + +
            +
          • +

            onCacheIgnored

            +
            void onCacheIgnored​(@CacheIgnoredReason
            +                    int reason)
            +
            Called when the current request ignores cache.
            +
            +
            Parameters:
            +
            reason - Reason cache is bypassed.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html new file mode 100644 index 0000000000..3daeaa9b43 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Factory.html @@ -0,0 +1,679 @@ + + + + +CacheDataSource.Factory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSource.Factory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Flags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Flags.html new file mode 100644 index 0000000000..aba79b83ff --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.Flags.html @@ -0,0 +1,189 @@ + + + + +CacheDataSource.Flags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type CacheDataSource.Flags

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html new file mode 100644 index 0000000000..12b7fbc201 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html @@ -0,0 +1,828 @@ + + + + +CacheDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSource
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataReader, DataSource
        +
        +
        +
        public final class CacheDataSource
        +extends Object
        +implements DataSource
        +
        A DataSource that reads and writes a Cache. Requests are fulfilled from the cache + when possible. When data is not cached it is requested from an upstream DataSource and + written into the cache.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            FLAG_BLOCK_ON_CACHE

            +
            public static final int FLAG_BLOCK_ON_CACHE
            +
            A flag indicating whether we will block reads if the cache key is locked. If unset then data is + read from upstream if the cache key is locked, regardless of whether the data is cached.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_IGNORE_CACHE_ON_ERROR

            +
            public static final int FLAG_IGNORE_CACHE_ON_ERROR
            +
            A flag indicating whether the cache is bypassed following any cache related error. If set + then cache related exceptions may be thrown for one cycle of open, read and close calls. + Subsequent cycles of these calls will then bypass the cache.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            FLAG_IGNORE_CACHE_FOR_UNSET_LENGTH_REQUESTS

            +
            public static final int FLAG_IGNORE_CACHE_FOR_UNSET_LENGTH_REQUESTS
            +
            A flag indicating that the cache should be bypassed for requests whose lengths are unset. This + flag is provided for legacy reasons only.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            CACHE_IGNORED_REASON_ERROR

            +
            public static final int CACHE_IGNORED_REASON_ERROR
            +
            Cache ignored due to a cache related error.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            CACHE_IGNORED_REASON_UNSET_LENGTH

            +
            public static final int CACHE_IGNORED_REASON_UNSET_LENGTH
            +
            Cache ignored due to a request with an unset length.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getCache

            +
            public Cache getCache()
            +
            Returns the Cache used by this instance.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] buffer,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            buffer - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html new file mode 100644 index 0000000000..5fcc29076b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html @@ -0,0 +1,426 @@ + + + + +CacheDataSourceFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheDataSourceFactory

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheEvictor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheEvictor.html new file mode 100644 index 0000000000..d3448c7d97 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheEvictor.html @@ -0,0 +1,317 @@ + + + + +CacheEvictor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CacheEvictor

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            requiresCacheSpanTouches

            +
            boolean requiresCacheSpanTouches()
            +
            Returns whether the evictor requires the Cache to touch CacheSpans + when it accesses them. Implementations that do not use CacheSpan.lastTouchTimestamp + should return false.
            +
          • +
          + + + +
            +
          • +

            onCacheInitialized

            +
            void onCacheInitialized()
            +
            Called when cache has been initialized.
            +
          • +
          + + + +
            +
          • +

            onStartFile

            +
            void onStartFile​(Cache cache,
            +                 String key,
            +                 long position,
            +                 long length)
            +
            Called when a writer starts writing to the cache.
            +
            +
            Parameters:
            +
            cache - The source of the event.
            +
            key - The key being written.
            +
            position - The starting position of the data being written.
            +
            length - The length of the data being written, or C.LENGTH_UNSET if unknown.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheKeyFactory.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheKeyFactory.html new file mode 100644 index 0000000000..310791584f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheKeyFactory.html @@ -0,0 +1,301 @@ + + + + +CacheKeyFactory (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CacheKeyFactory

      +
      +
      +
      +
        +
      • +
        +
        public interface CacheKeyFactory
        +
        Factory for cache keys.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            buildCacheKey

            +
            String buildCacheKey​(DataSpec dataSpec)
            +
            Returns the cache key of the resource containing the data defined by a DataSpec. + +

            Note that since the returned cache key corresponds to the whole resource, implementations + must not return different cache keys for DataSpecs that define different + ranges of the same resource. As a result, implementations should not use fields such as DataSpec.position and DataSpec.length.

            +
            +
            Parameters:
            +
            dataSpec - The DataSpec.
            +
            Returns:
            +
            The cache key of the resource.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheSpan.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheSpan.html new file mode 100644 index 0000000000..7b31b251a0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheSpan.html @@ -0,0 +1,537 @@ + + + + +CacheSpan (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheSpan

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheSpan
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            key

            +
            public final String key
            +
            The cache key that uniquely identifies the resource.
            +
          • +
          + + + +
            +
          • +

            position

            +
            public final long position
            +
            The position of the CacheSpan in the resource.
            +
          • +
          + + + +
            +
          • +

            length

            +
            public final long length
            +
            The length of the CacheSpan, or C.LENGTH_UNSET if this is an open-ended hole.
            +
          • +
          + + + +
            +
          • +

            isCached

            +
            public final boolean isCached
            +
            Whether the CacheSpan is cached.
            +
          • +
          + + + +
            +
          • +

            file

            +
            @Nullable
            +public final File file
            +
            The file corresponding to this CacheSpan, or null if isCached is false.
            +
          • +
          + + + +
            +
          • +

            lastTouchTimestamp

            +
            public final long lastTouchTimestamp
            +
            The last touch timestamp, or C.TIME_UNSET if isCached is false.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CacheSpan

            +
            public CacheSpan​(String key,
            +                 long position,
            +                 long length)
            +
            Creates a hole CacheSpan which isn't cached, has no last touch timestamp and no file + associated.
            +
            +
            Parameters:
            +
            key - The cache key that uniquely identifies the resource.
            +
            position - The position of the CacheSpan in the resource.
            +
            length - The length of the CacheSpan, or C.LENGTH_UNSET if this is an + open-ended hole.
            +
            +
          • +
          + + + +
            +
          • +

            CacheSpan

            +
            public CacheSpan​(String key,
            +                 long position,
            +                 long length,
            +                 long lastTouchTimestamp,
            +                 @Nullable
            +                 File file)
            +
            Creates a CacheSpan.
            +
            +
            Parameters:
            +
            key - The cache key that uniquely identifies the resource.
            +
            position - The position of the CacheSpan in the resource.
            +
            length - The length of the CacheSpan, or C.LENGTH_UNSET if this is an + open-ended hole.
            +
            lastTouchTimestamp - The last touch timestamp, or C.TIME_UNSET if isCached is false.
            +
            file - The file corresponding to this CacheSpan, or null if it's a hole.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.ProgressListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.ProgressListener.html new file mode 100644 index 0000000000..048097fe1c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.ProgressListener.html @@ -0,0 +1,265 @@ + + + + +CacheWriter.ProgressListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CacheWriter.ProgressListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        CacheWriter
        +
        +
        +
        public static interface CacheWriter.ProgressListener
        +
        Receives progress updates during cache operations.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonProgress​(long requestLength, + long bytesCached, + long newBytesCached) +
          Called when progress is made during a cache operation.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onProgress

            +
            void onProgress​(long requestLength,
            +                long bytesCached,
            +                long newBytesCached)
            +
            Called when progress is made during a cache operation.
            +
            +
            Parameters:
            +
            requestLength - The length of the content being cached in bytes, or C.LENGTH_UNSET if unknown.
            +
            bytesCached - The number of bytes that are cached.
            +
            newBytesCached - The number of bytes that have been newly cached since the last progress + update.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.html new file mode 100644 index 0000000000..0acd42e4d0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CacheWriter.html @@ -0,0 +1,427 @@ + + + + +CacheWriter (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CacheWriter

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CacheWriter
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class CacheWriter
        +extends Object
        +
        Caching related utility methods.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DEFAULT_BUFFER_SIZE_BYTES

            +
            public static final int DEFAULT_BUFFER_SIZE_BYTES
            +
            Default buffer size to be used while caching.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CacheWriter

            +
            public CacheWriter​(CacheDataSource dataSource,
            +                   DataSpec dataSpec,
            +                   boolean allowShortContent,
            +                   @Nullable
            +                   byte[] temporaryBuffer,
            +                   @Nullable
            +                   CacheWriter.ProgressListener progressListener)
            +
            +
            Parameters:
            +
            dataSource - A CacheDataSource that writes to the target cache.
            +
            dataSpec - Defines the data to be written.
            +
            allowShortContent - Whether it's allowed for the content to end before the request as + defined by the DataSpec. If true and the request exceeds the length of the + content, then the content will be cached to the end. If false and the request + exceeds the length of the content, cache will throw an IOException.
            +
            temporaryBuffer - A temporary buffer to be used during caching, or null if the + writer should instantiate its own internal temporary buffer.
            +
            progressListener - An optional progress listener.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            cancel

            +
            public void cancel()
            +
            Cancels this writer's caching operation. cache checks for cancelation frequently + during execution, and throws an InterruptedIOException if it sees that the caching + operation has been canceled.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html new file mode 100644 index 0000000000..c1b35b974a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html @@ -0,0 +1,485 @@ + + + + +CachedRegionTracker (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CachedRegionTracker

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Cache.Listener
        +
        +
        +
        public final class CachedRegionTracker
        +extends Object
        +implements Cache.Listener
        +
        Utility class for efficiently tracking regions of data that are stored in a Cache + for a given cache key.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadata.html new file mode 100644 index 0000000000..23a6edc9f2 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadata.html @@ -0,0 +1,463 @@ + + + + +ContentMetadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ContentMetadata

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        DefaultContentMetadata
        +
        +
        +
        public interface ContentMetadata
        +
        Interface for an immutable snapshot of keyed metadata.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            KEY_CUSTOM_PREFIX

            +
            static final String KEY_CUSTOM_PREFIX
            +
            Prefix for custom metadata keys. Applications can use keys starting with this prefix without + any risk of their keys colliding with ones defined by the ExoPlayer library.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            KEY_REDIRECTED_URI

            +
            static final String KEY_REDIRECTED_URI
            +
            Key for redirected uri (type: String).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            KEY_CONTENT_LENGTH

            +
            static final String KEY_CONTENT_LENGTH
            +
            Key for content length in bytes (type: long).
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            get

            +
            @Nullable
            +byte[] get​(String key,
            +           @Nullable
            +           byte[] defaultValue)
            +
            Returns a metadata value.
            +
            +
            Parameters:
            +
            key - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            @Nullable
            +String get​(String key,
            +           @Nullable
            +           String defaultValue)
            +
            Returns a metadata value.
            +
            +
            Parameters:
            +
            key - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            long get​(String key,
            +         long defaultValue)
            +
            Returns a metadata value.
            +
            +
            Parameters:
            +
            key - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            contains

            +
            boolean contains​(String key)
            +
            Returns whether the metadata is available.
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html new file mode 100644 index 0000000000..440f8f9eeb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/ContentMetadataMutations.html @@ -0,0 +1,481 @@ + + + + +ContentMetadataMutations (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ContentMetadataMutations

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class ContentMetadataMutations
        +extends Object
        +
        Defines multiple mutations on metadata value which are applied atomically. This class isn't + thread safe.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ContentMetadataMutations

            +
            public ContentMetadataMutations()
            +
            Constructs a DefaultMetadataMutations.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + + + + + +
            +
          • +

            set

            +
            public ContentMetadataMutations set​(String name,
            +                                    String value)
            +
            Adds a mutation to set a metadata value.
            +
            +
            Parameters:
            +
            name - The name of the metadata value.
            +
            value - The value to be set.
            +
            Returns:
            +
            This instance, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            set

            +
            public ContentMetadataMutations set​(String name,
            +                                    long value)
            +
            Adds a mutation to set a metadata value.
            +
            +
            Parameters:
            +
            name - The name of the metadata value.
            +
            value - The value to be set.
            +
            Returns:
            +
            This instance, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            set

            +
            public ContentMetadataMutations set​(String name,
            +                                    byte[] value)
            +
            Adds a mutation to set a metadata value.
            +
            +
            Parameters:
            +
            name - The name of the metadata value.
            +
            value - The value to be set.
            +
            Returns:
            +
            This instance, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            remove

            +
            public ContentMetadataMutations remove​(String name)
            +
            Adds a mutation to remove a metadata value.
            +
            +
            Parameters:
            +
            name - The name of the metadata value.
            +
            Returns:
            +
            This instance, for convenience.
            +
            +
          • +
          + + + +
            +
          • +

            getRemovedValues

            +
            public List<String> getRemovedValues()
            +
            Returns a list of names of metadata values to be removed.
            +
          • +
          + + + +
            +
          • +

            getEditedValues

            +
            public Map<String,Object> getEditedValues()
            +
            Returns a map of metadata name, value pairs to be set. Values are copied.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/DefaultContentMetadata.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/DefaultContentMetadata.html new file mode 100644 index 0000000000..1f21fb7974 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/DefaultContentMetadata.html @@ -0,0 +1,547 @@ + + + + +DefaultContentMetadata (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DefaultContentMetadata

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DefaultContentMetadata

            +
            public DefaultContentMetadata()
            +
          • +
          + + + +
            +
          • +

            DefaultContentMetadata

            +
            public DefaultContentMetadata​(Map<String,byte[]> metadata)
            +
            +
            Parameters:
            +
            metadata - The metadata entries in their raw byte array form.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            entrySet

            +
            public Set<Map.Entry<String,byte[]>> entrySet()
            +
            Returns the set of metadata entries in their raw byte array form.
            +
          • +
          + + + +
            +
          • +

            get

            +
            @Nullable
            +public final byte[] get​(String name,
            +                        @Nullable
            +                        byte[] defaultValue)
            +
            Description copied from interface: ContentMetadata
            +
            Returns a metadata value.
            +
            +
            Specified by:
            +
            get in interface ContentMetadata
            +
            Parameters:
            +
            name - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            @Nullable
            +public final String get​(String name,
            +                        @Nullable
            +                        String defaultValue)
            +
            Description copied from interface: ContentMetadata
            +
            Returns a metadata value.
            +
            +
            Specified by:
            +
            get in interface ContentMetadata
            +
            Parameters:
            +
            name - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            public final long get​(String name,
            +                      long defaultValue)
            +
            Description copied from interface: ContentMetadata
            +
            Returns a metadata value.
            +
            +
            Specified by:
            +
            get in interface ContentMetadata
            +
            Parameters:
            +
            name - Key of the metadata to be returned.
            +
            defaultValue - Value to return if the metadata doesn't exist.
            +
            Returns:
            +
            The metadata value.
            +
            +
          • +
          + + + +
            +
          • +

            contains

            +
            public final boolean contains​(String name)
            +
            Description copied from interface: ContentMetadata
            +
            Returns whether the metadata is available.
            +
            +
            Specified by:
            +
            contains in interface ContentMetadata
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html new file mode 100644 index 0000000000..992dbe635a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/LeastRecentlyUsedCacheEvictor.html @@ -0,0 +1,458 @@ + + + + +LeastRecentlyUsedCacheEvictor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LeastRecentlyUsedCacheEvictor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/NoOpCacheEvictor.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/NoOpCacheEvictor.html new file mode 100644 index 0000000000..4d041e2c24 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/NoOpCacheEvictor.html @@ -0,0 +1,461 @@ + + + + +NoOpCacheEvictor (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NoOpCacheEvictor

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Cache.Listener, CacheEvictor
        +
        +
        +
        public final class NoOpCacheEvictor
        +extends Object
        +implements CacheEvictor
        +
        Evictor that doesn't ever evict cache files. + + Warning: Using this evictor might have unforeseeable consequences if cache + size is not managed elsewhere.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/SimpleCache.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/SimpleCache.html new file mode 100644 index 0000000000..9db1ba04b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/SimpleCache.html @@ -0,0 +1,1154 @@ + + + + +SimpleCache (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SimpleCache

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.cache.SimpleCache
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Cache
        +
        +
        +
        public final class SimpleCache
        +extends Object
        +implements Cache
        +
        A Cache implementation that maintains an in-memory representation. + +

        Only one instance of SimpleCache is allowed for a given directory at a given time. + +

        To delete a SimpleCache, use delete(File, DatabaseProvider) rather than deleting the + directory and its contents directly. This is necessary to ensure that associated index data is + also removed.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SimpleCache

            +
            @Deprecated
            +public SimpleCache​(File cacheDir,
            +                   CacheEvictor evictor)
            +
            Deprecated. +
            Use a constructor that takes a DatabaseProvider for improved performance.
            +
            +
            Constructs the cache. The cache will delete any unrecognized files from the directory. Hence + the directory cannot be used to store other files.
            +
            +
            Parameters:
            +
            cacheDir - A dedicated cache directory.
            +
            evictor - The evictor to be used. For download use cases where cache eviction should not + occur, use NoOpCacheEvictor.
            +
            +
          • +
          + + + +
            +
          • +

            SimpleCache

            +
            @Deprecated
            +public SimpleCache​(File cacheDir,
            +                   CacheEvictor evictor,
            +                   @Nullable
            +                   byte[] secretKey)
            +
            Deprecated. +
            Use a constructor that takes a DatabaseProvider for improved performance.
            +
            +
            Constructs the cache. The cache will delete any unrecognized files from the directory. Hence + the directory cannot be used to store other files.
            +
            +
            Parameters:
            +
            cacheDir - A dedicated cache directory.
            +
            evictor - The evictor to be used. For download use cases where cache eviction should not + occur, use NoOpCacheEvictor.
            +
            secretKey - If not null, cache keys will be stored encrypted on filesystem using AES/CBC. + The key must be 16 bytes long.
            +
            +
          • +
          + + + +
            +
          • +

            SimpleCache

            +
            @Deprecated
            +public SimpleCache​(File cacheDir,
            +                   CacheEvictor evictor,
            +                   @Nullable
            +                   byte[] secretKey,
            +                   boolean encrypt)
            +
            Deprecated. +
            Use a constructor that takes a DatabaseProvider for improved performance.
            +
            +
            Constructs the cache. The cache will delete any unrecognized files from the directory. Hence + the directory cannot be used to store other files.
            +
            +
            Parameters:
            +
            cacheDir - A dedicated cache directory.
            +
            evictor - The evictor to be used. For download use cases where cache eviction should not + occur, use NoOpCacheEvictor.
            +
            secretKey - If not null, cache keys will be stored encrypted on filesystem using AES/CBC. + The key must be 16 bytes long.
            +
            encrypt - Whether the index will be encrypted when written. Must be false if + secretKey is null.
            +
            +
          • +
          + + + +
            +
          • +

            SimpleCache

            +
            public SimpleCache​(File cacheDir,
            +                   CacheEvictor evictor,
            +                   DatabaseProvider databaseProvider)
            +
            Constructs the cache. The cache will delete any unrecognized files from the directory. Hence + the directory cannot be used to store other files.
            +
            +
            Parameters:
            +
            cacheDir - A dedicated cache directory.
            +
            evictor - The evictor to be used. For download use cases where cache eviction should not + occur, use NoOpCacheEvictor.
            +
            databaseProvider - Provides the database in which the cache index is stored.
            +
            +
          • +
          + + + +
            +
          • +

            SimpleCache

            +
            public SimpleCache​(File cacheDir,
            +                   CacheEvictor evictor,
            +                   @Nullable
            +                   DatabaseProvider databaseProvider,
            +                   @Nullable
            +                   byte[] legacyIndexSecretKey,
            +                   boolean legacyIndexEncrypt,
            +                   boolean preferLegacyIndex)
            +
            Constructs the cache. The cache will delete any unrecognized files from the cache directory. + Hence the directory cannot be used to store other files.
            +
            +
            Parameters:
            +
            cacheDir - A dedicated cache directory.
            +
            evictor - The evictor to be used. For download use cases where cache eviction should not + occur, use NoOpCacheEvictor.
            +
            databaseProvider - Provides the database in which the cache index is stored, or + null to use a legacy index. Using a database index is highly recommended for performance + reasons.
            +
            legacyIndexSecretKey - A 16 byte AES key for reading, and optionally writing, the legacy + index. Not used by the database index, however should still be provided when using the + database index in cases where upgrading from the legacy index may be necessary.
            +
            legacyIndexEncrypt - Whether to encrypt when writing to the legacy index. Must be + false if legacyIndexSecretKey is null. Not used by the database index.
            +
            preferLegacyIndex - Whether to use the legacy index even if a databaseProvider is + provided. Should be false in nearly all cases. Setting this to true is only + useful for downgrading from the database index back to the legacy index.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isCacheFolderLocked

            +
            public static boolean isCacheFolderLocked​(File cacheFolder)
            +
            Returns whether cacheFolder is locked by a SimpleCache instance. To unlock the + folder the SimpleCache instance should be released.
            +
          • +
          + + + +
            +
          • +

            delete

            +
            @WorkerThread
            +public static void delete​(File cacheDir,
            +                          @Nullable
            +                          DatabaseProvider databaseProvider)
            +
            Deletes all content belonging to a cache instance. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Parameters:
            +
            cacheDir - The cache directory.
            +
            databaseProvider - The database in which index data is stored, or null if the + cache used a legacy index.
            +
            +
          • +
          + + + +
            +
          • +

            checkInitialization

            +
            public void checkInitialization()
            +                         throws Cache.CacheException
            +
            Checks whether the cache was initialized successfully.
            +
            +
            Throws:
            +
            Cache.CacheException - If an error occurred during initialization.
            +
            +
          • +
          + + + +
            +
          • +

            getUid

            +
            public long getUid()
            +
            Description copied from interface: Cache
            +
            Returns a non-negative unique identifier for the cache, or Cache.UID_UNSET if initialization + failed before the unique identifier was determined. + +

            Implementations are expected to generate and store the unique identifier alongside the + cached content. If the location of the cache is deleted or swapped, it is expected that a new + unique identifier will be generated when the cache is recreated.

            +
            +
            Specified by:
            +
            getUid in interface Cache
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from interface: Cache
            +
            Releases the cache. This method must be called when the cache is no longer required. The cache + must not be used after calling this method. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            release in interface Cache
            +
            +
          • +
          + + + +
            +
          • +

            addListener

            +
            public NavigableSet<CacheSpan> addListener​(String key,
            +                                           Cache.Listener listener)
            +
            Description copied from interface: Cache
            +
            Registers a listener to listen for changes to a given resource. + +

            No guarantees are made about the thread or threads on which the listener is called, but it + is guaranteed that listener methods will be called in a serial fashion (i.e. one at a time) and + in the same order as events occurred.

            +
            +
            Specified by:
            +
            addListener in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            listener - The listener to add.
            +
            Returns:
            +
            The current spans for the resource.
            +
            +
          • +
          + + + +
            +
          • +

            removeListener

            +
            public void removeListener​(String key,
            +                           Cache.Listener listener)
            +
            Description copied from interface: Cache
            +
            Unregisters a listener.
            +
            +
            Specified by:
            +
            removeListener in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            listener - The listener to remove.
            +
            +
          • +
          + + + +
            +
          • +

            getCachedSpans

            +
            public NavigableSet<CacheSpan> getCachedSpans​(String key)
            +
            Description copied from interface: Cache
            +
            Returns the cached spans for a given resource.
            +
            +
            Specified by:
            +
            getCachedSpans in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            Returns:
            +
            The spans for the key.
            +
            +
          • +
          + + + +
            +
          • +

            getKeys

            +
            public Set<String> getKeys()
            +
            Description copied from interface: Cache
            +
            Returns the cache keys of all of the resources that are at least partially cached.
            +
            +
            Specified by:
            +
            getKeys in interface Cache
            +
            +
          • +
          + + + +
            +
          • +

            getCacheSpace

            +
            public long getCacheSpace()
            +
            Description copied from interface: Cache
            +
            Returns the total disk space in bytes used by the cache.
            +
            +
            Specified by:
            +
            getCacheSpace in interface Cache
            +
            +
          • +
          + + + +
            +
          • +

            startReadWrite

            +
            public CacheSpan startReadWrite​(String key,
            +                                long position,
            +                                long length)
            +                         throws InterruptedException,
            +                                Cache.CacheException
            +
            Description copied from interface: Cache
            +
            A caller should invoke this method when they require data starting from a given position in a + given resource. + +

            If there is a cache entry that overlaps the position, then the returned CacheSpan + defines the file in which the data is stored. CacheSpan.isCached is true. The caller + may read from the cache file, but does not acquire any locks. + +

            If there is no cache entry overlapping position, then the returned CacheSpan + defines a hole in the cache starting at position into which the caller may write as it + obtains the data from some other source. The returned CacheSpan serves as a lock. + Whilst the caller holds the lock it may write data into the hole. It may split data into + multiple files. When the caller has finished writing a file it should commit it to the cache by + calling Cache.commitFile(File, long). When the caller has finished writing, it must release + the lock by calling Cache.releaseHoleSpan(com.google.android.exoplayer2.upstream.cache.CacheSpan). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            startReadWrite in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position in the resource from which data is required.
            +
            length - The length of the data being requested, or C.LENGTH_UNSET if unbounded. + The length is ignored if there is a cache entry that overlaps the position. Else, it + defines the maximum length of the hole CacheSpan that's returned. Cache + implementations may support parallel writes into non-overlapping holes, and so passing the + actual required length should be preferred to passing C.LENGTH_UNSET when possible.
            +
            Returns:
            +
            The CacheSpan.
            +
            Throws:
            +
            InterruptedException - If the thread was interrupted.
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            startReadWriteNonBlocking

            +
            @Nullable
            +public CacheSpan startReadWriteNonBlocking​(String key,
            +                                           long position,
            +                                           long length)
            +                                    throws Cache.CacheException
            +
            Description copied from interface: Cache
            +
            Same as Cache.startReadWrite(String, long, long). However, if the cache entry is locked, + then instead of blocking, this method will return null as the CacheSpan. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            startReadWriteNonBlocking in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position in the resource from which data is required.
            +
            length - The length of the data being requested, or C.LENGTH_UNSET if unbounded. + The length is ignored if there is a cache entry that overlaps the position. Else, it + defines the range of data locked by the returned CacheSpan.
            +
            Returns:
            +
            The CacheSpan. Or null if the cache entry is locked.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            startFile

            +
            public File startFile​(String key,
            +                      long position,
            +                      long length)
            +               throws Cache.CacheException
            +
            Description copied from interface: Cache
            +
            Obtains a cache file into which data can be written. Must only be called when holding a + corresponding hole CacheSpan obtained from Cache.startReadWrite(String, long, long). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            startFile in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource being written.
            +
            position - The starting position in the resource from which data will be written.
            +
            length - The length of the data being written, or C.LENGTH_UNSET if unknown. Used + only to ensure that there is enough space in the cache.
            +
            Returns:
            +
            The file into which data should be written.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + +
            +
          • +

            commitFile

            +
            public void commitFile​(File file,
            +                       long length)
            +                throws Cache.CacheException
            +
            Description copied from interface: Cache
            +
            Commits a file into the cache. Must only be called when holding a corresponding hole CacheSpan obtained from Cache.startReadWrite(String, long, long). + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            commitFile in interface Cache
            +
            Parameters:
            +
            file - A newly written cache file.
            +
            length - The length of the newly written cache file in bytes.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            removeResource

            +
            public void removeResource​(String key)
            +
            Description copied from interface: Cache
            +
            Removes all CacheSpans for a resource, deleting the underlying files.
            +
            +
            Specified by:
            +
            removeResource in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource being removed.
            +
            +
          • +
          + + + +
            +
          • +

            removeSpan

            +
            public void removeSpan​(CacheSpan span)
            +
            Description copied from interface: Cache
            +
            Removes a cached CacheSpan from the cache, deleting the underlying file. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            removeSpan in interface Cache
            +
            Parameters:
            +
            span - The CacheSpan to remove.
            +
            +
          • +
          + + + +
            +
          • +

            isCached

            +
            public boolean isCached​(String key,
            +                        long position,
            +                        long length)
            +
            Description copied from interface: Cache
            +
            Returns whether the specified range of data in a resource is fully cached.
            +
            +
            Specified by:
            +
            isCached in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The length of the data.
            +
            Returns:
            +
            true if the data is available in the Cache otherwise false;
            +
            +
          • +
          + + + +
            +
          • +

            getCachedLength

            +
            public long getCachedLength​(String key,
            +                            long position,
            +                            long length)
            +
            Description copied from interface: Cache
            +
            Returns the length of continuously cached data starting from position, up to a maximum + of maxLength, of a resource. If position isn't cached then -holeLength + is returned, where holeLength is the length of continuously uncached data starting from + position, up to a maximum of maxLength.
            +
            +
            Specified by:
            +
            getCachedLength in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The maximum length of the data or hole to be returned. C.LENGTH_UNSET is + permitted, and is equivalent to passing Long.MAX_VALUE.
            +
            Returns:
            +
            The length of the continuously cached data, or -holeLength if position + isn't cached.
            +
            +
          • +
          + + + +
            +
          • +

            getCachedBytes

            +
            public long getCachedBytes​(String key,
            +                           long position,
            +                           long length)
            +
            Description copied from interface: Cache
            +
            Returns the total number of cached bytes between position (inclusive) and + (position + length) (exclusive) of a resource.
            +
            +
            Specified by:
            +
            getCachedBytes in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            position - The starting position of the data in the resource.
            +
            length - The length of the data to check. C.LENGTH_UNSET is permitted, and is + equivalent to passing Long.MAX_VALUE.
            +
            Returns:
            +
            The total number of cached bytes.
            +
            +
          • +
          + + + +
            +
          • +

            applyContentMetadataMutations

            +
            public void applyContentMetadataMutations​(String key,
            +                                          ContentMetadataMutations mutations)
            +                                   throws Cache.CacheException
            +
            Description copied from interface: Cache
            +
            Applies mutations to the ContentMetadata for the given resource. A new CachedContent is added if there isn't one already for the resource. + +

            This method may be slow and shouldn't normally be called on the main thread.

            +
            +
            Specified by:
            +
            applyContentMetadataMutations in interface Cache
            +
            Parameters:
            +
            key - The cache key of the resource.
            +
            mutations - Contains mutations to be applied to the metadata.
            +
            Throws:
            +
            Cache.CacheException - If an error is encountered.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-frame.html new file mode 100644 index 0000000000..82bb9543d8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-frame.html @@ -0,0 +1,60 @@ + + + + +com.google.android.exoplayer2.upstream.cache (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.upstream.cache

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-summary.html new file mode 100644 index 0000000000..541df92e68 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-summary.html @@ -0,0 +1,346 @@ + + + + +com.google.android.exoplayer2.upstream.cache (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.upstream.cache

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-tree.html new file mode 100644 index 0000000000..bba9728f60 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/cache/package-tree.html @@ -0,0 +1,209 @@ + + + + +com.google.android.exoplayer2.upstream.cache Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.upstream.cache

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.html new file mode 100644 index 0000000000..c7fcf76541 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.html @@ -0,0 +1,441 @@ + + + + +AesCipherDataSink (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AesCipherDataSink

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        DataSink
        +
        +
        +
        public final class AesCipherDataSink
        +extends Object
        +implements DataSink
        +
        A wrapping DataSink that encrypts the data being consumed.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AesCipherDataSink

            +
            public AesCipherDataSink​(byte[] secretKey,
            +                         DataSink wrappedDataSink)
            +
            Create an instance whose write methods have the side effect of overwriting the input + data. Use this constructor for maximum efficiency in the case that there is no + requirement for the input data arrays to remain unchanged.
            +
            +
            Parameters:
            +
            secretKey - The key data.
            +
            wrappedDataSink - The wrapped DataSink.
            +
            +
          • +
          + + + +
            +
          • +

            AesCipherDataSink

            +
            public AesCipherDataSink​(byte[] secretKey,
            +                         DataSink wrappedDataSink,
            +                         @Nullable
            +                         byte[] scratch)
            +
            Create an instance whose write methods are free of side effects. Use this constructor + when the input data arrays are required to remain unchanged.
            +
            +
            Parameters:
            +
            secretKey - The key data.
            +
            wrappedDataSink - The wrapped DataSink.
            +
            scratch - Scratch space. Data is encrypted into this array before being written to the + wrapped DataSink. It should be of appropriate size for the expected writes. If a + write is larger than the size of this array the write will still succeed, but multiple + cipher calls will be required to complete the operation. If null then encryption + will overwrite the input data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public void open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSink
            +
            Opens the sink to consume the specified data. + +

            Note: If an IOException is thrown, callers must still call DataSink.close() to + ensure that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSink
            +
            Parameters:
            +
            dataSpec - Defines the data to be consumed.
            +
            Throws:
            +
            IOException - If an error occurs opening the sink.
            +
            +
          • +
          + + + +
            +
          • +

            write

            +
            public void write​(byte[] data,
            +                  int offset,
            +                  int length)
            +           throws IOException
            +
            Description copied from interface: DataSink
            +
            Consumes the provided data.
            +
            +
            Specified by:
            +
            write in interface DataSink
            +
            Parameters:
            +
            data - The buffer from which data should be consumed.
            +
            offset - The offset of the data to consume in buffer.
            +
            length - The length of the data to consume, in bytes.
            +
            Throws:
            +
            IOException - If an error occurs writing to the sink.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSource.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSource.html new file mode 100644 index 0000000000..c4dee00da3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSource.html @@ -0,0 +1,492 @@ + + + + +AesCipherDataSource (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AesCipherDataSource

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AesCipherDataSource

            +
            public AesCipherDataSource​(byte[] secretKey,
            +                           DataSource upstream)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            open

            +
            public long open​(DataSpec dataSpec)
            +          throws IOException
            +
            Description copied from interface: DataSource
            +
            Opens the source to read the specified data. +

            + Note: If an IOException is thrown, callers must still call DataSource.close() to ensure + that any partial effects of the invocation are cleaned up.

            +
            +
            Specified by:
            +
            open in interface DataSource
            +
            Parameters:
            +
            dataSpec - Defines the data to be read.
            +
            Returns:
            +
            The number of bytes that can be read from the opened source. For unbounded requests + (i.e. requests where DataSpec.length equals C.LENGTH_UNSET) this value + is the resolved length of the request, or C.LENGTH_UNSET if the length is still + unresolved. For all other requests, the value returned will be equal to the request's + DataSpec.length.
            +
            Throws:
            +
            IOException - If an error occurs opening the source. DataSourceException can be + thrown or used as a cause of the thrown exception to specify the reason of the error.
            +
            +
          • +
          + + + +
            +
          • +

            read

            +
            public int read​(byte[] data,
            +                int offset,
            +                int readLength)
            +         throws IOException
            +
            Description copied from interface: DataReader
            +
            Reads up to length bytes of data from the input. + +

            If readLength is zero then 0 is returned. Otherwise, if no data is available because + the end of the opened range has been reached, then C.RESULT_END_OF_INPUT is returned. + Otherwise, the call will block until at least one byte of data has been read and the number of + bytes read is returned.

            +
            +
            Specified by:
            +
            read in interface DataReader
            +
            Parameters:
            +
            data - A target array into which data should be written.
            +
            offset - The offset into the target array at which to write.
            +
            readLength - The maximum number of bytes to read from the input.
            +
            Returns:
            +
            The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This + may be less than length because the end of the input (or available data) was + reached, the method was interrupted, or the operation was aborted early for another reason.
            +
            Throws:
            +
            IOException - If an error occurs reading from the input.
            +
            +
          • +
          + + + +
            +
          • +

            getUri

            +
            @Nullable
            +public Uri getUri()
            +
            Description copied from interface: DataSource
            +
            When the source is open, returns the Uri from which data is being read. The returned + Uri will be identical to the one passed DataSource.open(DataSpec) in the DataSpec + unless redirection has occurred. If redirection has occurred, the Uri after redirection + is returned.
            +
            +
            Specified by:
            +
            getUri in interface DataSource
            +
            Returns:
            +
            The Uri from which data is being read, or null if the source is not open.
            +
            +
          • +
          + + + + + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html new file mode 100644 index 0000000000..5503d63066 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/AesFlushingCipher.html @@ -0,0 +1,334 @@ + + + + +AesFlushingCipher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AesFlushingCipher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.upstream.crypto.AesFlushingCipher
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class AesFlushingCipher
        +extends Object
        +
        A flushing variant of a AES/CTR/NoPadding Cipher. + + Unlike a regular Cipher, the update methods of this class are guaranteed to process all + of the bytes input (and hence output the same number of bytes).
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AesFlushingCipher

            +
            public AesFlushingCipher​(int mode,
            +                         byte[] secretKey,
            +                         long nonce,
            +                         long offset)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            updateInPlace

            +
            public void updateInPlace​(byte[] data,
            +                          int offset,
            +                          int length)
            +
          • +
          + + + +
            +
          • +

            update

            +
            public void update​(byte[] in,
            +                   int inOffset,
            +                   int length,
            +                   byte[] out,
            +                   int outOffset)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-frame.html new file mode 100644 index 0000000000..9f7d13bedd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-frame.html @@ -0,0 +1,29 @@ + + + + +com.google.android.exoplayer2.upstream.crypto (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.upstream.crypto

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-summary.html new file mode 100644 index 0000000000..17b36b6af4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-summary.html @@ -0,0 +1,180 @@ + + + + +com.google.android.exoplayer2.upstream.crypto (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.upstream.crypto

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-tree.html new file mode 100644 index 0000000000..ae45861620 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/crypto/package-tree.html @@ -0,0 +1,163 @@ + + + + +com.google.android.exoplayer2.upstream.crypto Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.upstream.crypto

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-frame.html new file mode 100644 index 0000000000..eac476ee81 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-frame.html @@ -0,0 +1,106 @@ + + + + +com.google.android.exoplayer2.upstream (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.upstream

      +
      +

      Interfaces

      + +

      Classes

      + +

      Exceptions

      + +

      Annotation Types

      + +
      + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-summary.html new file mode 100644 index 0000000000..b2fc93fbc4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-summary.html @@ -0,0 +1,626 @@ + + + + +com.google.android.exoplayer2.upstream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.upstream

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-tree.html new file mode 100644 index 0000000000..cc714a82de --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/upstream/package-tree.html @@ -0,0 +1,271 @@ + + + + +com.google.android.exoplayer2.upstream Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.upstream

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Assertions.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Assertions.html new file mode 100644 index 0000000000..c2ed2a32e5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Assertions.html @@ -0,0 +1,605 @@ + + + + +Assertions (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Assertions

      +
      +
      + +
      +
        +
      • +
        +
        public final class Assertions
        +extends Object
        +
        Provides methods for asserting the truth of expressions and properties.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            checkArgument

            +
            @Pure
            +public static void checkArgument​(boolean expression)
            +
            Throws IllegalArgumentException if expression evaluates to false.
            +
            +
            Parameters:
            +
            expression - The expression to evaluate.
            +
            Throws:
            +
            IllegalArgumentException - If expression is false.
            +
            +
          • +
          + + + +
            +
          • +

            checkArgument

            +
            @Pure
            +public static void checkArgument​(boolean expression,
            +                                 Object errorMessage)
            +
            Throws IllegalArgumentException if expression evaluates to false.
            +
            +
            Parameters:
            +
            expression - The expression to evaluate.
            +
            errorMessage - The exception message if an exception is thrown. The message is converted + to a String using String.valueOf(Object).
            +
            Throws:
            +
            IllegalArgumentException - If expression is false.
            +
            +
          • +
          + + + +
            +
          • +

            checkIndex

            +
            @Pure
            +public static int checkIndex​(int index,
            +                             int start,
            +                             int limit)
            +
            Throws IndexOutOfBoundsException if index falls outside the specified bounds.
            +
            +
            Parameters:
            +
            index - The index to test.
            +
            start - The start of the allowed range (inclusive).
            +
            limit - The end of the allowed range (exclusive).
            +
            Returns:
            +
            The index that was validated.
            +
            Throws:
            +
            IndexOutOfBoundsException - If index falls outside the specified bounds.
            +
            +
          • +
          + + + +
            +
          • +

            checkState

            +
            @Pure
            +public static void checkState​(boolean expression)
            +
            Throws IllegalStateException if expression evaluates to false.
            +
            +
            Parameters:
            +
            expression - The expression to evaluate.
            +
            Throws:
            +
            IllegalStateException - If expression is false.
            +
            +
          • +
          + + + +
            +
          • +

            checkState

            +
            @Pure
            +public static void checkState​(boolean expression,
            +                              Object errorMessage)
            +
            Throws IllegalStateException if expression evaluates to false.
            +
            +
            Parameters:
            +
            expression - The expression to evaluate.
            +
            errorMessage - The exception message if an exception is thrown. The message is converted + to a String using String.valueOf(Object).
            +
            Throws:
            +
            IllegalStateException - If expression is false.
            +
            +
          • +
          + + + + + +
            +
          • +

            checkStateNotNull

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static <T> T checkStateNotNull​(@Nullable
            +                                      T reference)
            +
            Throws IllegalStateException if reference is null.
            +
            +
            Type Parameters:
            +
            T - The type of the reference.
            +
            Parameters:
            +
            reference - The reference.
            +
            Returns:
            +
            The non-null reference that was validated.
            +
            Throws:
            +
            IllegalStateException - If reference is null.
            +
            +
          • +
          + + + + + +
            +
          • +

            checkStateNotNull

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static <T> T checkStateNotNull​(@Nullable
            +                                      T reference,
            +                                      Object errorMessage)
            +
            Throws IllegalStateException if reference is null.
            +
            +
            Type Parameters:
            +
            T - The type of the reference.
            +
            Parameters:
            +
            reference - The reference.
            +
            errorMessage - The exception message to use if the check fails. The message is converted + to a string using String.valueOf(Object).
            +
            Returns:
            +
            The non-null reference that was validated.
            +
            Throws:
            +
            IllegalStateException - If reference is null.
            +
            +
          • +
          + + + + + +
            +
          • +

            checkNotNull

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static <T> T checkNotNull​(@Nullable
            +                                 T reference)
            +
            Throws NullPointerException if reference is null.
            +
            +
            Type Parameters:
            +
            T - The type of the reference.
            +
            Parameters:
            +
            reference - The reference.
            +
            Returns:
            +
            The non-null reference that was validated.
            +
            Throws:
            +
            NullPointerException - If reference is null.
            +
            +
          • +
          + + + + + +
            +
          • +

            checkNotNull

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static <T> T checkNotNull​(@Nullable
            +                                 T reference,
            +                                 Object errorMessage)
            +
            Throws NullPointerException if reference is null.
            +
            +
            Type Parameters:
            +
            T - The type of the reference.
            +
            Parameters:
            +
            reference - The reference.
            +
            errorMessage - The exception message to use if the check fails. The message is converted + to a string using String.valueOf(Object).
            +
            Returns:
            +
            The non-null reference that was validated.
            +
            Throws:
            +
            NullPointerException - If reference is null.
            +
            +
          • +
          + + + +
            +
          • +

            checkNotEmpty

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static String checkNotEmpty​(@Nullable
            +                                   String string)
            +
            Throws IllegalArgumentException if string is null or zero length.
            +
            +
            Parameters:
            +
            string - The string to check.
            +
            Returns:
            +
            The non-null, non-empty string that was validated.
            +
            Throws:
            +
            IllegalArgumentException - If string is null or 0-length.
            +
            +
          • +
          + + + +
            +
          • +

            checkNotEmpty

            +
            @EnsuresNonNull("#1")
            +@Pure
            +public static String checkNotEmpty​(@Nullable
            +                                   String string,
            +                                   Object errorMessage)
            +
            Throws IllegalArgumentException if string is null or zero length.
            +
            +
            Parameters:
            +
            string - The string to check.
            +
            errorMessage - The exception message to use if the check fails. The message is converted + to a string using String.valueOf(Object).
            +
            Returns:
            +
            The non-null, non-empty string that was validated.
            +
            Throws:
            +
            IllegalArgumentException - If string is null or 0-length.
            +
            +
          • +
          + + + +
            +
          • +

            checkMainThread

            +
            @Pure
            +public static void checkMainThread()
            +
            Throws IllegalStateException if the calling thread is not the application's main + thread.
            +
            +
            Throws:
            +
            IllegalStateException - If the calling thread is not the application's main thread.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/AtomicFile.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/AtomicFile.html new file mode 100644 index 0000000000..f382a4a75b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/AtomicFile.html @@ -0,0 +1,433 @@ + + + + +AtomicFile (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AtomicFile

      +
      +
      + +
      +
        +
      • +
        +
        public final class AtomicFile
        +extends Object
        +
        A helper class for performing atomic operations on a file by creating a backup file until a write + has successfully completed. + +

        Atomic file guarantees file integrity by ensuring that a file has been completely written and + synced to disk before removing its backup. As long as the backup file exists, the original file + is considered to be invalid (left over from a previous attempt to write the file). + +

        Atomic file does not confer any file locking semantics. Do not use this class when the file + may be accessed or modified concurrently by multiple threads or processes. The caller is + responsible for ensuring appropriate mutual exclusion invariants whenever it accesses the file.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            AtomicFile

            +
            public AtomicFile​(File baseName)
            +
            Create a new AtomicFile for a file located at the given File path. The secondary backup file + will be the same file path with ".bak" appended.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            exists

            +
            public boolean exists()
            +
            Returns whether the file or its backup exists.
            +
          • +
          + + + +
            +
          • +

            delete

            +
            public void delete()
            +
            Delete the atomic file. This deletes both the base and backup files.
            +
          • +
          + + + +
            +
          • +

            startWrite

            +
            public OutputStream startWrite()
            +                        throws IOException
            +
            Start a new write operation on the file. This returns an OutputStream to which you can + write the new file data. If the whole data is written successfully you must call + endWrite(OutputStream). On failure you should call OutputStream.close() + only to free up resources used by it. + +

            Example usage: + +

            +   DataOutputStream dataOutput = null;
            +   try {
            +     OutputStream outputStream = atomicFile.startWrite();
            +     dataOutput = new DataOutputStream(outputStream); // Wrapper stream
            +     dataOutput.write(data1);
            +     dataOutput.write(data2);
            +     atomicFile.endWrite(dataOutput); // Pass wrapper stream
            +   } finally{
            +     if (dataOutput != null) {
            +       dataOutput.close();
            +     }
            +   }
            + 
            + +

            Note that if another thread is currently performing a write, this will simply replace + whatever that thread is writing with the new file being written by this thread, and when the + other thread finishes the write the new write operation will no longer be safe (or will be + lost). You must do your own threading protection for access to AtomicFile.

            +
            +
            Throws:
            +
            IOException
            +
            +
          • +
          + + + +
            +
          • +

            endWrite

            +
            public void endWrite​(OutputStream str)
            +              throws IOException
            +
            Call when you have successfully finished writing to the stream returned by startWrite(). This will close, sync, and commit the new data. The next attempt to read the + atomic file will return the new file stream.
            +
            +
            Parameters:
            +
            str - Outer-most wrapper OutputStream used to write to the stream returned by startWrite().
            +
            Throws:
            +
            IOException
            +
            See Also:
            +
            startWrite()
            +
            +
          • +
          + + + +
            +
          • +

            openRead

            +
            public InputStream openRead()
            +                     throws FileNotFoundException
            +
            Open the atomic file for reading. If there previously was an incomplete write, this will roll + back to the last good data before opening for read. + +

            Note that if another thread is currently performing a write, this will incorrectly consider + it to be in the state of a bad write and roll back, causing the new data currently being + written to be dropped. You must do your own threading protection for access to AtomicFile.

            +
            +
            Throws:
            +
            FileNotFoundException
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Clock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Clock.html new file mode 100644 index 0000000000..93c53bf985 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Clock.html @@ -0,0 +1,380 @@ + + + + +Clock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Clock

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CodecSpecificDataUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CodecSpecificDataUtil.html new file mode 100644 index 0000000000..b36215d4b6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CodecSpecificDataUtil.html @@ -0,0 +1,430 @@ + + + + +CodecSpecificDataUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CodecSpecificDataUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.CodecSpecificDataUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class CodecSpecificDataUtil
        +extends Object
        +
        Provides utilities for handling various types of codec-specific data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseAlacAudioSpecificConfig

            +
            public static Pair<Integer,Integer> parseAlacAudioSpecificConfig​(byte[] audioSpecificConfig)
            +
            Parses an ALAC AudioSpecificConfig (i.e. an ALACSpecificConfig).
            +
            +
            Parameters:
            +
            audioSpecificConfig - A byte array containing the AudioSpecificConfig to parse.
            +
            Returns:
            +
            A pair consisting of the sample rate in Hz and the channel count.
            +
            +
          • +
          + + + +
            +
          • +

            buildCea708InitializationData

            +
            public static List<byte[]> buildCea708InitializationData​(boolean isWideAspectRatio)
            +
            Returns initialization data for formats with MIME type MimeTypes.APPLICATION_CEA708.
            +
            +
            Parameters:
            +
            isWideAspectRatio - Whether the CEA-708 closed caption service is formatted for displays + with 16:9 aspect ratio.
            +
            Returns:
            +
            Initialization data for formats with MIME type MimeTypes.APPLICATION_CEA708.
            +
            +
          • +
          + + + +
            +
          • +

            parseCea708InitializationData

            +
            public static boolean parseCea708InitializationData​(List<byte[]> initializationData)
            +
            Returns whether the CEA-708 closed caption service with the given initialization data is + formatted for displays with 16:9 aspect ratio.
            +
            +
            Parameters:
            +
            initializationData - The initialization data to parse.
            +
            Returns:
            +
            Whether the CEA-708 closed caption service is formatted for displays with 16:9 aspect + ratio.
            +
            +
          • +
          + + + +
            +
          • +

            buildAvcCodecString

            +
            public static String buildAvcCodecString​(int profileIdc,
            +                                         int constraintsFlagsAndReservedZero2Bits,
            +                                         int levelIdc)
            +
            Builds an RFC 6381 AVC codec string using the provided parameters.
            +
            +
            Parameters:
            +
            profileIdc - The encoding profile.
            +
            constraintsFlagsAndReservedZero2Bits - The constraint flags followed by the reserved zero + 2 bits, all contained in the least significant byte of the integer.
            +
            levelIdc - The encoding level.
            +
            Returns:
            +
            An RFC 6381 AVC codec string built using the provided parameters.
            +
            +
          • +
          + + + +
            +
          • +

            buildHevcCodecStringFromSps

            +
            public static String buildHevcCodecStringFromSps​(ParsableNalUnitBitArray bitArray)
            +
            Returns an RFC 6381 HEVC codec string based on the SPS NAL unit read from the provided bit + array. The position of the bit array must be the start of an SPS NALU (nal_unit_header), and + the position may be modified by this method.
            +
          • +
          + + + +
            +
          • +

            buildNalUnit

            +
            public static byte[] buildNalUnit​(byte[] data,
            +                                  int offset,
            +                                  int length)
            +
            Constructs a NAL unit consisting of the NAL start code followed by the specified data.
            +
            +
            Parameters:
            +
            data - An array containing the data that should follow the NAL start code.
            +
            offset - The start offset into data.
            +
            length - The number of bytes to copy from data
            +
            Returns:
            +
            The constructed NAL unit.
            +
            +
          • +
          + + + +
            +
          • +

            splitNalUnits

            +
            @Nullable
            +public static byte[][] splitNalUnits​(byte[] data)
            +
            Splits an array of NAL units. + +

            If the input consists of NAL start code delimited units, then the returned array consists of + the split NAL units, each of which is still prefixed with the NAL start code. For any other + input, null is returned.

            +
            +
            Parameters:
            +
            data - An array of data.
            +
            Returns:
            +
            The individual NAL units, or null if the input did not consist of NAL start code + delimited units.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ColorParser.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ColorParser.html new file mode 100644 index 0000000000..167127ad24 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ColorParser.html @@ -0,0 +1,300 @@ + + + + +ColorParser (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ColorParser

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parseTtmlColor

            +
            public static int parseTtmlColor​(String colorExpression)
            +
            Parses a TTML color expression.
            +
            +
            Parameters:
            +
            colorExpression - The color expression.
            +
            Returns:
            +
            The parsed ARGB color.
            +
            +
          • +
          + + + +
            +
          • +

            parseCssColor

            +
            public static int parseCssColor​(String colorExpression)
            +
            Parses a CSS color expression.
            +
            +
            Parameters:
            +
            colorExpression - The color expression.
            +
            Returns:
            +
            The parsed ARGB color.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ConditionVariable.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ConditionVariable.html new file mode 100644 index 0000000000..e397f657d9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ConditionVariable.html @@ -0,0 +1,445 @@ + + + + +ConditionVariable (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ConditionVariable

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.ConditionVariable
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ConditionVariable

            +
            public ConditionVariable()
            +
            Creates an instance using Clock.DEFAULT.
            +
          • +
          + + + +
            +
          • +

            ConditionVariable

            +
            public ConditionVariable​(Clock clock)
            +
            Creates an instance, which starts closed.
            +
            +
            Parameters:
            +
            clock - The Clock whose Clock.elapsedRealtime() method is used to + determine when block(long) should time out.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            open

            +
            public boolean open()
            +
            Opens the condition and releases all threads that are blocked.
            +
            +
            Returns:
            +
            True if the condition variable was opened. False if it was already open.
            +
            +
          • +
          + + + +
            +
          • +

            close

            +
            public boolean close()
            +
            Closes the condition.
            +
            +
            Returns:
            +
            True if the condition variable was closed. False if it was already closed.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            block

            +
            public boolean block​(long timeoutMs)
            +              throws InterruptedException
            +
            Blocks until the condition is opened or until timeoutMs have passed.
            +
            +
            Parameters:
            +
            timeoutMs - The maximum time to wait in milliseconds. If timeoutMs <= 0 then the + call will return immediately without blocking.
            +
            Returns:
            +
            True if the condition was opened, false if the call returns because of the timeout.
            +
            Throws:
            +
            InterruptedException - If the thread is interrupted.
            +
            +
          • +
          + + + +
            +
          • +

            blockUninterruptible

            +
            public void blockUninterruptible()
            +
            Blocks until the condition is open. Unlike block(), this method will continue to block + if the calling thread is interrupted. If the calling thread was interrupted then its interrupted status will be set when the method returns.
            +
          • +
          + + + +
            +
          • +

            isOpen

            +
            public boolean isOpen()
            +
            Returns whether the condition is opened.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Consumer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Consumer.html new file mode 100644 index 0000000000..a46425b585 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Consumer.html @@ -0,0 +1,253 @@ + + + + +Consumer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface Consumer<T>

      +
      +
      +
      +
        +
      • +
        +
        public interface Consumer<T>
        +
        Represents an operation that accepts a single input argument and returns no result. Unlike most + other functional interfaces, Consumer is expected to operate via side-effects.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            accept

            +
            void accept​(T t)
            +
            Performs this operation on the given argument.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CopyOnWriteMultiset.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CopyOnWriteMultiset.html new file mode 100644 index 0000000000..c2cd0dca79 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/CopyOnWriteMultiset.html @@ -0,0 +1,405 @@ + + + + +CopyOnWriteMultiset (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CopyOnWriteMultiset<E>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.CopyOnWriteMultiset<E>
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Type Parameters:
        +
        E - The type of element being stored.
        +
        +
        +
        All Implemented Interfaces:
        +
        Iterable<E>
        +
        +
        +
        public final class CopyOnWriteMultiset<E>
        +extends Object
        +implements Iterable<E>
        +
        An unordered collection of elements that allows duplicates, but also allows access to a set of + unique elements. + +

        This class is thread-safe using the same method as CopyOnWriteArrayList. Mutation methods cause the underlying data to be + copied. elementSet() and iterator() return snapshots that are unaffected by + subsequent mutations. + +

        Iterating directly on this class reveals duplicate elements. Unique elements can be accessed + via elementSet(). Iteration order for both of these is not defined.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CopyOnWriteMultiset

            +
            public CopyOnWriteMultiset()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            add

            +
            public void add​(E element)
            +
            Adds element to the multiset.
            +
            +
            Parameters:
            +
            element - The element to be added.
            +
            +
          • +
          + + + + + +
            +
          • +

            remove

            +
            public void remove​(E element)
            +
            Removes element from the multiset.
            +
            +
            Parameters:
            +
            element - The element to be removed.
            +
            +
          • +
          + + + +
            +
          • +

            elementSet

            +
            public Set<E> elementSet()
            +
            Returns a snapshot of the unique elements currently in this multiset. + +

            Changes to the underlying multiset are not reflected in the returned value.

            +
            +
            Returns:
            +
            An unmodifiable set containing the unique elements in this multiset.
            +
            +
          • +
          + + + +
            +
          • +

            iterator

            +
            public Iterator<E> iterator()
            +
            Returns an iterator over a snapshot of all the elements currently in this multiset (including + duplicates). + +

            Changes to the underlying multiset are not reflected in the returned value.

            +
            +
            Specified by:
            +
            iterator in interface Iterable<E>
            +
            Returns:
            +
            An unmodifiable iterator over all the elements in this multiset (including duplicates).
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html new file mode 100644 index 0000000000..216b6ac028 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.GlException.html @@ -0,0 +1,255 @@ + + + + +EGLSurfaceTexture.GlException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EGLSurfaceTexture.GlException

      +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html new file mode 100644 index 0000000000..2571379c03 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.SecureMode.html @@ -0,0 +1,189 @@ + + + + +EGLSurfaceTexture.SecureMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type EGLSurfaceTexture.SecureMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html new file mode 100644 index 0000000000..bc401493ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.TextureImageListener.html @@ -0,0 +1,254 @@ + + + + +EGLSurfaceTexture.TextureImageListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface EGLSurfaceTexture.TextureImageListener

      +
      +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        EGLSurfaceTexture
        +
        +
        +
        public static interface EGLSurfaceTexture.TextureImageListener
        +
        Listener to be called when the texture image on SurfaceTexture has been updated.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onFrameAvailable

            +
            void onFrameAvailable()
            +
            Called when the SurfaceTexture receives a new frame from its image producer.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.html new file mode 100644 index 0000000000..d51168b61b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EGLSurfaceTexture.html @@ -0,0 +1,535 @@ + + + + +EGLSurfaceTexture (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EGLSurfaceTexture

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.EGLSurfaceTexture
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ErrorMessageProvider.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ErrorMessageProvider.html new file mode 100644 index 0000000000..d9b0f83f86 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ErrorMessageProvider.html @@ -0,0 +1,260 @@ + + + + +ErrorMessageProvider (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ErrorMessageProvider<T extends Throwable>

      +
      +
      +
      +
        +
      • +
        +
        public interface ErrorMessageProvider<T extends Throwable>
        +
        Converts throwables into error codes and user readable error messages.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            getErrorMessage

            +
            Pair<Integer,String> getErrorMessage​(T throwable)
            +
            Returns a pair consisting of an error code and a user readable error message for the given + throwable.
            +
            +
            Parameters:
            +
            throwable - The throwable for which an error code and message should be generated.
            +
            Returns:
            +
            A pair consisting of an error code and a user readable error message.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EventLogger.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EventLogger.html new file mode 100644 index 0000000000..c78c5d50a1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/EventLogger.html @@ -0,0 +1,1788 @@ + + + + +EventLogger (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class EventLogger

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.Type.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.Type.html new file mode 100644 index 0000000000..de08260ec7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.Type.html @@ -0,0 +1,191 @@ + + + + +FileTypes.Type (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type FileTypes.Type

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.html new file mode 100644 index 0000000000..996ae1cfea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FileTypes.html @@ -0,0 +1,689 @@ + + + + +FileTypes (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FileTypes

      +
      +
      + +
      +
        +
      • +
        +
        public final class FileTypes
        +extends Object
        +
        Defines common file type constants and helper methods.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static interface FileTypes.Type +
          File types.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static intAC3 +
          File type for the AC-3 and E-AC-3 formats.
          +
          static intAC4 +
          File type for the AC-4 format.
          +
          static intADTS +
          File type for the ADTS format.
          +
          static intAMR +
          File type for the AMR format.
          +
          static intFLAC +
          File type for the FLAC format.
          +
          static intFLV +
          File type for the FLV format.
          +
          static intJPEG +
          File type for the JPEG format.
          +
          static intMATROSKA +
          File type for the Matroska and WebM formats.
          +
          static intMP3 +
          File type for the MP3 format.
          +
          static intMP4 +
          File type for the MP4 format.
          +
          static intOGG +
          File type for the Ogg format.
          +
          static intPS +
          File type for the MPEG-PS format.
          +
          static intTS +
          File type for the MPEG-TS format.
          +
          static intUNKNOWN +
          Unknown file type.
          +
          static intWAV +
          File type for the WAV format.
          +
          static intWEBVTT +
          File type for the WebVTT format.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            inferFileTypeFromResponseHeaders

            +
            @Type
            +public static int inferFileTypeFromResponseHeaders​(Map<String,List<String>> responseHeaders)
            +
            Returns the FileTypes.Type corresponding to the response headers provided.
            +
          • +
          + + + +
            +
          • +

            inferFileTypeFromMimeType

            +
            @Type
            +public static int inferFileTypeFromMimeType​(@Nullable
            +                                            String mimeType)
            +
            Returns the FileTypes.Type corresponding to the MIME type provided. + +

            Returns UNKNOWN if the mime type is null.

            +
          • +
          + + + +
            +
          • +

            inferFileTypeFromUri

            +
            @Type
            +public static int inferFileTypeFromUri​(Uri uri)
            +
            Returns the FileTypes.Type corresponding to the Uri provided.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FlacConstants.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FlacConstants.html new file mode 100644 index 0000000000..a05f916494 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/FlacConstants.html @@ -0,0 +1,440 @@ + + + + +FlacConstants (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FlacConstants

      +
      +
      + +
      +
        +
      • +
        +
        public final class FlacConstants
        +extends Object
        +
        Defines constants used by the FLAC extractor.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            STREAM_MARKER_SIZE

            +
            public static final int STREAM_MARKER_SIZE
            +
            Size of the FLAC stream marker in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            METADATA_BLOCK_HEADER_SIZE

            +
            public static final int METADATA_BLOCK_HEADER_SIZE
            +
            Size of the header of a FLAC metadata block in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            STREAM_INFO_BLOCK_SIZE

            +
            public static final int STREAM_INFO_BLOCK_SIZE
            +
            Size of the FLAC stream info block (header included) in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MIN_FRAME_HEADER_SIZE

            +
            public static final int MIN_FRAME_HEADER_SIZE
            +
            Minimum size of a FLAC frame header in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            MAX_FRAME_HEADER_SIZE

            +
            public static final int MAX_FRAME_HEADER_SIZE
            +
            Maximum size of a FLAC frame header in bytes.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            METADATA_TYPE_STREAM_INFO

            +
            public static final int METADATA_TYPE_STREAM_INFO
            +
            Stream info metadata block type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            METADATA_TYPE_SEEK_TABLE

            +
            public static final int METADATA_TYPE_SEEK_TABLE
            +
            Seek table metadata block type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            METADATA_TYPE_VORBIS_COMMENT

            +
            public static final int METADATA_TYPE_VORBIS_COMMENT
            +
            Vorbis comment metadata block type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            METADATA_TYPE_PICTURE

            +
            public static final int METADATA_TYPE_PICTURE
            +
            Picture metadata block type.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Attribute.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Attribute.html new file mode 100644 index 0000000000..91a8cd61f8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Attribute.html @@ -0,0 +1,386 @@ + + + + +GlUtil.Attribute (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GlUtil.Attribute

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.GlUtil.Attribute
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        GlUtil
        +
        +
        +
        public static final class GlUtil.Attribute
        +extends Object
        +
        GL attribute, which can be attached to a buffer with setBuffer(float[], int).
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            name

            +
            public final String name
            +
            The name of the attribute in the GLSL sources.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Attribute

            +
            public Attribute​(int program,
            +                 int index)
            +
            Creates a new GL attribute.
            +
            +
            Parameters:
            +
            program - The identifier of a compiled and linked GLSL shader program.
            +
            index - The index of the attribute. After this instance has been constructed, the name + of the attribute is available via the name field.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setBuffer

            +
            public void setBuffer​(float[] buffer,
            +                      int size)
            +
            Configures bind() to attach vertices in buffer (each of size size + elements) to this GlUtil.Attribute.
            +
            +
            Parameters:
            +
            buffer - Buffer to bind to this attribute.
            +
            size - Number of elements per vertex.
            +
            +
          • +
          + + + +
            +
          • +

            bind

            +
            public void bind()
            +
            Sets the vertex attribute to whatever was attached via setBuffer(float[], int). + +

            Should be called before each drawing call.

            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Uniform.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Uniform.html new file mode 100644 index 0000000000..448558c562 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.Uniform.html @@ -0,0 +1,403 @@ + + + + +GlUtil.Uniform (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GlUtil.Uniform

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            name

            +
            public final String name
            +
            The name of the uniform in the GLSL sources.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Uniform

            +
            public Uniform​(int program,
            +               int index)
            +
            Creates a new GL uniform.
            +
            +
            Parameters:
            +
            program - The identifier of a compiled and linked GLSL shader program.
            +
            index - The index of the uniform. After this instance has been constructed, the name of + the uniform is available via the name field.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setSamplerTexId

            +
            public void setSamplerTexId​(int texId,
            +                            int unit)
            +
            Configures bind() to use the specified texId for this sampler uniform.
            +
            +
            Parameters:
            +
            texId - The GL texture identifier from which to sample.
            +
            unit - The GL texture unit index.
            +
            +
          • +
          + + + +
            +
          • +

            setFloat

            +
            public void setFloat​(float value)
            +
            Configures bind() to use the specified float value for this uniform.
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.html new file mode 100644 index 0000000000..26e6e7be9e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/GlUtil.html @@ -0,0 +1,480 @@ + + + + +GlUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class GlUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class GlUtil
        +extends Object
        +
        GL utilities.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isProtectedContentExtensionSupported

            +
            public static boolean isProtectedContentExtensionSupported​(Context context)
            +
            Returns whether creating a GL context with "EGL_EXT_protected_content" is possible. + If true, the device supports a protected output path for DRM content when using GL.
            +
          • +
          + + + +
            +
          • +

            isSurfacelessContextExtensionSupported

            +
            public static boolean isSurfacelessContextExtensionSupported()
            +
            Returns whether creating a GL context with "EGL_KHR_surfaceless_context" is possible.
            +
          • +
          + + + + + + + +
            +
          • +

            compileProgram

            +
            public static int compileProgram​(String[] vertexCode,
            +                                 String[] fragmentCode)
            +
            Builds a GL shader program from vertex and fragment shader code.
            +
            +
            Parameters:
            +
            vertexCode - GLES20 vertex shader program as arrays of strings. Strings are joined by + adding a new line character in between each of them.
            +
            fragmentCode - GLES20 fragment shader program as arrays of strings. Strings are joined by + adding a new line character in between each of them.
            +
            Returns:
            +
            GLES20 program id.
            +
            +
          • +
          + + + +
            +
          • +

            compileProgram

            +
            public static int compileProgram​(String vertexCode,
            +                                 String fragmentCode)
            +
            Builds a GL shader program from vertex and fragment shader code.
            +
            +
            Parameters:
            +
            vertexCode - GLES20 vertex shader program.
            +
            fragmentCode - GLES20 fragment shader program.
            +
            Returns:
            +
            GLES20 program id.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            createBuffer

            +
            public static FloatBuffer createBuffer​(float[] data)
            +
            Allocates a FloatBuffer with the given data.
            +
            +
            Parameters:
            +
            data - Used to initialize the new buffer.
            +
            +
          • +
          + + + +
            +
          • +

            createBuffer

            +
            public static FloatBuffer createBuffer​(int capacity)
            +
            Allocates a FloatBuffer.
            +
            +
            Parameters:
            +
            capacity - The new buffer's capacity, in floats.
            +
            +
          • +
          + + + +
            +
          • +

            createExternalTexture

            +
            public static int createExternalTexture()
            +
            Creates a GL_TEXTURE_EXTERNAL_OES with default configuration of GL_LINEAR filtering and + GL_CLAMP_TO_EDGE wrapping.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/HandlerWrapper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/HandlerWrapper.html new file mode 100644 index 0000000000..6bed85d7e0 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/HandlerWrapper.html @@ -0,0 +1,475 @@ + + + + +HandlerWrapper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface HandlerWrapper

      +
      +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/IntArrayQueue.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/IntArrayQueue.html new file mode 100644 index 0000000000..a92890d86b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/IntArrayQueue.html @@ -0,0 +1,393 @@ + + + + +IntArrayQueue (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class IntArrayQueue

      +
      +
      + +
      +
        +
      • +
        +
        public final class IntArrayQueue
        +extends Object
        +
        Array-based unbounded queue for int primitives with amortized O(1) add and remove. + +

        Use this class instead of a Deque to avoid boxing int primitives to Integer instances.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            IntArrayQueue

            +
            public IntArrayQueue()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            add

            +
            public void add​(int value)
            +
            Add a new item to the queue.
            +
          • +
          + + + +
            +
          • +

            remove

            +
            public int remove()
            +
            Remove an item from the queue.
            +
            +
            Throws:
            +
            NoSuchElementException - if the queue is empty.
            +
            +
          • +
          + + + +
            +
          • +

            size

            +
            public int size()
            +
            Returns the number of items in the queue.
            +
          • +
          + + + +
            +
          • +

            isEmpty

            +
            public boolean isEmpty()
            +
            Returns whether the queue is empty.
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears the queue.
            +
          • +
          + + + +
            +
          • +

            capacity

            +
            public int capacity()
            +
            Returns the length of the backing array.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LibraryLoader.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LibraryLoader.html new file mode 100644 index 0000000000..e3b71d0ba3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LibraryLoader.html @@ -0,0 +1,324 @@ + + + + +LibraryLoader (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LibraryLoader

      +
      +
      + +
      +
        +
      • +
        +
        public final class LibraryLoader
        +extends Object
        +
        Configurable loader for native libraries.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LibraryLoader

            +
            public LibraryLoader​(String... libraries)
            +
            +
            Parameters:
            +
            libraries - The names of the libraries to load.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setLibraries

            +
            public void setLibraries​(String... libraries)
            +
            Overrides the names of the libraries to load. Must be called before any call to + isAvailable().
            +
          • +
          + + + +
            +
          • +

            isAvailable

            +
            public boolean isAvailable()
            +
            Returns whether the underlying libraries are available, loading them if necessary.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.Event.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.Event.html new file mode 100644 index 0000000000..606bace795 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.Event.html @@ -0,0 +1,260 @@ + + + + +ListenerSet.Event (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ListenerSet.Event<T>

      +
      +
      +
      +
        +
      • +
        +
        Type Parameters:
        +
        T - The listener type.
        +
        +
        +
        Enclosing class:
        +
        ListenerSet<T,E extends MutableFlags>
        +
        +
        +
        public static interface ListenerSet.Event<T>
        +
        An event sent to a listener.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidinvoke​(T listener) +
          Invokes the event notification on the given listener.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            invoke

            +
            void invoke​(T listener)
            +
            Invokes the event notification on the given listener.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html new file mode 100644 index 0000000000..9e53ad4da5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.IterationFinishedEvent.html @@ -0,0 +1,269 @@ + + + + +ListenerSet.IterationFinishedEvent (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface ListenerSet.IterationFinishedEvent<T,E extends MutableFlags>

      +
      +
      +
      +
        +
      • +
        +
        Type Parameters:
        +
        T - The listener type.
        +
        E - The MutableFlags type used to indicate which events occurred.
        +
        +
        +
        Enclosing class:
        +
        ListenerSet<T,E extends MutableFlags>
        +
        +
        +
        public static interface ListenerSet.IterationFinishedEvent<T,E extends MutableFlags>
        +
        An event sent to a listener when all other events sent during one Looper message queue + iteration were handled by the listener.
        +
      • +
      +
      +
      +
        +
      • + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            invoke

            +
            void invoke​(T listener,
            +            E eventFlags)
            +
            Invokes the iteration finished event.
            +
            +
            Parameters:
            +
            listener - The listener to invoke the event on.
            +
            eventFlags - The combined event flags of all events sent in this iteration.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.html new file mode 100644 index 0000000000..e722553b7b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ListenerSet.html @@ -0,0 +1,538 @@ + + + + +ListenerSet (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ListenerSet<T,E extends MutableFlags>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.ListenerSet<T,E>
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Type Parameters:
        +
        T - The listener type.
        +
        E - The MutableFlags type used to indicate which events occurred.
        +
        +
        +
        public final class ListenerSet<T,E extends MutableFlags>
        +extends Object
        +
        A set of listeners. + +

        Events are guaranteed to arrive in the order in which they happened even if a new event is + triggered recursively from another listener. + +

        Events are also guaranteed to be only sent to the listeners registered at the time the event + was enqueued and haven't been removed since.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + + + + + + + +
            +
          • +

            add

            +
            public void add​(T listener)
            +
            Adds a listener to the set. + +

            If a listener is already present, it will not be added again.

            +
            +
            Parameters:
            +
            listener - The listener to be added.
            +
            +
          • +
          + + + + + +
            +
          • +

            remove

            +
            public void remove​(T listener)
            +
            Removes a listener from the set. + +

            If the listener is not present, nothing happens.

            +
            +
            Parameters:
            +
            listener - The listener to be removed.
            +
            +
          • +
          + + + +
            +
          • +

            queueEvent

            +
            public void queueEvent​(int eventFlag,
            +                       ListenerSet.Event<T> event)
            +
            Adds an event that is sent to the listeners when flushEvents() is called.
            +
            +
            Parameters:
            +
            eventFlag - An integer indicating the type of the event, or C.INDEX_UNSET to + report this event without flag.
            +
            event - The event.
            +
            +
          • +
          + + + +
            +
          • +

            flushEvents

            +
            public void flushEvents()
            +
            Notifies listeners of events previously enqueued with queueEvent(int, Event).
            +
          • +
          + + + +
            +
          • +

            sendEvent

            +
            public void sendEvent​(int eventFlag,
            +                      ListenerSet.Event<T> event)
            +
            Queues a single event and immediately flushes the event queue to notify all listeners.
            +
            +
            Parameters:
            +
            eventFlag - An integer flag indicating the type of the event, or C.INDEX_UNSET to + report this event without flag.
            +
            event - The event.
            +
            +
          • +
          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Releases the set of listeners immediately. + +

            This will ensure no events are sent to any listener after this method has been called.

            +
          • +
          + + + +
            +
          • +

            lazyRelease

            +
            public void lazyRelease​(int releaseEventFlag,
            +                        ListenerSet.Event<T> releaseEvent)
            +
            Releases the set of listeners after all already scheduled Looper messages were able to + trigger final events. + +

            After the specified released callback event, no other events are sent to a listener.

            +
            +
            Parameters:
            +
            releaseEventFlag - An integer flag indicating the type of the release event, or C.INDEX_UNSET to report this event without a flag.
            +
            releaseEvent - The release event.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Log.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Log.html new file mode 100644 index 0000000000..66871b2c4a --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Log.html @@ -0,0 +1,671 @@ + + + + +Log (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Log

      +
      +
      + +
      +
        +
      • +
        +
        public final class Log
        +extends Object
        +
        Wrapper around Log which allows to set the log level.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            LOG_LEVEL_ALL

            +
            public static final int LOG_LEVEL_ALL
            +
            Log level to log all messages.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            LOG_LEVEL_INFO

            +
            public static final int LOG_LEVEL_INFO
            +
            Log level to only log informative, warning and error messages.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            LOG_LEVEL_WARNING

            +
            public static final int LOG_LEVEL_WARNING
            +
            Log level to only log warning and error messages.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            LOG_LEVEL_ERROR

            +
            public static final int LOG_LEVEL_ERROR
            +
            Log level to only log error messages.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            LOG_LEVEL_OFF

            +
            public static final int LOG_LEVEL_OFF
            +
            Log level to disable all logging.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getLogLevel

            +
            @Pure
            +@LogLevel
            +public static int getLogLevel()
            +
            Returns current Log.LogLevel for ExoPlayer logcat logging.
            +
          • +
          + + + +
            +
          • +

            getLogStackTraces

            +
            @Pure
            +public boolean getLogStackTraces()
            +
            Returns whether stack traces of Throwables will be logged to logcat.
            +
          • +
          + + + +
            +
          • +

            setLogLevel

            +
            public static void setLogLevel​(@LogLevel
            +                               int logLevel)
            +
            Sets the Log.LogLevel for ExoPlayer logcat logging.
            +
            +
            Parameters:
            +
            logLevel - The new Log.LogLevel.
            +
            +
          • +
          + + + +
            +
          • +

            setLogStackTraces

            +
            public static void setLogStackTraces​(boolean logStackTraces)
            +
            Sets whether stack traces of Throwables will be logged to logcat. Stack trace logging + is enabled by default.
            +
            +
            Parameters:
            +
            logStackTraces - Whether stack traces will be logged.
            +
            +
          • +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
          • +

            getThrowableString

            +
            @Nullable
            +@Pure
            +public static String getThrowableString​(@Nullable
            +                                        Throwable throwable)
            +
            Returns a string representation of a Throwable suitable for logging, taking into + account whether setLogStackTraces(boolean) stack trace logging} is enabled. + +

            Stack trace logging may be unconditionally suppressed for some expected failure modes (e.g., + Throwables that are expected if the device doesn't have network connectivity) + to avoid log spam.

            +
            +
            Parameters:
            +
            throwable - The Throwable.
            +
            Returns:
            +
            The string representation of the Throwable.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LongArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LongArray.html new file mode 100644 index 0000000000..38bc0c4b5f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/LongArray.html @@ -0,0 +1,387 @@ + + + + +LongArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class LongArray

      +
      +
      + +
      +
        +
      • +
        +
        public final class LongArray
        +extends Object
        +
        An append-only, auto-growing long[].
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            LongArray

            +
            public LongArray()
            +
          • +
          + + + +
            +
          • +

            LongArray

            +
            public LongArray​(int initialCapacity)
            +
            +
            Parameters:
            +
            initialCapacity - The initial capacity of the array.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            add

            +
            public void add​(long value)
            +
            Appends a value.
            +
            +
            Parameters:
            +
            value - The value to append.
            +
            +
          • +
          + + + +
            +
          • +

            get

            +
            public long get​(int index)
            +
            Returns the value at a specified index.
            +
            +
            Parameters:
            +
            index - The index.
            +
            Returns:
            +
            The corresponding value.
            +
            Throws:
            +
            IndexOutOfBoundsException - If the index is less than zero, or greater than or equal to + size().
            +
            +
          • +
          + + + +
            +
          • +

            size

            +
            public int size()
            +
            Returns the current size of the array.
            +
          • +
          + + + +
            +
          • +

            toArray

            +
            public long[] toArray()
            +
            Copies the current values into a newly allocated primitive array.
            +
            +
            Returns:
            +
            The primitive array containing the copied values.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MediaClock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MediaClock.html new file mode 100644 index 0000000000..0d5f2e6858 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MediaClock.html @@ -0,0 +1,293 @@ + + + + +MediaClock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface MediaClock

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getPositionUs

            +
            long getPositionUs()
            +
            Returns the current media position in microseconds.
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Attempts to set the playback parameters. The media clock may override the speed if changing the + playback parameters is not supported.
            +
            +
            Parameters:
            +
            playbackParameters - The playback parameters to attempt to set.
            +
            +
          • +
          + + + +
            +
          • +

            getPlaybackParameters

            +
            PlaybackParameters getPlaybackParameters()
            +
            Returns the active playback parameters.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MimeTypes.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MimeTypes.html new file mode 100644 index 0000000000..982c0c7a57 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MimeTypes.html @@ -0,0 +1,2165 @@ + + + + +MimeTypes (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MimeTypes

      +
      +
      + +
      +
        +
      • +
        +
        public final class MimeTypes
        +extends Object
        +
        Defines common MIME types and helper methods.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            registerCustomMimeType

            +
            public static void registerCustomMimeType​(String mimeType,
            +                                          String codecPrefix,
            +                                          int trackType)
            +
            Registers a custom MIME type. Most applications do not need to call this method, as handling of + standard MIME types is built in. These built-in MIME types take precedence over any registered + via this method. If this method is used, it must be called before creating any player(s).
            +
            +
            Parameters:
            +
            mimeType - The custom MIME type to register.
            +
            codecPrefix - The RFC 6381 codec string prefix associated with the MIME type.
            +
            trackType - The C.TRACK_TYPE_* constant associated with the MIME type. + This value is ignored if the top-level type of mimeType is audio, video or text.
            +
            +
          • +
          + + + +
            +
          • +

            isAudio

            +
            public static boolean isAudio​(@Nullable
            +                              String mimeType)
            +
            Returns whether the given string is an audio MIME type.
            +
          • +
          + + + +
            +
          • +

            isVideo

            +
            public static boolean isVideo​(@Nullable
            +                              String mimeType)
            +
            Returns whether the given string is a video MIME type.
            +
          • +
          + + + +
            +
          • +

            isText

            +
            public static boolean isText​(@Nullable
            +                             String mimeType)
            +
            Returns whether the given string is a text MIME type, including known text types that use + "application" as their base type.
            +
          • +
          + + + +
            +
          • +

            allSamplesAreSyncSamples

            +
            public static boolean allSamplesAreSyncSamples​(@Nullable
            +                                               String mimeType,
            +                                               @Nullable
            +                                               String codec)
            +
            Returns true if it is known that all samples in a stream of the given MIME type and codec are + guaranteed to be sync samples (i.e., C.BUFFER_FLAG_KEY_FRAME is guaranteed to be set on + every sample).
            +
            +
            Parameters:
            +
            mimeType - The MIME type of the stream.
            +
            codec - The RFC 6381 codec string of the stream, or null if unknown.
            +
            Returns:
            +
            Whether it is known that all samples in the stream are guaranteed to be sync samples.
            +
            +
          • +
          + + + +
            +
          • +

            getVideoMediaMimeType

            +
            @Nullable
            +public static String getVideoMediaMimeType​(@Nullable
            +                                           String codecs)
            +
            Returns the first video MIME type derived from an RFC 6381 codecs string.
            +
            +
            Parameters:
            +
            codecs - An RFC 6381 codecs string.
            +
            Returns:
            +
            The first derived video MIME type, or null.
            +
            +
          • +
          + + + +
            +
          • +

            containsCodecsCorrespondingToMimeType

            +
            public static boolean containsCodecsCorrespondingToMimeType​(@Nullable
            +                                                            String codecs,
            +                                                            String mimeType)
            +
            Returns whether the given codecs string contains a codec which corresponds to the given + mimeType.
            +
            +
            Parameters:
            +
            codecs - An RFC 6381 codecs string.
            +
            mimeType - A MIME type to look for.
            +
            Returns:
            +
            Whether the given codecs string contains a codec which corresponds to the given + mimeType.
            +
            +
          • +
          + + + +
            +
          • +

            getCodecsCorrespondingToMimeType

            +
            @Nullable
            +public static String getCodecsCorrespondingToMimeType​(@Nullable
            +                                                      String codecs,
            +                                                      @Nullable
            +                                                      String mimeType)
            +
            Returns a subsequence of codecs containing the codec strings that correspond to the + given mimeType. Returns null if mimeType is null, codecs is null, or + codecs does not contain a codec that corresponds to mimeType.
            +
            +
            Parameters:
            +
            codecs - An RFC 6381 codecs string.
            +
            mimeType - A MIME type to look for.
            +
            Returns:
            +
            A subsequence of codecs containing the codec strings that correspond to the + given mimeType. Returns null if mimeType is null, codecs is null, + or codecs does not contain a codec that corresponds to mimeType.
            +
            +
          • +
          + + + +
            +
          • +

            getAudioMediaMimeType

            +
            @Nullable
            +public static String getAudioMediaMimeType​(@Nullable
            +                                           String codecs)
            +
            Returns the first audio MIME type derived from an RFC 6381 codecs string.
            +
            +
            Parameters:
            +
            codecs - An RFC 6381 codecs string.
            +
            Returns:
            +
            The first derived audio MIME type, or null.
            +
            +
          • +
          + + + +
            +
          • +

            getTextMediaMimeType

            +
            @Nullable
            +public static String getTextMediaMimeType​(@Nullable
            +                                          String codecs)
            +
            Returns the first text MIME type derived from an RFC 6381 codecs string.
            +
            +
            Parameters:
            +
            codecs - An RFC 6381 codecs string.
            +
            Returns:
            +
            The first derived text MIME type, or null.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaMimeType

            +
            @Nullable
            +public static String getMediaMimeType​(@Nullable
            +                                      String codec)
            +
            Returns the MIME type corresponding to an RFC 6381 codec string, or null if it could + not be determined.
            +
            +
            Parameters:
            +
            codec - An RFC 6381 codec string.
            +
            Returns:
            +
            The corresponding MIME type, or null if it could not be determined.
            +
            +
          • +
          + + + +
            +
          • +

            getMimeTypeFromMp4ObjectType

            +
            @Nullable
            +public static String getMimeTypeFromMp4ObjectType​(int objectType)
            +
            Returns the MIME type corresponding to an MP4 object type identifier, as defined in RFC 6381 + and https://mp4ra.org/#/object_types.
            +
            +
            Parameters:
            +
            objectType - An MP4 object type identifier.
            +
            Returns:
            +
            The corresponding MIME type, or null if it could not be determined.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackType

            +
            public static int getTrackType​(@Nullable
            +                               String mimeType)
            +
            Returns the C.TRACK_TYPE_* constant corresponding to a specified MIME type, or + C.TRACK_TYPE_UNKNOWN if it could not be determined.
            +
            +
            Parameters:
            +
            mimeType - A MIME type.
            +
            Returns:
            +
            The corresponding C.TRACK_TYPE_*, or C.TRACK_TYPE_UNKNOWN if it + could not be determined.
            +
            +
          • +
          + + + +
            +
          • +

            getEncoding

            +
            @Encoding
            +public static int getEncoding​(String mimeType,
            +                              @Nullable
            +                              String codec)
            +
            Returns the C.Encoding constant corresponding to the specified audio MIME type and RFC + 6381 codec string, or C.ENCODING_INVALID if the corresponding C.Encoding cannot + be determined.
            +
            +
            Parameters:
            +
            mimeType - A MIME type.
            +
            codec - An RFC 6381 codec string, or null if unknown or not applicable.
            +
            Returns:
            +
            The corresponding C.Encoding, or C.ENCODING_INVALID.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackTypeOfCodec

            +
            public static int getTrackTypeOfCodec​(String codec)
            +
            Equivalent to getTrackType(getMediaMimeType(codec)).
            +
            +
            Parameters:
            +
            codec - An RFC 6381 codec string.
            +
            Returns:
            +
            The corresponding C.TRACK_TYPE_*, or C.TRACK_TYPE_UNKNOWN if it + could not be determined.
            +
            +
          • +
          + + + +
            +
          • +

            normalizeMimeType

            +
            public static String normalizeMimeType​(String mimeType)
            +
            Normalizes the MIME type provided so that equivalent MIME types are uniquely represented.
            +
            +
            Parameters:
            +
            mimeType - A MIME type to normalize.
            +
            Returns:
            +
            The normalized MIME type, or the argument MIME type if its normalized form is unknown.
            +
            +
          • +
          + + + +
            +
          • +

            isMatroska

            +
            public static boolean isMatroska​(@Nullable
            +                                 String mimeType)
            +
            Returns whether the given mimeType is a Matroska MIME type, including WebM.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MutableFlags.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MutableFlags.html new file mode 100644 index 0000000000..c439e2405f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/MutableFlags.html @@ -0,0 +1,458 @@ + + + + +MutableFlags (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MutableFlags

      +
      +
      + +
      +
        +
      • +
        +
        Direct Known Subclasses:
        +
        AnalyticsListener.Events, Player.Events
        +
        +
        +
        public class MutableFlags
        +extends Object
        +
        A set of integer flags. + +

        Intended for usages where the number of flags may exceed 32 and can no longer be represented + by an IntDef.

        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          MutableFlags() +
          Creates the set of flags.
          +
          +
        • +
        + + +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MutableFlags

            +
            public MutableFlags()
            +
            Creates the set of flags.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Clears all previously set flags.
            +
          • +
          + + + +
            +
          • +

            add

            +
            public void add​(int flag)
            +
            Adds a flag to the set.
            +
            +
            Parameters:
            +
            flag - The flag to add.
            +
            +
          • +
          + + + +
            +
          • +

            contains

            +
            public boolean contains​(int flag)
            +
            Returns whether the set contains the given flag.
            +
            +
            Parameters:
            +
            flag - The flag.
            +
            Returns:
            +
            Whether the set contains the flag.
            +
            +
          • +
          + + + +
            +
          • +

            containsAny

            +
            public boolean containsAny​(int... flags)
            +
            Returns whether the set contains at least one of the given flags.
            +
            +
            Parameters:
            +
            flags - The flags.
            +
            Returns:
            +
            Whether the set contains at least one of the flags.
            +
            +
          • +
          + + + +
            +
          • +

            size

            +
            public int size()
            +
            Returns the number of flags in this set.
            +
          • +
          + + + +
            +
          • +

            get

            +
            public int get​(int index)
            +
            Returns the flag at the given index.
            +
            +
            Parameters:
            +
            index - The index. Must be between 0 (inclusive) and size() (exclusive).
            +
            Returns:
            +
            The flag at the given index.
            +
            Throws:
            +
            IllegalArgumentException - If index is outside the allowed range.
            +
            +
          • +
          + + + +
            +
          • +

            equals

            +
            public boolean equals​(@Nullable
            +                      Object o)
            +
            +
            Overrides:
            +
            equals in class Object
            +
            +
          • +
          + + + +
            +
          • +

            hashCode

            +
            public int hashCode()
            +
            +
            Overrides:
            +
            hashCode in class Object
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html new file mode 100644 index 0000000000..92df008c3c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.PpsData.html @@ -0,0 +1,337 @@ + + + + +NalUnitUtil.PpsData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NalUnitUtil.PpsData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.NalUnitUtil.PpsData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        NalUnitUtil
        +
        +
        +
        public static final class NalUnitUtil.PpsData
        +extends Object
        +
        Holds data parsed from a picture parameter set NAL unit.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            picParameterSetId

            +
            public final int picParameterSetId
            +
          • +
          + + + +
            +
          • +

            seqParameterSetId

            +
            public final int seqParameterSetId
            +
          • +
          + + + +
            +
          • +

            bottomFieldPicOrderInFramePresentFlag

            +
            public final boolean bottomFieldPicOrderInFramePresentFlag
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PpsData

            +
            public PpsData​(int picParameterSetId,
            +               int seqParameterSetId,
            +               boolean bottomFieldPicOrderInFramePresentFlag)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.SpsData.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.SpsData.html new file mode 100644 index 0000000000..f7e88f2aeb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.SpsData.html @@ -0,0 +1,497 @@ + + + + +NalUnitUtil.SpsData (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NalUnitUtil.SpsData

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.NalUnitUtil.SpsData
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        NalUnitUtil
        +
        +
        +
        public static final class NalUnitUtil.SpsData
        +extends Object
        +
        Holds data parsed from a sequence parameter set NAL unit.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            profileIdc

            +
            public final int profileIdc
            +
          • +
          + + + +
            +
          • +

            constraintsFlagsAndReservedZero2Bits

            +
            public final int constraintsFlagsAndReservedZero2Bits
            +
          • +
          + + + +
            +
          • +

            levelIdc

            +
            public final int levelIdc
            +
          • +
          + + + +
            +
          • +

            seqParameterSetId

            +
            public final int seqParameterSetId
            +
          • +
          + + + +
            +
          • +

            width

            +
            public final int width
            +
          • +
          + + + +
            +
          • +

            height

            +
            public final int height
            +
          • +
          + + + +
            +
          • +

            pixelWidthAspectRatio

            +
            public final float pixelWidthAspectRatio
            +
          • +
          + + + +
            +
          • +

            separateColorPlaneFlag

            +
            public final boolean separateColorPlaneFlag
            +
          • +
          + + + +
            +
          • +

            frameMbsOnlyFlag

            +
            public final boolean frameMbsOnlyFlag
            +
          • +
          + + + +
            +
          • +

            frameNumLength

            +
            public final int frameNumLength
            +
          • +
          + + + +
            +
          • +

            picOrderCountType

            +
            public final int picOrderCountType
            +
          • +
          + + + +
            +
          • +

            picOrderCntLsbLength

            +
            public final int picOrderCntLsbLength
            +
          • +
          + + + +
            +
          • +

            deltaPicOrderAlwaysZeroFlag

            +
            public final boolean deltaPicOrderAlwaysZeroFlag
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SpsData

            +
            public SpsData​(int profileIdc,
            +               int constraintsFlagsAndReservedZero2Bits,
            +               int levelIdc,
            +               int seqParameterSetId,
            +               int width,
            +               int height,
            +               float pixelWidthAspectRatio,
            +               boolean separateColorPlaneFlag,
            +               boolean frameMbsOnlyFlag,
            +               int frameNumLength,
            +               int picOrderCountType,
            +               int picOrderCntLsbLength,
            +               boolean deltaPicOrderAlwaysZeroFlag)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.html new file mode 100644 index 0000000000..0ba7a1189f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NalUnitUtil.html @@ -0,0 +1,626 @@ + + + + +NalUnitUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NalUnitUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class NalUnitUtil
        +extends Object
        +
        Utility methods for handling H.264/AVC and H.265/HEVC NAL units.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Nested Class Summary

          + + + + + + + + + + + + + + + + + +
          Nested Classes 
          Modifier and TypeClassDescription
          static class NalUnitUtil.PpsData +
          Holds data parsed from a picture parameter set NAL unit.
          +
          static class NalUnitUtil.SpsData +
          Holds data parsed from a sequence parameter set NAL unit.
          +
          +
        • +
        + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          static float[]ASPECT_RATIO_IDC_VALUES +
          Aspect ratios indexed by aspect_ratio_idc, in H.264 and H.265 SPSs.
          +
          static intEXTENDED_SAR +
          Value for aspect_ratio_idc indicating an extended aspect ratio, in H.264 and H.265 SPSs.
          +
          static byte[]NAL_START_CODE +
          Four initial bytes that must prefix NAL units for decoding.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Static Methods Concrete Methods 
          Modifier and TypeMethodDescription
          static voidclearPrefixFlags​(boolean[] prefixFlags) +
          Clears prefix flags, as used by findNalUnit(byte[], int, int, boolean[]).
          +
          static voiddiscardToSps​(ByteBuffer data) +
          Discards data from the buffer up to the first SPS, where data.position() is interpreted + as the length of the buffer.
          +
          static intfindNalUnit​(byte[] data, + int startOffset, + int endOffset, + boolean[] prefixFlags) +
          Finds the first NAL unit in data.
          +
          static intgetH265NalUnitType​(byte[] data, + int offset) +
          Returns the type of the H.265 NAL unit in data that starts at offset.
          +
          static intgetNalUnitType​(byte[] data, + int offset) +
          Returns the type of the NAL unit in data that starts at offset.
          +
          static booleanisNalUnitSei​(String mimeType, + byte nalUnitHeaderFirstByte) +
          Returns whether the NAL unit with the specified header contains supplemental enhancement + information.
          +
          static NalUnitUtil.PpsDataparsePpsNalUnit​(byte[] nalData, + int nalOffset, + int nalLimit) +
          Parses a PPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.2.
          +
          static NalUnitUtil.SpsDataparseSpsNalUnit​(byte[] nalData, + int nalOffset, + int nalLimit) +
          Parses an SPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.1.1.
          +
          static intunescapeStream​(byte[] data, + int limit) +
          Unescapes data up to the specified limit, replacing occurrences of [0, 0, 3] with + [0, 0].
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            NAL_START_CODE

            +
            public static final byte[] NAL_START_CODE
            +
            Four initial bytes that must prefix NAL units for decoding.
            +
          • +
          + + + +
            +
          • +

            EXTENDED_SAR

            +
            public static final int EXTENDED_SAR
            +
            Value for aspect_ratio_idc indicating an extended aspect ratio, in H.264 and H.265 SPSs.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            ASPECT_RATIO_IDC_VALUES

            +
            public static final float[] ASPECT_RATIO_IDC_VALUES
            +
            Aspect ratios indexed by aspect_ratio_idc, in H.264 and H.265 SPSs.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            unescapeStream

            +
            public static int unescapeStream​(byte[] data,
            +                                 int limit)
            +
            Unescapes data up to the specified limit, replacing occurrences of [0, 0, 3] with + [0, 0]. The unescaped data is returned in-place, with the return value indicating its length. +

            + Executions of this method are mutually exclusive, so it should not be called with very large + buffers.

            +
            +
            Parameters:
            +
            data - The data to unescape.
            +
            limit - The limit (exclusive) of the data to unescape.
            +
            Returns:
            +
            The length of the unescaped data.
            +
            +
          • +
          + + + +
            +
          • +

            discardToSps

            +
            public static void discardToSps​(ByteBuffer data)
            +
            Discards data from the buffer up to the first SPS, where data.position() is interpreted + as the length of the buffer. +

            + When the method returns, data.position() will contain the new length of the buffer. If + the buffer is not empty it is guaranteed to start with an SPS.

            +
            +
            Parameters:
            +
            data - Buffer containing start code delimited NAL units.
            +
            +
          • +
          + + + +
            +
          • +

            isNalUnitSei

            +
            public static boolean isNalUnitSei​(@Nullable
            +                                   String mimeType,
            +                                   byte nalUnitHeaderFirstByte)
            +
            Returns whether the NAL unit with the specified header contains supplemental enhancement + information.
            +
            +
            Parameters:
            +
            mimeType - The sample MIME type, or null if unknown.
            +
            nalUnitHeaderFirstByte - The first byte of nal_unit().
            +
            Returns:
            +
            Whether the NAL unit with the specified header is an SEI NAL unit. False is returned if + the MimeType is null.
            +
            +
          • +
          + + + +
            +
          • +

            getNalUnitType

            +
            public static int getNalUnitType​(byte[] data,
            +                                 int offset)
            +
            Returns the type of the NAL unit in data that starts at offset.
            +
            +
            Parameters:
            +
            data - The data to search.
            +
            offset - The start offset of a NAL unit. Must lie between -3 (inclusive) and + data.length - 3 (exclusive).
            +
            Returns:
            +
            The type of the unit.
            +
            +
          • +
          + + + +
            +
          • +

            getH265NalUnitType

            +
            public static int getH265NalUnitType​(byte[] data,
            +                                     int offset)
            +
            Returns the type of the H.265 NAL unit in data that starts at offset.
            +
            +
            Parameters:
            +
            data - The data to search.
            +
            offset - The start offset of a NAL unit. Must lie between -3 (inclusive) and + data.length - 3 (exclusive).
            +
            Returns:
            +
            The type of the unit.
            +
            +
          • +
          + + + +
            +
          • +

            parseSpsNalUnit

            +
            public static NalUnitUtil.SpsData parseSpsNalUnit​(byte[] nalData,
            +                                                  int nalOffset,
            +                                                  int nalLimit)
            +
            Parses an SPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.1.1.
            +
            +
            Parameters:
            +
            nalData - A buffer containing escaped SPS data.
            +
            nalOffset - The offset of the NAL unit header in nalData.
            +
            nalLimit - The limit of the NAL unit in nalData.
            +
            Returns:
            +
            A parsed representation of the SPS data.
            +
            +
          • +
          + + + +
            +
          • +

            parsePpsNalUnit

            +
            public static NalUnitUtil.PpsData parsePpsNalUnit​(byte[] nalData,
            +                                                  int nalOffset,
            +                                                  int nalLimit)
            +
            Parses a PPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.2.
            +
            +
            Parameters:
            +
            nalData - A buffer containing escaped PPS data.
            +
            nalOffset - The offset of the NAL unit header in nalData.
            +
            nalLimit - The limit of the NAL unit in nalData.
            +
            Returns:
            +
            A parsed representation of the PPS data.
            +
            +
          • +
          + + + +
            +
          • +

            findNalUnit

            +
            public static int findNalUnit​(byte[] data,
            +                              int startOffset,
            +                              int endOffset,
            +                              boolean[] prefixFlags)
            +
            Finds the first NAL unit in data. +

            + If prefixFlags is null then the first three bytes of a NAL unit must be entirely + contained within the part of the array being searched in order for it to be found. +

            + When prefixFlags is non-null, this method supports finding NAL units whose first four + bytes span data arrays passed to successive calls. To use this feature, pass the same + prefixFlags parameter to successive calls. State maintained in this parameter enables + the detection of such NAL units. Note that when using this feature, the return value may be 3, + 2 or 1 less than startOffset, to indicate a NAL unit starting 3, 2 or 1 bytes before + the first byte in the current array.

            +
            +
            Parameters:
            +
            data - The data to search.
            +
            startOffset - The offset (inclusive) in the data to start the search.
            +
            endOffset - The offset (exclusive) in the data to end the search.
            +
            prefixFlags - A boolean array whose first three elements are used to store the state + required to detect NAL units where the NAL unit prefix spans array boundaries. The array + must be at least 3 elements long.
            +
            Returns:
            +
            The offset of the NAL unit, or endOffset if a NAL unit was not found.
            +
            +
          • +
          + + + +
            +
          • +

            clearPrefixFlags

            +
            public static void clearPrefixFlags​(boolean[] prefixFlags)
            +
            Clears prefix flags, as used by findNalUnit(byte[], int, int, boolean[]).
            +
            +
            Parameters:
            +
            prefixFlags - The flags to clear.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NonNullApi.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NonNullApi.html new file mode 100644 index 0000000000..33baba5cb4 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NonNullApi.html @@ -0,0 +1,191 @@ + + + + +NonNullApi (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type NonNullApi

      +
      +
      +
      +
        +
      • +
        +
        @Nonnull
        +@TypeQualifierDefault(TYPE_USE)
        +@Retention(CLASS)
        +public @interface NonNullApi
        +
        Annotation to declare all type usages in the annotated instance as Nonnull, unless + explicitly marked with a nullable annotation.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.Importance.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.Importance.html new file mode 100644 index 0000000000..1dfbcea8f5 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.Importance.html @@ -0,0 +1,189 @@ + + + + +NotificationUtil.Importance (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type NotificationUtil.Importance

      +
      + + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.html new file mode 100644 index 0000000000..ad9d945fbb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/NotificationUtil.html @@ -0,0 +1,515 @@ + + + + +NotificationUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class NotificationUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.NotificationUtil
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class NotificationUtil
        +extends Object
        +
        Utility methods for displaying Notifications.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableBitArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableBitArray.html new file mode 100644 index 0000000000..4c742f8cc6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableBitArray.html @@ -0,0 +1,796 @@ + + + + +ParsableBitArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ParsableBitArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.ParsableBitArray
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ParsableBitArray
        +extends Object
        +
        Wraps a byte array, providing methods that allow it to be read as a bitstream.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Summary

          + + + + + + + + + + + + +
          Fields 
          Modifier and TypeFieldDescription
          byte[]data 
          +
        • +
        + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          ParsableBitArray() +
          Creates a new instance that initially has no backing data.
          +
          ParsableBitArray​(byte[] data) +
          Creates a new instance that wraps an existing array.
          +
          ParsableBitArray​(byte[] data, + int limit) +
          Creates a new instance that wraps an existing array.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          intbitsLeft() +
          Returns the number of bits yet to be read.
          +
          voidbyteAlign() +
          Aligns the position to the next byte boundary.
          +
          intgetBytePosition() +
          Returns the current byte offset.
          +
          intgetPosition() +
          Returns the current bit offset.
          +
          voidputInt​(int value, + int numBits) +
          Overwrites numBits from this array using the numBits least significant bits + from value.
          +
          booleanreadBit() +
          Reads a single bit.
          +
          voidreadBits​(byte[] buffer, + int offset, + int numBits) +
          Reads numBits bits into buffer.
          +
          intreadBits​(int numBits) +
          Reads up to 32 bits.
          +
          longreadBitsToLong​(int numBits) +
          Reads up to 64 bits.
          +
          voidreadBytes​(byte[] buffer, + int offset, + int length) +
          Reads the next length bytes into buffer.
          +
          StringreadBytesAsString​(int length) +
          Reads the next length bytes as a UTF-8 string.
          +
          StringreadBytesAsString​(int length, + Charset charset) +
          Reads the next length bytes as a string encoded in Charset.
          +
          voidreset​(byte[] data) +
          Updates the instance to wrap data, and resets the position to zero.
          +
          voidreset​(byte[] data, + int limit) +
          Updates the instance to wrap data, and resets the position to zero.
          +
          voidreset​(ParsableByteArray parsableByteArray) +
          Sets this instance's data, position and limit to match the provided parsableByteArray.
          +
          voidsetPosition​(int position) +
          Sets the current bit offset.
          +
          voidskipBit() +
          Skips a single bit.
          +
          voidskipBits​(int numBits) +
          Skips bits and moves current reading position forward.
          +
          voidskipBytes​(int length) +
          Skips the next length bytes.
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            data

            +
            public byte[] data
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ParsableBitArray

            +
            public ParsableBitArray()
            +
            Creates a new instance that initially has no backing data.
            +
          • +
          + + + +
            +
          • +

            ParsableBitArray

            +
            public ParsableBitArray​(byte[] data)
            +
            Creates a new instance that wraps an existing array.
            +
            +
            Parameters:
            +
            data - The data to wrap.
            +
            +
          • +
          + + + +
            +
          • +

            ParsableBitArray

            +
            public ParsableBitArray​(byte[] data,
            +                        int limit)
            +
            Creates a new instance that wraps an existing array.
            +
            +
            Parameters:
            +
            data - The data to wrap.
            +
            limit - The limit in bytes.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset​(byte[] data)
            +
            Updates the instance to wrap data, and resets the position to zero.
            +
            +
            Parameters:
            +
            data - The array to wrap.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset​(ParsableByteArray parsableByteArray)
            +
            Sets this instance's data, position and limit to match the provided parsableByteArray. + Any modifications to the underlying data array will be visible in both instances
            +
            +
            Parameters:
            +
            parsableByteArray - The ParsableByteArray.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset​(byte[] data,
            +                  int limit)
            +
            Updates the instance to wrap data, and resets the position to zero.
            +
            +
            Parameters:
            +
            data - The array to wrap.
            +
            limit - The limit in bytes.
            +
            +
          • +
          + + + +
            +
          • +

            bitsLeft

            +
            public int bitsLeft()
            +
            Returns the number of bits yet to be read.
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public int getPosition()
            +
            Returns the current bit offset.
            +
          • +
          + + + +
            +
          • +

            getBytePosition

            +
            public int getBytePosition()
            +
            Returns the current byte offset. Must only be called when the position is byte aligned.
            +
            +
            Throws:
            +
            IllegalStateException - If the position isn't byte aligned.
            +
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public void setPosition​(int position)
            +
            Sets the current bit offset.
            +
            +
            Parameters:
            +
            position - The position to set.
            +
            +
          • +
          + + + +
            +
          • +

            skipBit

            +
            public void skipBit()
            +
            Skips a single bit.
            +
          • +
          + + + +
            +
          • +

            skipBits

            +
            public void skipBits​(int numBits)
            +
            Skips bits and moves current reading position forward.
            +
            +
            Parameters:
            +
            numBits - The number of bits to skip.
            +
            +
          • +
          + + + +
            +
          • +

            readBit

            +
            public boolean readBit()
            +
            Reads a single bit.
            +
            +
            Returns:
            +
            Whether the bit is set.
            +
            +
          • +
          + + + +
            +
          • +

            readBits

            +
            public int readBits​(int numBits)
            +
            Reads up to 32 bits.
            +
            +
            Parameters:
            +
            numBits - The number of bits to read.
            +
            Returns:
            +
            An integer whose bottom numBits bits hold the read data.
            +
            +
          • +
          + + + +
            +
          • +

            readBitsToLong

            +
            public long readBitsToLong​(int numBits)
            +
            Reads up to 64 bits.
            +
            +
            Parameters:
            +
            numBits - The number of bits to read.
            +
            Returns:
            +
            A long whose bottom numBits bits hold the read data.
            +
            +
          • +
          + + + +
            +
          • +

            readBits

            +
            public void readBits​(byte[] buffer,
            +                     int offset,
            +                     int numBits)
            +
            Reads numBits bits into buffer.
            +
            +
            Parameters:
            +
            buffer - The array into which the read data should be written. The trailing numBits + % 8 bits are written into the most significant bits of the last modified buffer + byte. The remaining ones are unmodified.
            +
            offset - The offset in buffer at which the read data should be written.
            +
            numBits - The number of bits to read.
            +
            +
          • +
          + + + +
            +
          • +

            byteAlign

            +
            public void byteAlign()
            +
            Aligns the position to the next byte boundary. Does nothing if the position is already aligned.
            +
          • +
          + + + +
            +
          • +

            readBytes

            +
            public void readBytes​(byte[] buffer,
            +                      int offset,
            +                      int length)
            +
            Reads the next length bytes into buffer. Must only be called when the position + is byte aligned.
            +
            +
            Parameters:
            +
            buffer - The array into which the read data should be written.
            +
            offset - The offset in buffer at which the read data should be written.
            +
            length - The number of bytes to read.
            +
            Throws:
            +
            IllegalStateException - If the position isn't byte aligned.
            +
            See Also:
            +
            System.arraycopy(Object, int, Object, int, int)
            +
            +
          • +
          + + + +
            +
          • +

            skipBytes

            +
            public void skipBytes​(int length)
            +
            Skips the next length bytes. Must only be called when the position is byte aligned.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            Throws:
            +
            IllegalStateException - If the position isn't byte aligned.
            +
            +
          • +
          + + + +
            +
          • +

            readBytesAsString

            +
            public String readBytesAsString​(int length)
            +
            Reads the next length bytes as a UTF-8 string. Must only be called when the position is + byte aligned.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            Returns:
            +
            The string encoded by the bytes in UTF-8.
            +
            +
          • +
          + + + +
            +
          • +

            readBytesAsString

            +
            public String readBytesAsString​(int length,
            +                                Charset charset)
            +
            Reads the next length bytes as a string encoded in Charset. Must only be called + when the position is byte aligned.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            charset - The character set of the encoded characters.
            +
            Returns:
            +
            The string encoded by the bytes in the specified character set.
            +
            +
          • +
          + + + +
            +
          • +

            putInt

            +
            public void putInt​(int value,
            +                   int numBits)
            +
            Overwrites numBits from this array using the numBits least significant bits + from value. Bits are written in order from most significant to least significant. The + read position is advanced by numBits.
            +
            +
            Parameters:
            +
            value - The integer whose numBits least significant bits are written into data.
            +
            numBits - The number of bits to write.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableByteArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableByteArray.html new file mode 100644 index 0000000000..d31668c38d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableByteArray.html @@ -0,0 +1,1281 @@ + + + + +ParsableByteArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ParsableByteArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.ParsableByteArray
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ParsableByteArray
        +extends Object
        +
        Wraps a byte array, providing a set of methods for parsing data from it. Numerical values are + parsed with the assumption that their constituent bytes are in big endian order.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          ParsableByteArray() +
          Creates a new instance that initially has no backing data.
          +
          ParsableByteArray​(byte[] data) +
          Creates a new instance wrapping data, and sets the limit to data.length.
          +
          ParsableByteArray​(byte[] data, + int limit) +
          Creates a new instance that wraps an existing array.
          +
          ParsableByteArray​(int limit) +
          Creates a new instance with limit bytes and sets the limit.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          intbytesLeft() +
          Returns the number of bytes yet to be read.
          +
          intcapacity() +
          Returns the capacity of the array, which may be larger than the limit.
          +
          voidensureCapacity​(int requiredCapacity) +
          Ensures the backing array is at least requiredCapacity long.
          +
          byte[]getData() +
          Returns the underlying array.
          +
          intgetPosition() +
          Returns the current offset in the array, in bytes.
          +
          intlimit() +
          Returns the limit.
          +
          charpeekChar() +
          Peeks at the next char.
          +
          intpeekUnsignedByte() +
          Peeks at the next byte as an unsigned value.
          +
          voidreadBytes​(byte[] buffer, + int offset, + int length) +
          Reads the next length bytes into buffer at offset.
          +
          voidreadBytes​(ParsableBitArray bitArray, + int length) +
          Reads the next length bytes into bitArray, and resets the position of + bitArray to zero.
          +
          voidreadBytes​(ByteBuffer buffer, + int length) +
          Reads the next length bytes into buffer.
          +
          StringreadDelimiterTerminatedString​(char delimiter) +
          Reads up to the next delimiter byte (or the limit) as UTF-8 characters.
          +
          doublereadDouble() +
          Reads the next eight bytes as a 64-bit floating point value.
          +
          floatreadFloat() +
          Reads the next four bytes as a 32-bit floating point value.
          +
          intreadInt() +
          Reads the next four bytes as a signed value
          +
          intreadInt24() +
          Reads the next three bytes as a signed value.
          +
          StringreadLine() +
          Reads a line of text.
          +
          intreadLittleEndianInt() +
          Reads the next four bytes as a signed value in little endian order.
          +
          intreadLittleEndianInt24() +
          Reads the next three bytes as a signed value in little endian order.
          +
          longreadLittleEndianLong() +
          Reads the next eight bytes as a signed value in little endian order.
          +
          shortreadLittleEndianShort() +
          Reads the next two bytes as a signed value.
          +
          longreadLittleEndianUnsignedInt() +
          Reads the next four bytes as an unsigned value in little endian order.
          +
          intreadLittleEndianUnsignedInt24() +
          Reads the next three bytes as an unsigned value in little endian order.
          +
          intreadLittleEndianUnsignedIntToInt() +
          Reads the next four bytes as a little endian unsigned integer into an integer, if the top bit + is a zero.
          +
          intreadLittleEndianUnsignedShort() +
          Reads the next two bytes as an unsigned value.
          +
          longreadLong() +
          Reads the next eight bytes as a signed value.
          +
          StringreadNullTerminatedString() +
          Reads up to the next NUL byte (or the limit) as UTF-8 characters.
          +
          StringreadNullTerminatedString​(int length) +
          Reads the next length bytes as UTF-8 characters.
          +
          shortreadShort() +
          Reads the next two bytes as a signed value.
          +
          StringreadString​(int length) +
          Reads the next length bytes as UTF-8 characters.
          +
          StringreadString​(int length, + Charset charset) +
          Reads the next length bytes as characters in the specified Charset.
          +
          intreadSynchSafeInt() +
          Reads a Synchsafe integer.
          +
          intreadUnsignedByte() +
          Reads the next byte as an unsigned value.
          +
          intreadUnsignedFixedPoint1616() +
          Reads the next four bytes, returning the integer portion of the fixed point 16.16 integer.
          +
          longreadUnsignedInt() +
          Reads the next four bytes as an unsigned value.
          +
          intreadUnsignedInt24() +
          Reads the next three bytes as an unsigned value.
          +
          intreadUnsignedIntToInt() +
          Reads the next four bytes as an unsigned integer into an integer, if the top bit is a zero.
          +
          longreadUnsignedLongToLong() +
          Reads the next eight bytes as an unsigned long into a long, if the top bit is a zero.
          +
          intreadUnsignedShort() +
          Reads the next two bytes as an unsigned value.
          +
          longreadUtf8EncodedLong() +
          Reads a long value encoded by UTF-8 encoding
          +
          voidreset​(byte[] data) +
          Updates the instance to wrap data, and resets the position to zero and the limit to + data.length.
          +
          voidreset​(byte[] data, + int limit) +
          Updates the instance to wrap data, and resets the position to zero.
          +
          voidreset​(int limit) +
          Resets the position to zero and the limit to the specified value.
          +
          voidsetLimit​(int limit) +
          Sets the limit.
          +
          voidsetPosition​(int position) +
          Sets the reading offset in the array.
          +
          voidskipBytes​(int bytes) +
          Moves the reading offset by bytes.
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ParsableByteArray

            +
            public ParsableByteArray()
            +
            Creates a new instance that initially has no backing data.
            +
          • +
          + + + +
            +
          • +

            ParsableByteArray

            +
            public ParsableByteArray​(int limit)
            +
            Creates a new instance with limit bytes and sets the limit.
            +
            +
            Parameters:
            +
            limit - The limit to set.
            +
            +
          • +
          + + + +
            +
          • +

            ParsableByteArray

            +
            public ParsableByteArray​(byte[] data)
            +
            Creates a new instance wrapping data, and sets the limit to data.length.
            +
            +
            Parameters:
            +
            data - The array to wrap.
            +
            +
          • +
          + + + +
            +
          • +

            ParsableByteArray

            +
            public ParsableByteArray​(byte[] data,
            +                         int limit)
            +
            Creates a new instance that wraps an existing array.
            +
            +
            Parameters:
            +
            data - The data to wrap.
            +
            limit - The limit to set.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset​(int limit)
            +
            Resets the position to zero and the limit to the specified value. This might replace or wipe + the underlying array, potentially invalidating any local references.
            +
            +
            Parameters:
            +
            limit - The limit to set.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset​(byte[] data)
            +
            Updates the instance to wrap data, and resets the position to zero and the limit to + data.length.
            +
            +
            Parameters:
            +
            data - The array to wrap.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset​(byte[] data,
            +                  int limit)
            +
            Updates the instance to wrap data, and resets the position to zero.
            +
            +
            Parameters:
            +
            data - The array to wrap.
            +
            limit - The limit to set.
            +
            +
          • +
          + + + +
            +
          • +

            ensureCapacity

            +
            public void ensureCapacity​(int requiredCapacity)
            +
            Ensures the backing array is at least requiredCapacity long. + +

            position, limit, and all data in the underlying + array (including that beyond limit()) are preserved. + +

            This might replace or wipe the underlying array, potentially invalidating + any local references.

            +
          • +
          + + + +
            +
          • +

            bytesLeft

            +
            public int bytesLeft()
            +
            Returns the number of bytes yet to be read.
            +
          • +
          + + + +
            +
          • +

            limit

            +
            public int limit()
            +
            Returns the limit.
            +
          • +
          + + + +
            +
          • +

            setLimit

            +
            public void setLimit​(int limit)
            +
            Sets the limit.
            +
            +
            Parameters:
            +
            limit - The limit to set.
            +
            +
          • +
          + + + +
            +
          • +

            getPosition

            +
            public int getPosition()
            +
            Returns the current offset in the array, in bytes.
            +
          • +
          + + + +
            +
          • +

            setPosition

            +
            public void setPosition​(int position)
            +
            Sets the reading offset in the array.
            +
            +
            Parameters:
            +
            position - Byte offset in the array from which to read.
            +
            Throws:
            +
            IllegalArgumentException - Thrown if the new position is neither in nor at the end of the + array.
            +
            +
          • +
          + + + +
            +
          • +

            getData

            +
            public byte[] getData()
            +
            Returns the underlying array. + +

            Changes to this array are reflected in the results of the read...() methods. + +

            This reference must be assumed to become invalid when reset(int) or ensureCapacity(int) are called (because the array might get reallocated).

            +
          • +
          + + + +
            +
          • +

            capacity

            +
            public int capacity()
            +
            Returns the capacity of the array, which may be larger than the limit.
            +
          • +
          + + + +
            +
          • +

            skipBytes

            +
            public void skipBytes​(int bytes)
            +
            Moves the reading offset by bytes.
            +
            +
            Parameters:
            +
            bytes - The number of bytes to skip.
            +
            Throws:
            +
            IllegalArgumentException - Thrown if the new position is neither in nor at the end of the + array.
            +
            +
          • +
          + + + +
            +
          • +

            readBytes

            +
            public void readBytes​(ParsableBitArray bitArray,
            +                      int length)
            +
            Reads the next length bytes into bitArray, and resets the position of + bitArray to zero.
            +
            +
            Parameters:
            +
            bitArray - The ParsableBitArray into which the bytes should be read.
            +
            length - The number of bytes to write.
            +
            +
          • +
          + + + +
            +
          • +

            readBytes

            +
            public void readBytes​(byte[] buffer,
            +                      int offset,
            +                      int length)
            +
            Reads the next length bytes into buffer at offset.
            +
            +
            Parameters:
            +
            buffer - The array into which the read data should be written.
            +
            offset - The offset in buffer at which the read data should be written.
            +
            length - The number of bytes to read.
            +
            See Also:
            +
            System.arraycopy(Object, int, Object, int, int)
            +
            +
          • +
          + + + +
            +
          • +

            readBytes

            +
            public void readBytes​(ByteBuffer buffer,
            +                      int length)
            +
            Reads the next length bytes into buffer.
            +
            +
            Parameters:
            +
            buffer - The ByteBuffer into which the read data should be written.
            +
            length - The number of bytes to read.
            +
            See Also:
            +
            ByteBuffer.put(byte[], int, int)
            +
            +
          • +
          + + + +
            +
          • +

            peekUnsignedByte

            +
            public int peekUnsignedByte()
            +
            Peeks at the next byte as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            peekChar

            +
            public char peekChar()
            +
            Peeks at the next char.
            +
          • +
          + + + +
            +
          • +

            readUnsignedByte

            +
            public int readUnsignedByte()
            +
            Reads the next byte as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            readUnsignedShort

            +
            public int readUnsignedShort()
            +
            Reads the next two bytes as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianUnsignedShort

            +
            public int readLittleEndianUnsignedShort()
            +
            Reads the next two bytes as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            readShort

            +
            public short readShort()
            +
            Reads the next two bytes as a signed value.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianShort

            +
            public short readLittleEndianShort()
            +
            Reads the next two bytes as a signed value.
            +
          • +
          + + + +
            +
          • +

            readUnsignedInt24

            +
            public int readUnsignedInt24()
            +
            Reads the next three bytes as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            readInt24

            +
            public int readInt24()
            +
            Reads the next three bytes as a signed value.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianInt24

            +
            public int readLittleEndianInt24()
            +
            Reads the next three bytes as a signed value in little endian order.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianUnsignedInt24

            +
            public int readLittleEndianUnsignedInt24()
            +
            Reads the next three bytes as an unsigned value in little endian order.
            +
          • +
          + + + +
            +
          • +

            readUnsignedInt

            +
            public long readUnsignedInt()
            +
            Reads the next four bytes as an unsigned value.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianUnsignedInt

            +
            public long readLittleEndianUnsignedInt()
            +
            Reads the next four bytes as an unsigned value in little endian order.
            +
          • +
          + + + +
            +
          • +

            readInt

            +
            public int readInt()
            +
            Reads the next four bytes as a signed value
            +
          • +
          + + + +
            +
          • +

            readLittleEndianInt

            +
            public int readLittleEndianInt()
            +
            Reads the next four bytes as a signed value in little endian order.
            +
          • +
          + + + +
            +
          • +

            readLong

            +
            public long readLong()
            +
            Reads the next eight bytes as a signed value.
            +
          • +
          + + + +
            +
          • +

            readLittleEndianLong

            +
            public long readLittleEndianLong()
            +
            Reads the next eight bytes as a signed value in little endian order.
            +
          • +
          + + + +
            +
          • +

            readUnsignedFixedPoint1616

            +
            public int readUnsignedFixedPoint1616()
            +
            Reads the next four bytes, returning the integer portion of the fixed point 16.16 integer.
            +
          • +
          + + + +
            +
          • +

            readSynchSafeInt

            +
            public int readSynchSafeInt()
            +
            Reads a Synchsafe integer. +

            + Synchsafe integers keep the highest bit of every byte zeroed. A 32 bit synchsafe integer can + store 28 bits of information.

            +
            +
            Returns:
            +
            The parsed value.
            +
            +
          • +
          + + + +
            +
          • +

            readUnsignedIntToInt

            +
            public int readUnsignedIntToInt()
            +
            Reads the next four bytes as an unsigned integer into an integer, if the top bit is a zero.
            +
            +
            Throws:
            +
            IllegalStateException - Thrown if the top bit of the input data is set.
            +
            +
          • +
          + + + +
            +
          • +

            readLittleEndianUnsignedIntToInt

            +
            public int readLittleEndianUnsignedIntToInt()
            +
            Reads the next four bytes as a little endian unsigned integer into an integer, if the top bit + is a zero.
            +
            +
            Throws:
            +
            IllegalStateException - Thrown if the top bit of the input data is set.
            +
            +
          • +
          + + + +
            +
          • +

            readUnsignedLongToLong

            +
            public long readUnsignedLongToLong()
            +
            Reads the next eight bytes as an unsigned long into a long, if the top bit is a zero.
            +
            +
            Throws:
            +
            IllegalStateException - Thrown if the top bit of the input data is set.
            +
            +
          • +
          + + + +
            +
          • +

            readFloat

            +
            public float readFloat()
            +
            Reads the next four bytes as a 32-bit floating point value.
            +
          • +
          + + + +
            +
          • +

            readDouble

            +
            public double readDouble()
            +
            Reads the next eight bytes as a 64-bit floating point value.
            +
          • +
          + + + +
            +
          • +

            readString

            +
            public String readString​(int length)
            +
            Reads the next length bytes as UTF-8 characters.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            Returns:
            +
            The string encoded by the bytes.
            +
            +
          • +
          + + + +
            +
          • +

            readString

            +
            public String readString​(int length,
            +                         Charset charset)
            +
            Reads the next length bytes as characters in the specified Charset.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            charset - The character set of the encoded characters.
            +
            Returns:
            +
            The string encoded by the bytes in the specified character set.
            +
            +
          • +
          + + + +
            +
          • +

            readNullTerminatedString

            +
            public String readNullTerminatedString​(int length)
            +
            Reads the next length bytes as UTF-8 characters. A terminating NUL byte is discarded, + if present.
            +
            +
            Parameters:
            +
            length - The number of bytes to read.
            +
            Returns:
            +
            The string, not including any terminating NUL byte.
            +
            +
          • +
          + + + +
            +
          • +

            readNullTerminatedString

            +
            @Nullable
            +public String readNullTerminatedString()
            +
            Reads up to the next NUL byte (or the limit) as UTF-8 characters.
            +
            +
            Returns:
            +
            The string not including any terminating NUL byte, or null if the end of the data has + already been reached.
            +
            +
          • +
          + + + +
            +
          • +

            readDelimiterTerminatedString

            +
            @Nullable
            +public String readDelimiterTerminatedString​(char delimiter)
            +
            Reads up to the next delimiter byte (or the limit) as UTF-8 characters.
            +
            +
            Returns:
            +
            The string not including any terminating delimiter byte, or null if the end of the data + has already been reached.
            +
            +
          • +
          + + + +
            +
          • +

            readLine

            +
            @Nullable
            +public String readLine()
            +
            Reads a line of text. + +

            A line is considered to be terminated by any one of a carriage return ('\r'), a line feed + ('\n'), or a carriage return followed immediately by a line feed ('\r\n'). The UTF-8 charset is + used. This method discards leading UTF-8 byte order marks, if present.

            +
            +
            Returns:
            +
            The line not including any line-termination characters, or null if the end of the data + has already been reached.
            +
            +
          • +
          + + + +
            +
          • +

            readUtf8EncodedLong

            +
            public long readUtf8EncodedLong()
            +
            Reads a long value encoded by UTF-8 encoding
            +
            +
            Returns:
            +
            Decoded long value
            +
            Throws:
            +
            NumberFormatException - if there is a problem with decoding
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableNalUnitBitArray.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableNalUnitBitArray.html new file mode 100644 index 0000000000..9b34380085 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ParsableNalUnitBitArray.html @@ -0,0 +1,496 @@ + + + + +ParsableNalUnitBitArray (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ParsableNalUnitBitArray

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.ParsableNalUnitBitArray
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ParsableNalUnitBitArray
        +extends Object
        +
        Wraps a byte array, providing methods that allow it to be read as a NAL unit bitstream. +

        + Whenever the byte sequence [0, 0, 3] appears in the wrapped byte array, it is treated as [0, 0] + for all reading/skipping operations, which makes the bitstream appear to be unescaped.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ParsableNalUnitBitArray

            +
            public ParsableNalUnitBitArray​(byte[] data,
            +                               int offset,
            +                               int limit)
            +
            +
            Parameters:
            +
            data - The data to wrap.
            +
            offset - The byte offset in data to start reading from.
            +
            limit - The byte offset of the end of the bitstream in data.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset​(byte[] data,
            +                  int offset,
            +                  int limit)
            +
            Resets the wrapped data, limit and offset.
            +
            +
            Parameters:
            +
            data - The data to wrap.
            +
            offset - The byte offset in data to start reading from.
            +
            limit - The byte offset of the end of the bitstream in data.
            +
            +
          • +
          + + + +
            +
          • +

            skipBit

            +
            public void skipBit()
            +
            Skips a single bit.
            +
          • +
          + + + +
            +
          • +

            skipBits

            +
            public void skipBits​(int numBits)
            +
            Skips bits and moves current reading position forward.
            +
            +
            Parameters:
            +
            numBits - The number of bits to skip.
            +
            +
          • +
          + + + +
            +
          • +

            canReadBits

            +
            public boolean canReadBits​(int numBits)
            +
            Returns whether it's possible to read n bits starting from the current offset. The + offset is not modified.
            +
            +
            Parameters:
            +
            numBits - The number of bits.
            +
            Returns:
            +
            Whether it is possible to read n bits.
            +
            +
          • +
          + + + +
            +
          • +

            readBit

            +
            public boolean readBit()
            +
            Reads a single bit.
            +
            +
            Returns:
            +
            Whether the bit is set.
            +
            +
          • +
          + + + +
            +
          • +

            readBits

            +
            public int readBits​(int numBits)
            +
            Reads up to 32 bits.
            +
            +
            Parameters:
            +
            numBits - The number of bits to read.
            +
            Returns:
            +
            An integer whose bottom n bits hold the read data.
            +
            +
          • +
          + + + +
            +
          • +

            canReadExpGolombCodedNum

            +
            public boolean canReadExpGolombCodedNum()
            +
            Returns whether it is possible to read an Exp-Golomb-coded integer starting from the current + offset. The offset is not modified.
            +
            +
            Returns:
            +
            Whether it is possible to read an Exp-Golomb-coded integer.
            +
            +
          • +
          + + + +
            +
          • +

            readUnsignedExpGolombCodedInt

            +
            public int readUnsignedExpGolombCodedInt()
            +
            Reads an unsigned Exp-Golomb-coded format integer.
            +
            +
            Returns:
            +
            The value of the parsed Exp-Golomb-coded integer.
            +
            +
          • +
          + + + +
            +
          • +

            readSignedExpGolombCodedInt

            +
            public int readSignedExpGolombCodedInt()
            +
            Reads an signed Exp-Golomb-coded format integer.
            +
            +
            Returns:
            +
            The value of the parsed Exp-Golomb-coded integer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.PriorityTooLowException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.PriorityTooLowException.html new file mode 100644 index 0000000000..4e6d0e32ea --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.PriorityTooLowException.html @@ -0,0 +1,299 @@ + + + + +PriorityTaskManager.PriorityTooLowException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PriorityTaskManager.PriorityTooLowException

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Serializable
        +
        +
        +
        Enclosing class:
        +
        PriorityTaskManager
        +
        +
        +
        public static class PriorityTaskManager.PriorityTooLowException
        +extends IOException
        +
        Thrown when task attempts to proceed when another registered task has a higher priority.
        +
        +
        See Also:
        +
        Serialized Form
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PriorityTooLowException

            +
            public PriorityTooLowException​(int priority,
            +                               int highestPriority)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.html new file mode 100644 index 0000000000..70285fd4eb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/PriorityTaskManager.html @@ -0,0 +1,426 @@ + + + + +PriorityTaskManager (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class PriorityTaskManager

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.PriorityTaskManager
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class PriorityTaskManager
        +extends Object
        +
        Allows tasks with associated priorities to control how they proceed relative to one another. +

        + A task should call add(int) to register with the manager and remove(int) to + unregister. A registered task will prevent tasks of lower priority from proceeding, and should + call proceed(int), proceedNonBlocking(int) or proceedOrThrow(int) each + time it wishes to check whether it is itself allowed to proceed.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            PriorityTaskManager

            +
            public PriorityTaskManager()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            add

            +
            public void add​(int priority)
            +
            Register a new task. The task must call remove(int) when done.
            +
            +
            Parameters:
            +
            priority - The priority of the task. Larger values indicate higher priorities.
            +
            +
          • +
          + + + +
            +
          • +

            proceed

            +
            public void proceed​(int priority)
            +             throws InterruptedException
            +
            Blocks until the task is allowed to proceed.
            +
            +
            Parameters:
            +
            priority - The priority of the task.
            +
            Throws:
            +
            InterruptedException - If the thread is interrupted.
            +
            +
          • +
          + + + +
            +
          • +

            proceedNonBlocking

            +
            public boolean proceedNonBlocking​(int priority)
            +
            A non-blocking variant of proceed(int).
            +
            +
            Parameters:
            +
            priority - The priority of the task.
            +
            Returns:
            +
            Whether the task is allowed to proceed.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            remove

            +
            public void remove​(int priority)
            +
            Unregister a task.
            +
            +
            Parameters:
            +
            priority - The priority of the task.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.RepeatToggleModes.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.RepeatToggleModes.html new file mode 100644 index 0000000000..f55ced4deb --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.RepeatToggleModes.html @@ -0,0 +1,190 @@ + + + + +RepeatModeUtil.RepeatToggleModes (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type RepeatModeUtil.RepeatToggleModes

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.html new file mode 100644 index 0000000000..174116e1f7 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RepeatModeUtil.html @@ -0,0 +1,414 @@ + + + + +RepeatModeUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RepeatModeUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class RepeatModeUtil
        +extends Object
        +
        Util class for repeat mode handling.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            REPEAT_TOGGLE_MODE_NONE

            +
            public static final int REPEAT_TOGGLE_MODE_NONE
            +
            All repeat mode buttons disabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REPEAT_TOGGLE_MODE_ONE

            +
            public static final int REPEAT_TOGGLE_MODE_ONE
            +
            "Repeat One" button enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            REPEAT_TOGGLE_MODE_ALL

            +
            public static final int REPEAT_TOGGLE_MODE_ALL
            +
            "Repeat All" button enabled.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getNextRepeatMode

            +
            @RepeatMode
            +public static int getNextRepeatMode​(@RepeatMode
            +                                    int currentMode,
            +                                    int enabledModes)
            +
            Gets the next repeat mode out of enabledModes starting from currentMode.
            +
            +
            Parameters:
            +
            currentMode - The current repeat mode.
            +
            enabledModes - Bitmask of enabled modes.
            +
            Returns:
            +
            The next repeat mode.
            +
            +
          • +
          + + + +
            +
          • +

            isRepeatModeEnabled

            +
            public static boolean isRepeatModeEnabled​(@RepeatMode
            +                                          int repeatMode,
            +                                          int enabledModes)
            +
            Verifies whether a given repeatMode is enabled in the bitmask enabledModes.
            +
            +
            Parameters:
            +
            repeatMode - The mode to check.
            +
            enabledModes - The bitmask representing the enabled modes.
            +
            Returns:
            +
            true if enabled.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html new file mode 100644 index 0000000000..8ea5308d96 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/ReusableBufferedOutputStream.html @@ -0,0 +1,405 @@ + + + + +ReusableBufferedOutputStream (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ReusableBufferedOutputStream

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            ReusableBufferedOutputStream

            +
            public ReusableBufferedOutputStream​(OutputStream out)
            +
          • +
          + + + +
            +
          • +

            ReusableBufferedOutputStream

            +
            public ReusableBufferedOutputStream​(OutputStream out,
            +                                    int size)
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RunnableFutureTask.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RunnableFutureTask.html new file mode 100644 index 0000000000..8b21f03107 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/RunnableFutureTask.html @@ -0,0 +1,502 @@ + + + + +RunnableFutureTask (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class RunnableFutureTask<R,E extends Exception>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.RunnableFutureTask<R,E>
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            RunnableFutureTask

            +
            protected RunnableFutureTask()
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SlidingPercentile.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SlidingPercentile.html new file mode 100644 index 0000000000..7d13012186 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SlidingPercentile.html @@ -0,0 +1,365 @@ + + + + +SlidingPercentile (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SlidingPercentile

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.SlidingPercentile
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public class SlidingPercentile
        +extends Object
        +
        Calculate any percentile over a sliding window of weighted values. A maximum weight is + configured. Once the total weight of the values reaches the maximum weight, the oldest value is + reduced in weight until it reaches zero and is removed. This maintains a constant total weight, + equal to the maximum allowed, at the steady state. +

        + This class can be used for bandwidth estimation based on a sliding window of past transfer rate + observations. This is an alternative to sliding mean and exponential averaging which suffer from + susceptibility to outliers and slow adaptation to step functions.

        +
        +
        See Also:
        +
        Wiki: Moving average, +Wiki: Selection algorithm
        +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SlidingPercentile

            +
            public SlidingPercentile​(int maxWeight)
            +
            +
            Parameters:
            +
            maxWeight - The maximum weight.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Resets the sliding percentile.
            +
          • +
          + + + +
            +
          • +

            addSample

            +
            public void addSample​(int weight,
            +                      float value)
            +
            Adds a new weighted value.
            +
            +
            Parameters:
            +
            weight - The weight of the new observation.
            +
            value - The value of the new observation.
            +
            +
          • +
          + + + +
            +
          • +

            getPercentile

            +
            public float getPercentile​(float percentile)
            +
            Computes a percentile by integration.
            +
            +
            Parameters:
            +
            percentile - The desired percentile, expressed as a fraction in the range (0,1].
            +
            Returns:
            +
            The requested percentile value or Float.NaN if no samples have been added.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.InitializationCallback.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.InitializationCallback.html new file mode 100644 index 0000000000..c2053bd294 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.InitializationCallback.html @@ -0,0 +1,275 @@ + + + + +SntpClient.InitializationCallback (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface SntpClient.InitializationCallback

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onInitialized

            +
            void onInitialized()
            +
            Called when the device time offset has been initialized.
            +
          • +
          + + + +
            +
          • +

            onInitializationFailed

            +
            void onInitializationFailed​(IOException error)
            +
            Called when the device time offset failed to initialize.
            +
            +
            Parameters:
            +
            error - The error that caused the initialization failure.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.html new file mode 100644 index 0000000000..dc987e5ddc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SntpClient.html @@ -0,0 +1,430 @@ + + + + +SntpClient (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SntpClient

      +
      +
      + +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/StandaloneMediaClock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/StandaloneMediaClock.html new file mode 100644 index 0000000000..cad9f38944 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/StandaloneMediaClock.html @@ -0,0 +1,422 @@ + + + + +StandaloneMediaClock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class StandaloneMediaClock

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.StandaloneMediaClock
        • +
        +
      • +
      +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        MediaClock
        +
        +
        +
        public final class StandaloneMediaClock
        +extends Object
        +implements MediaClock
        +
        A MediaClock whose position advances with real time based on the playback parameters when + started.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            StandaloneMediaClock

            +
            public StandaloneMediaClock​(Clock clock)
            +
            Creates a new standalone media clock using the given Clock implementation.
            +
            +
            Parameters:
            +
            clock - A Clock.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            start

            +
            public void start()
            +
            Starts the clock. Does nothing if the clock is already started.
            +
          • +
          + + + +
            +
          • +

            stop

            +
            public void stop()
            +
            Stops the clock. Does nothing if the clock is already stopped.
            +
          • +
          + + + +
            +
          • +

            resetPosition

            +
            public void resetPosition​(long positionUs)
            +
            Resets the clock's position.
            +
            +
            Parameters:
            +
            positionUs - The position to set in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            getPositionUs

            +
            public long getPositionUs()
            +
            Description copied from interface: MediaClock
            +
            Returns the current media position in microseconds.
            +
            +
            Specified by:
            +
            getPositionUs in interface MediaClock
            +
            +
          • +
          + + + +
            +
          • +

            setPlaybackParameters

            +
            public void setPlaybackParameters​(PlaybackParameters playbackParameters)
            +
            Description copied from interface: MediaClock
            +
            Attempts to set the playback parameters. The media clock may override the speed if changing the + playback parameters is not supported.
            +
            +
            Specified by:
            +
            setPlaybackParameters in interface MediaClock
            +
            Parameters:
            +
            playbackParameters - The playback parameters to attempt to set.
            +
            +
          • +
          + + + + +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SystemClock.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SystemClock.html new file mode 100644 index 0000000000..693ea5fe47 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/SystemClock.html @@ -0,0 +1,420 @@ + + + + +SystemClock (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class SystemClock

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Clock
        +
        +
        +
        public class SystemClock
        +extends Object
        +implements Clock
        +
        The standard implementation of Clock, an instance of which is available via Clock.DEFAULT.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimedValueQueue.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimedValueQueue.html new file mode 100644 index 0000000000..0c2cf50580 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimedValueQueue.html @@ -0,0 +1,432 @@ + + + + +TimedValueQueue (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimedValueQueue<V>

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.TimedValueQueue<V>
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TimedValueQueue<V>
        +extends Object
        +
        A utility class to keep a queue of values with timestamps. This class is thread safe.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Summary

          + + + + + + + + + + + + + + +
          Constructors 
          ConstructorDescription
          TimedValueQueue() 
          TimedValueQueue​(int initialBufferSize) +
          Creates a TimedValueBuffer with the given initial buffer size.
          +
          +
        • +
        + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Concrete Methods 
          Modifier and TypeMethodDescription
          voidadd​(long timestamp, + V value) +
          Associates the specified value with the specified timestamp.
          +
          voidclear() +
          Removes all of the values.
          +
          Vpoll​(long timestamp) +
          Returns the value with the closest timestamp to the given timestamp.
          +
          VpollFirst() +
          Removes and returns the first value in the queue, or null if the queue is empty.
          +
          VpollFloor​(long timestamp) +
          Returns the value with the greatest timestamp which is less than or equal to the given + timestamp.
          +
          intsize() +
          Returns number of the values buffered.
          +
          + +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TimedValueQueue

            +
            public TimedValueQueue()
            +
          • +
          + + + +
            +
          • +

            TimedValueQueue

            +
            public TimedValueQueue​(int initialBufferSize)
            +
            Creates a TimedValueBuffer with the given initial buffer size.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + +
            +
          • +

            add

            +
            public void add​(long timestamp,
            +                V value)
            +
            Associates the specified value with the specified timestamp. All new values should have a + greater timestamp than the previously added values. Otherwise all values are removed before + adding the new one.
            +
          • +
          + + + +
            +
          • +

            clear

            +
            public void clear()
            +
            Removes all of the values.
            +
          • +
          + + + +
            +
          • +

            size

            +
            public int size()
            +
            Returns number of the values buffered.
            +
          • +
          + + + +
            +
          • +

            pollFirst

            +
            @Nullable
            +public V pollFirst()
            +
            Removes and returns the first value in the queue, or null if the queue is empty.
            +
          • +
          + + + +
            +
          • +

            pollFloor

            +
            @Nullable
            +public V pollFloor​(long timestamp)
            +
            Returns the value with the greatest timestamp which is less than or equal to the given + timestamp. Removes all older values and the returned one from the buffer.
            +
            +
            Parameters:
            +
            timestamp - The timestamp value.
            +
            Returns:
            +
            The value with the greatest timestamp which is less than or equal to the given + timestamp or null if there is no such value.
            +
            See Also:
            +
            poll(long)
            +
            +
          • +
          + + + +
            +
          • +

            poll

            +
            @Nullable
            +public V poll​(long timestamp)
            +
            Returns the value with the closest timestamp to the given timestamp. Removes all older values + including the returned one from the buffer.
            +
            +
            Parameters:
            +
            timestamp - The timestamp value.
            +
            Returns:
            +
            The value with the closest timestamp or null if the buffer is empty.
            +
            See Also:
            +
            pollFloor(long)
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimestampAdjuster.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimestampAdjuster.html new file mode 100644 index 0000000000..c51f50c1ab --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TimestampAdjuster.html @@ -0,0 +1,585 @@ + + + + +TimestampAdjuster (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TimestampAdjuster

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.TimestampAdjuster
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class TimestampAdjuster
        +extends Object
        +
        Offsets timestamps according to an initial sample timestamp offset. MPEG-2 TS timestamps scaling + and adjustment is supported, taking into account timestamp rollover.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DO_NOT_OFFSET

            +
            public static final long DO_NOT_OFFSET
            +
            A special firstSampleTimestampUs value indicating that presentation timestamps should + not be offset.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            TimestampAdjuster

            +
            public TimestampAdjuster​(long firstSampleTimestampUs)
            +
            +
            Parameters:
            +
            firstSampleTimestampUs - The desired value of the first adjusted sample timestamp in + microseconds, or DO_NOT_OFFSET if timestamps should not be offset.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            sharedInitializeOrWait

            +
            public void sharedInitializeOrWait​(boolean canInitialize,
            +                                   long startTimeUs)
            +                            throws InterruptedException
            +
            For shared timestamp adjusters, performs necessary initialization actions for a caller. + +
              +
            • If the adjuster does not yet have a target first sample + timestamp and if canInitialize is true, then initialization is started + by setting the target first sample timestamp to firstSampleTimestampUs. The call + returns, allowing the caller to proceed. Initialization completes when a caller adjusts + the first timestamp. +
            • If canInitialize is true and the adjuster already has a target first sample timestamp, then the call returns to allow the + caller to proceed only if firstSampleTimestampUs is equal to the target. This + ensures a caller that's previously started initialization can continue to proceed. It + also allows other callers with the same firstSampleTimestampUs to proceed, since + in this case it doesn't matter which caller adjusts the first timestamp to complete + initialization. +
            • If canInitialize is false or if firstSampleTimestampUs differs + from the target first sample timestamp, then the call + blocks until initialization completes. If initialization has already been completed the + call returns immediately. +
            +
            +
            Parameters:
            +
            canInitialize - Whether the caller is able to initialize the adjuster, if needed.
            +
            startTimeUs - The desired first sample timestamp of the caller, in microseconds. Only used + if canInitialize is true.
            +
            Throws:
            +
            InterruptedException - If the thread is interrupted whilst blocked waiting for + initialization to complete.
            +
            +
          • +
          + + + +
            +
          • +

            getFirstSampleTimestampUs

            +
            public long getFirstSampleTimestampUs()
            +
            Returns the value of the first adjusted sample timestamp in microseconds, or DO_NOT_OFFSET if timestamps will not be offset.
            +
          • +
          + + + + + + + +
            +
          • +

            getTimestampOffsetUs

            +
            public long getTimestampOffsetUs()
            +
            Returns the offset between the input of adjustSampleTimestamp(long) and its output. If + DO_NOT_OFFSET was provided to the constructor, 0 is returned. If the timestamp + adjuster is yet not initialized, C.TIME_UNSET is returned.
            +
            +
            Returns:
            +
            The offset between adjustSampleTimestamp(long)'s input and output. C.TIME_UNSET if the adjuster is not yet initialized and 0 if timestamps should not be + offset.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset​(long firstSampleTimestampUs)
            +
            Resets the instance to its initial state.
            +
            +
            Parameters:
            +
            firstSampleTimestampUs - The desired value of the first adjusted sample timestamp after + this reset, in microseconds, or DO_NOT_OFFSET if timestamps should not be offset.
            +
            +
          • +
          + + + +
            +
          • +

            adjustTsTimestamp

            +
            public long adjustTsTimestamp​(long pts90Khz)
            +
            Scales and offsets an MPEG-2 TS presentation timestamp considering wraparound.
            +
            +
            Parameters:
            +
            pts90Khz - A 90 kHz clock MPEG-2 TS presentation timestamp.
            +
            Returns:
            +
            The adjusted timestamp in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            adjustSampleTimestamp

            +
            public long adjustSampleTimestamp​(long timeUs)
            +
            Offsets a timestamp in microseconds.
            +
            +
            Parameters:
            +
            timeUs - The timestamp to adjust in microseconds.
            +
            Returns:
            +
            The adjusted timestamp in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            ptsToUs

            +
            public static long ptsToUs​(long pts)
            +
            Converts a 90 kHz clock timestamp to a timestamp in microseconds.
            +
            +
            Parameters:
            +
            pts - A 90 kHz clock timestamp.
            +
            Returns:
            +
            The corresponding value in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            usToWrappedPts

            +
            public static long usToWrappedPts​(long us)
            +
            Converts a timestamp in microseconds to a 90 kHz clock timestamp, performing wraparound to keep + the result within 33-bits.
            +
            +
            Parameters:
            +
            us - A value in microseconds.
            +
            Returns:
            +
            The corresponding value as a 90 kHz clock timestamp, wrapped to 33 bits.
            +
            +
          • +
          + + + +
            +
          • +

            usToNonWrappedPts

            +
            public static long usToNonWrappedPts​(long us)
            +
            Converts a timestamp in microseconds to a 90 kHz clock timestamp. + +

            Does not perform any wraparound. To get a 90 kHz timestamp suitable for use with MPEG-TS, + use usToWrappedPts(long).

            +
            +
            Parameters:
            +
            us - A value in microseconds.
            +
            Returns:
            +
            The corresponding value as a 90 kHz clock timestamp.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TraceUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TraceUtil.html new file mode 100644 index 0000000000..248d1f551d --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/TraceUtil.html @@ -0,0 +1,294 @@ + + + + +TraceUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class TraceUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class TraceUtil
        +extends Object
        +
        Calls through to Trace methods on supported API levels.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            beginSection

            +
            public static void beginSection​(String sectionName)
            +
            Writes a trace message to indicate that a given section of code has begun.
            +
            +
            Parameters:
            +
            sectionName - The name of the code section to appear in the trace. This may be at most 127 + Unicode code units long.
            +
            See Also:
            +
            Trace.beginSection(String)
            +
            +
          • +
          + + + +
            +
          • +

            endSection

            +
            public static void endSection()
            +
            Writes a trace message to indicate that a given section of code has ended.
            +
            +
            See Also:
            +
            Trace.endSection()
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UnknownNull.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UnknownNull.html new file mode 100644 index 0000000000..5fd9f62143 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UnknownNull.html @@ -0,0 +1,191 @@ + + + + +UnknownNull (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type UnknownNull

      +
      +
      +
      +
        +
      • +
        +
        @Nonnull(when=UNKNOWN)
        +@TypeQualifierDefault(TYPE_USE)
        +@Retention(CLASS)
        +public @interface UnknownNull
        +
        Annotation for specifying unknown nullness. Useful for clearing the effects of an automatically + propagated Nonnull annotation.
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UriUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UriUtil.html new file mode 100644 index 0000000000..ca81e2b3f1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/UriUtil.html @@ -0,0 +1,329 @@ + + + + +UriUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class UriUtil

      +
      +
      + +
      +
        +
      • +
        +
        public final class UriUtil
        +extends Object
        +
        Utility methods for manipulating URIs.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            resolveToUri

            +
            public static Uri resolveToUri​(@Nullable
            +                               String baseUri,
            +                               @Nullable
            +                               String referenceUri)
            +
            Like resolve(String, String), but returns a Uri instead of a String.
            +
            +
            Parameters:
            +
            baseUri - The base URI.
            +
            referenceUri - The reference URI to resolve.
            +
            +
          • +
          + + + +
            +
          • +

            resolve

            +
            public static String resolve​(@Nullable
            +                             String baseUri,
            +                             @Nullable
            +                             String referenceUri)
            +
            Performs relative resolution of a referenceUri with respect to a baseUri. + +

            The resolution is performed as specified by RFC-3986.

            +
            +
            Parameters:
            +
            baseUri - The base URI.
            +
            referenceUri - The reference URI to resolve.
            +
            +
          • +
          + + + +
            +
          • +

            removeQueryParameter

            +
            public static Uri removeQueryParameter​(Uri uri,
            +                                       String queryParameterName)
            +
            Removes query parameter from an Uri, if present.
            +
            +
            Parameters:
            +
            uri - The uri.
            +
            queryParameterName - The name of the query parameter.
            +
            Returns:
            +
            The uri without the query parameter.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Util.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Util.html new file mode 100644 index 0000000000..355180224c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/Util.html @@ -0,0 +1,3490 @@ + + + + +Util (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Util

      +
      +
      + +
      +
        +
      • +
        +
        public final class Util
        +extends Object
        +
        Miscellaneous utility methods.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            SDK_INT

            +
            public static final int SDK_INT
            +
            Like Build.VERSION.SDK_INT, but in a place where it can be conveniently + overridden for local testing.
            +
          • +
          + + + +
            +
          • +

            DEVICE

            +
            public static final String DEVICE
            +
            Like Build.DEVICE, but in a place where it can be conveniently overridden for local + testing.
            +
          • +
          + + + +
            +
          • +

            MANUFACTURER

            +
            public static final String MANUFACTURER
            +
            Like Build.MANUFACTURER, but in a place where it can be conveniently overridden for + local testing.
            +
          • +
          + + + +
            +
          • +

            MODEL

            +
            public static final String MODEL
            +
            Like Build.MODEL, but in a place where it can be conveniently overridden for local + testing.
            +
          • +
          + + + +
            +
          • +

            DEVICE_DEBUG_INFO

            +
            public static final String DEVICE_DEBUG_INFO
            +
            A concise description of the device that it can be useful to log for debugging purposes.
            +
          • +
          + + + +
            +
          • +

            EMPTY_BYTE_ARRAY

            +
            public static final byte[] EMPTY_BYTE_ARRAY
            +
            An empty byte array.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            toByteArray

            +
            public static byte[] toByteArray​(InputStream inputStream)
            +                          throws IOException
            +
            Converts the entirety of an InputStream to a byte array.
            +
            +
            Parameters:
            +
            inputStream - the InputStream to be read. The input stream is not closed by this + method.
            +
            Returns:
            +
            a byte array containing all of the inputStream's bytes.
            +
            Throws:
            +
            IOException - if an error occurs reading from the stream.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            maybeRequestReadExternalStoragePermission

            +
            public static boolean maybeRequestReadExternalStoragePermission​(Activity activity,
            +                                                                Uri... uris)
            +
            Checks whether it's necessary to request the Manifest.permission.READ_EXTERNAL_STORAGE + permission read the specified Uris, requesting the permission if necessary.
            +
            +
            Parameters:
            +
            activity - The host activity for checking and requesting the permission.
            +
            uris - Uris that may require Manifest.permission.READ_EXTERNAL_STORAGE to read.
            +
            Returns:
            +
            Whether a permission request was made.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            checkCleartextTrafficPermitted

            +
            public static boolean checkCleartextTrafficPermitted​(MediaItem... mediaItems)
            +
            Returns whether it may be possible to load the URIs of the given media items based on the + network security policy's cleartext traffic permissions.
            +
            +
            Parameters:
            +
            mediaItems - A list of media items.
            +
            Returns:
            +
            Whether it may be possible to load the URIs of the given media items.
            +
            +
          • +
          + + + +
            +
          • +

            isLocalFileUri

            +
            public static boolean isLocalFileUri​(Uri uri)
            +
            Returns true if the URI is a path to a local file or a reference to a local file.
            +
            +
            Parameters:
            +
            uri - The uri to test.
            +
            +
          • +
          + + + +
            +
          • +

            areEqual

            +
            public static boolean areEqual​(@Nullable
            +                               Object o1,
            +                               @Nullable
            +                               Object o2)
            +
            Tests two objects for Object.equals(Object) equality, handling the case where one or + both may be null.
            +
            +
            Parameters:
            +
            o1 - The first object.
            +
            o2 - The second object.
            +
            Returns:
            +
            o1 == null ? o2 == null : o1.equals(o2).
            +
            +
          • +
          + + + +
            +
          • +

            contains

            +
            public static boolean contains​(@NullableType Object[] items,
            +                               @Nullable
            +                               Object item)
            +
            Tests whether an items array contains an object equal to item, according to + Object.equals(Object). + +

            If item is null then true is returned if and only if items contains null.

            +
            +
            Parameters:
            +
            items - The array of items to search.
            +
            item - The item to search for.
            +
            Returns:
            +
            True if the array contains an object equal to the item being searched for.
            +
            +
          • +
          + + + +
            +
          • +

            removeRange

            +
            public static <T> void removeRange​(List<T> list,
            +                                   int fromIndex,
            +                                   int toIndex)
            +
            Removes an indexed range from a List. + +

            Does nothing if the provided range is valid and fromIndex == toIndex.

            +
            +
            Parameters:
            +
            list - The List to remove the range from.
            +
            fromIndex - The first index to be removed (inclusive).
            +
            toIndex - The last index to be removed (exclusive).
            +
            Throws:
            +
            IllegalArgumentException - If fromIndex < 0, toIndex > + list.size(), or fromIndex > toIndex.
            +
            +
          • +
          + + + + + +
            +
          • +

            castNonNull

            +
            @EnsuresNonNull("#1")
            +public static <T> T castNonNull​(@Nullable
            +                                T value)
            +
            Casts a nullable variable to a non-null variable without runtime null check. + +

            Use Assertions.checkNotNull(Object) to throw if the value is null.

            +
          • +
          + + + + + +
            +
          • +

            castNonNullTypeArray

            +
            @EnsuresNonNull("#1")
            +public static <T> T[] castNonNullTypeArray​(@NullableType T[] value)
            +
            Casts a nullable type array to a non-null type array without runtime null check.
            +
          • +
          + + + + + +
            +
          • +

            nullSafeArrayCopy

            +
            public static <T> T[] nullSafeArrayCopy​(T[] input,
            +                                        int length)
            +
            Copies and optionally truncates an array. Prevents null array elements created by Arrays.copyOf(Object[], int) by ensuring the new length does not exceed the current length.
            +
            +
            Parameters:
            +
            input - The input array.
            +
            length - The output array length. Must be less or equal to the length of the input array.
            +
            Returns:
            +
            The copied array.
            +
            +
          • +
          + + + + + +
            +
          • +

            nullSafeArrayCopyOfRange

            +
            public static <T> T[] nullSafeArrayCopyOfRange​(T[] input,
            +                                               int from,
            +                                               int to)
            +
            Copies a subset of an array.
            +
            +
            Parameters:
            +
            input - The input array.
            +
            from - The start the range to be copied, inclusive
            +
            to - The end of the range to be copied, exclusive.
            +
            Returns:
            +
            The copied array.
            +
            +
          • +
          + + + + + +
            +
          • +

            nullSafeArrayAppend

            +
            public static <T> T[] nullSafeArrayAppend​(T[] original,
            +                                          T newElement)
            +
            Creates a new array containing original with newElement appended.
            +
            +
            Parameters:
            +
            original - The input array.
            +
            newElement - The element to append.
            +
            Returns:
            +
            The new array.
            +
            +
          • +
          + + + + + +
            +
          • +

            nullSafeArrayConcatenation

            +
            public static <T> T[] nullSafeArrayConcatenation​(T[] first,
            +                                                 T[] second)
            +
            Creates a new array containing the concatenation of two non-null type arrays.
            +
            +
            Parameters:
            +
            first - The first array.
            +
            second - The second array.
            +
            Returns:
            +
            The concatenated result.
            +
            +
          • +
          + + + + + +
            +
          • +

            nullSafeListToArray

            +
            public static <T> void nullSafeListToArray​(List<T> list,
            +                                           T[] array)
            +
            Copies the contents of list into array. + +

            list.size() must be the same as array.length to ensure the contents can be + copied into array without leaving any nulls at the end.

            +
            +
            Parameters:
            +
            list - The list to copy items from.
            +
            array - The array to copy items to.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            createHandlerForCurrentLooper

            +
            public static Handler createHandlerForCurrentLooper​(@Nullable
            +                                                    @UnknownInitialization Handler.Callback callback)
            +
            Creates a Handler with the specified Handler.Callback on the current Looper thread. + +

            The method accepts partially initialized objects as callback under the assumption that the + Handler won't be used to send messages until the callback is fully initialized.

            +
            +
            Parameters:
            +
            callback - A Handler.Callback. May be a partially initialized class, or null if no + callback is required.
            +
            Returns:
            +
            A Handler with the specified callback on the current Looper thread.
            +
            Throws:
            +
            IllegalStateException - If the current thread doesn't have a Looper.
            +
            +
          • +
          + + + +
            +
          • +

            createHandlerForCurrentOrMainLooper

            +
            public static Handler createHandlerForCurrentOrMainLooper()
            +
            Creates a Handler on the current Looper thread. + +

            If the current thread doesn't have a Looper, the application's main thread Looper is used.

            +
          • +
          + + + +
            +
          • +

            createHandlerForCurrentOrMainLooper

            +
            public static Handler createHandlerForCurrentOrMainLooper​(@Nullable
            +                                                          @UnknownInitialization Handler.Callback callback)
            +
            Creates a Handler with the specified Handler.Callback on the current Looper thread. + +

            The method accepts partially initialized objects as callback under the assumption that the + Handler won't be used to send messages until the callback is fully initialized. + +

            If the current thread doesn't have a Looper, the application's main thread Looper is used.

            +
            +
            Parameters:
            +
            callback - A Handler.Callback. May be a partially initialized class, or null if no + callback is required.
            +
            Returns:
            +
            A Handler with the specified callback on the current Looper thread.
            +
            +
          • +
          + + + +
            +
          • +

            createHandler

            +
            public static Handler createHandler​(Looper looper,
            +                                    @Nullable
            +                                    @UnknownInitialization Handler.Callback callback)
            +
            Creates a Handler with the specified Handler.Callback on the specified Looper thread. + +

            The method accepts partially initialized objects as callback under the assumption that the + Handler won't be used to send messages until the callback is fully initialized.

            +
            +
            Parameters:
            +
            looper - A Looper to run the callback on.
            +
            callback - A Handler.Callback. May be a partially initialized class, or null if no + callback is required.
            +
            Returns:
            +
            A Handler with the specified callback on the current Looper thread.
            +
            +
          • +
          + + + +
            +
          • +

            postOrRun

            +
            public static boolean postOrRun​(Handler handler,
            +                                Runnable runnable)
            +
            Posts the Runnable if the calling thread differs with the Looper of the Handler. Otherwise, runs the Runnable directly.
            +
            +
            Parameters:
            +
            handler - The handler to which the Runnable will be posted.
            +
            runnable - The runnable to either post or run.
            +
            Returns:
            +
            true if the Runnable was successfully posted to the Handler or + run. false otherwise.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentOrMainLooper

            +
            public static Looper getCurrentOrMainLooper()
            +
            Returns the Looper associated with the current thread, or the Looper of the + application's main thread if the current thread doesn't have a Looper.
            +
          • +
          + + + +
            +
          • +

            newSingleThreadExecutor

            +
            public static ExecutorService newSingleThreadExecutor​(String threadName)
            +
            Instantiates a new single threaded executor whose thread has the specified name.
            +
            +
            Parameters:
            +
            threadName - The name of the thread.
            +
            Returns:
            +
            The executor.
            +
            +
          • +
          + + + +
            +
          • +

            readToEnd

            +
            public static byte[] readToEnd​(DataSource dataSource)
            +                        throws IOException
            +
            Reads data from the specified opened DataSource until it ends, and returns a byte array + containing the read data.
            +
            +
            Parameters:
            +
            dataSource - The source from which to read.
            +
            Returns:
            +
            The concatenation of all read data.
            +
            Throws:
            +
            IOException - If an error occurs reading from the source.
            +
            +
          • +
          + + + +
            +
          • +

            readExactly

            +
            public static byte[] readExactly​(DataSource dataSource,
            +                                 int length)
            +                          throws IOException
            +
            Reads length bytes from the specified opened DataSource, and returns a byte + array containing the read data.
            +
            +
            Parameters:
            +
            dataSource - The source from which to read.
            +
            Returns:
            +
            The read data.
            +
            Throws:
            +
            IOException - If an error occurs reading from the source.
            +
            IllegalStateException - If the end of the source was reached before length bytes + could be read.
            +
            +
          • +
          + + + +
            +
          • +

            closeQuietly

            +
            public static void closeQuietly​(@Nullable
            +                                DataSource dataSource)
            +
            Closes a DataSource, suppressing any IOException that may occur.
            +
            +
            Parameters:
            +
            dataSource - The DataSource to close.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            readBoolean

            +
            public static boolean readBoolean​(Parcel parcel)
            +
            Reads an integer from a Parcel and interprets it as a boolean, with 0 mapping to false + and all other values mapping to true.
            +
            +
            Parameters:
            +
            parcel - The Parcel to read from.
            +
            Returns:
            +
            The read value.
            +
            +
          • +
          + + + +
            +
          • +

            writeBoolean

            +
            public static void writeBoolean​(Parcel parcel,
            +                                boolean value)
            +
            Writes a boolean to a Parcel. The boolean is written as an integer with value 1 (true) + or 0 (false).
            +
            +
            Parameters:
            +
            parcel - The Parcel to write to.
            +
            value - The value to write.
            +
            +
          • +
          + + + +
            +
          • +

            getLocaleLanguageTag

            +
            public static String getLocaleLanguageTag​(Locale locale)
            +
            Returns the language tag for a Locale. + +

            For API levels ≥ 21, this tag is IETF BCP 47 compliant. Use normalizeLanguageCode(String) to retrieve a normalized IETF BCP 47 language tag for all API + levels if needed.

            +
            +
            Parameters:
            +
            locale - A Locale.
            +
            Returns:
            +
            The language tag.
            +
            +
          • +
          + + + +
            +
          • +

            normalizeLanguageCode

            +
            public static @PolyNull String normalizeLanguageCode​(@PolyNull String language)
            +
            Returns a normalized IETF BCP 47 language tag for language.
            +
            +
            Parameters:
            +
            language - A case-insensitive language code supported by Locale.forLanguageTag(String).
            +
            Returns:
            +
            The all-lowercase normalized code, or null if the input was null, or + language.toLowerCase() if the language could not be normalized.
            +
            +
          • +
          + + + +
            +
          • +

            fromUtf8Bytes

            +
            public static String fromUtf8Bytes​(byte[] bytes)
            +
            Returns a new String constructed by decoding UTF-8 encoded bytes.
            +
            +
            Parameters:
            +
            bytes - The UTF-8 encoded bytes to decode.
            +
            Returns:
            +
            The string.
            +
            +
          • +
          + + + +
            +
          • +

            fromUtf8Bytes

            +
            public static String fromUtf8Bytes​(byte[] bytes,
            +                                   int offset,
            +                                   int length)
            +
            Returns a new String constructed by decoding UTF-8 encoded bytes in a subarray.
            +
            +
            Parameters:
            +
            bytes - The UTF-8 encoded bytes to decode.
            +
            offset - The index of the first byte to decode.
            +
            length - The number of bytes to decode.
            +
            Returns:
            +
            The string.
            +
            +
          • +
          + + + +
            +
          • +

            getUtf8Bytes

            +
            public static byte[] getUtf8Bytes​(String value)
            +
            Returns a new byte array containing the code points of a String encoded using UTF-8.
            +
            +
            Parameters:
            +
            value - The String whose bytes should be obtained.
            +
            Returns:
            +
            The code points encoding using UTF-8.
            +
            +
          • +
          + + + +
            +
          • +

            split

            +
            public static String[] split​(String value,
            +                             String regex)
            +
            Splits a string using value.split(regex, -1). Note: this is is similar to String.split(String) but empty matches at the end of the string will not be omitted from the + returned array.
            +
            +
            Parameters:
            +
            value - The string to split.
            +
            regex - A delimiting regular expression.
            +
            Returns:
            +
            The array of strings resulting from splitting the string.
            +
            +
          • +
          + + + +
            +
          • +

            splitAtFirst

            +
            public static String[] splitAtFirst​(String value,
            +                                    String regex)
            +
            Splits the string at the first occurrence of the delimiter regex. If the delimiter does + not match, returns an array with one element which is the input string. If the delimiter does + match, returns an array with the portion of the string before the delimiter and the rest of the + string.
            +
            +
            Parameters:
            +
            value - The string.
            +
            regex - A delimiting regular expression.
            +
            Returns:
            +
            The string split by the first occurrence of the delimiter.
            +
            +
          • +
          + + + +
            +
          • +

            isLinebreak

            +
            public static boolean isLinebreak​(int c)
            +
            Returns whether the given character is a carriage return ('\r') or a line feed ('\n').
            +
            +
            Parameters:
            +
            c - The character.
            +
            Returns:
            +
            Whether the given character is a linebreak.
            +
            +
          • +
          + + + +
            +
          • +

            toLowerInvariant

            +
            public static @PolyNull String toLowerInvariant​(@PolyNull String text)
            +
            Converts text to lower case using Locale.US.
            +
            +
            Parameters:
            +
            text - The text to convert.
            +
            Returns:
            +
            The lower case text, or null if text is null.
            +
            +
          • +
          + + + +
            +
          • +

            toUpperInvariant

            +
            public static @PolyNull String toUpperInvariant​(@PolyNull String text)
            +
            Converts text to upper case using Locale.US.
            +
            +
            Parameters:
            +
            text - The text to convert.
            +
            Returns:
            +
            The upper case text, or null if text is null.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            ceilDivide

            +
            public static int ceilDivide​(int numerator,
            +                             int denominator)
            +
            Divides a numerator by a denominator, returning the ceiled result.
            +
            +
            Parameters:
            +
            numerator - The numerator to divide.
            +
            denominator - The denominator to divide by.
            +
            Returns:
            +
            The ceiled result of the division.
            +
            +
          • +
          + + + +
            +
          • +

            ceilDivide

            +
            public static long ceilDivide​(long numerator,
            +                              long denominator)
            +
            Divides a numerator by a denominator, returning the ceiled result.
            +
            +
            Parameters:
            +
            numerator - The numerator to divide.
            +
            denominator - The denominator to divide by.
            +
            Returns:
            +
            The ceiled result of the division.
            +
            +
          • +
          + + + +
            +
          • +

            constrainValue

            +
            public static int constrainValue​(int value,
            +                                 int min,
            +                                 int max)
            +
            Constrains a value to the specified bounds.
            +
            +
            Parameters:
            +
            value - The value to constrain.
            +
            min - The lower bound.
            +
            max - The upper bound.
            +
            Returns:
            +
            The constrained value Math.max(min, Math.min(value, max)).
            +
            +
          • +
          + + + +
            +
          • +

            constrainValue

            +
            public static long constrainValue​(long value,
            +                                  long min,
            +                                  long max)
            +
            Constrains a value to the specified bounds.
            +
            +
            Parameters:
            +
            value - The value to constrain.
            +
            min - The lower bound.
            +
            max - The upper bound.
            +
            Returns:
            +
            The constrained value Math.max(min, Math.min(value, max)).
            +
            +
          • +
          + + + +
            +
          • +

            constrainValue

            +
            public static float constrainValue​(float value,
            +                                   float min,
            +                                   float max)
            +
            Constrains a value to the specified bounds.
            +
            +
            Parameters:
            +
            value - The value to constrain.
            +
            min - The lower bound.
            +
            max - The upper bound.
            +
            Returns:
            +
            The constrained value Math.max(min, Math.min(value, max)).
            +
            +
          • +
          + + + +
            +
          • +

            addWithOverflowDefault

            +
            public static long addWithOverflowDefault​(long x,
            +                                          long y,
            +                                          long overflowResult)
            +
            Returns the sum of two arguments, or a third argument if the result overflows.
            +
            +
            Parameters:
            +
            x - The first value.
            +
            y - The second value.
            +
            overflowResult - The return value if x + y overflows.
            +
            Returns:
            +
            x + y, or overflowResult if the result overflows.
            +
            +
          • +
          + + + +
            +
          • +

            subtractWithOverflowDefault

            +
            public static long subtractWithOverflowDefault​(long x,
            +                                               long y,
            +                                               long overflowResult)
            +
            Returns the difference between two arguments, or a third argument if the result overflows.
            +
            +
            Parameters:
            +
            x - The first value.
            +
            y - The second value.
            +
            overflowResult - The return value if x - y overflows.
            +
            Returns:
            +
            x - y, or overflowResult if the result overflows.
            +
            +
          • +
          + + + +
            +
          • +

            linearSearch

            +
            public static int linearSearch​(int[] array,
            +                               int value)
            +
            Returns the index of the first occurrence of value in array, or C.INDEX_UNSET if value is not contained in array.
            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value to search for.
            +
            Returns:
            +
            The index of the first occurrence of value in array, or C.INDEX_UNSET + if value is not contained in array.
            +
            +
          • +
          + + + +
            +
          • +

            linearSearch

            +
            public static int linearSearch​(long[] array,
            +                               long value)
            +
            Returns the index of the first occurrence of value in array, or C.INDEX_UNSET if value is not contained in array.
            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value to search for.
            +
            Returns:
            +
            The index of the first occurrence of value in array, or C.INDEX_UNSET + if value is not contained in array.
            +
            +
          • +
          + + + +
            +
          • +

            binarySearchFloor

            +
            public static int binarySearchFloor​(int[] array,
            +                                    int value,
            +                                    boolean inclusive,
            +                                    boolean stayInBounds)
            +
            Returns the index of the largest element in array that is less than (or optionally + equal to) a specified value. + +

            The search is performed using a binary search algorithm, so the array must be sorted. If the + array contains multiple elements equal to value and inclusive is true, the + index of the first one will be returned.

            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the array, whether to return the corresponding + index. If false then the returned index corresponds to the largest element strictly less + than the value.
            +
            stayInBounds - If true, then 0 will be returned in the case that the value is smaller than + the smallest element in the array. If false then -1 will be returned.
            +
            Returns:
            +
            The index of the largest element in array that is less than (or optionally + equal to) value.
            +
            +
          • +
          + + + +
            +
          • +

            binarySearchFloor

            +
            public static int binarySearchFloor​(long[] array,
            +                                    long value,
            +                                    boolean inclusive,
            +                                    boolean stayInBounds)
            +
            Returns the index of the largest element in array that is less than (or optionally + equal to) a specified value. +

            + The search is performed using a binary search algorithm, so the array must be sorted. If the + array contains multiple elements equal to value and inclusive is true, the + index of the first one will be returned.

            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the array, whether to return the corresponding + index. If false then the returned index corresponds to the largest element strictly less + than the value.
            +
            stayInBounds - If true, then 0 will be returned in the case that the value is smaller than + the smallest element in the array. If false then -1 will be returned.
            +
            Returns:
            +
            The index of the largest element in array that is less than (or optionally + equal to) value.
            +
            +
          • +
          + + + + + +
            +
          • +

            binarySearchFloor

            +
            public static <T extends Comparable<? super T>> int binarySearchFloor​(List<? extends Comparable<? super T>> list,
            +                                                                      T value,
            +                                                                      boolean inclusive,
            +                                                                      boolean stayInBounds)
            +
            Returns the index of the largest element in list that is less than (or optionally equal + to) a specified value. + +

            The search is performed using a binary search algorithm, so the list must be sorted. If the + list contains multiple elements equal to value and inclusive is true, the index + of the first one will be returned.

            +
            +
            Type Parameters:
            +
            T - The type of values being searched.
            +
            Parameters:
            +
            list - The list to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the list, whether to return the corresponding + index. If false then the returned index corresponds to the largest element strictly less + than the value.
            +
            stayInBounds - If true, then 0 will be returned in the case that the value is smaller than + the smallest element in the list. If false then -1 will be returned.
            +
            Returns:
            +
            The index of the largest element in list that is less than (or optionally equal + to) value.
            +
            +
          • +
          + + + +
            +
          • +

            binarySearchFloor

            +
            public static int binarySearchFloor​(LongArray longArray,
            +                                    long value,
            +                                    boolean inclusive,
            +                                    boolean stayInBounds)
            +
            Returns the index of the largest element in longArray that is less than (or optionally + equal to) a specified value. + +

            The search is performed using a binary search algorithm, so the array must be sorted. If the + array contains multiple elements equal to value and inclusive is true, the + index of the first one will be returned.

            +
            +
            Parameters:
            +
            longArray - The array to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the array, whether to return the corresponding + index. If false then the returned index corresponds to the largest element strictly less + than the value.
            +
            stayInBounds - If true, then 0 will be returned in the case that the value is smaller than + the smallest element in the array. If false then -1 will be returned.
            +
            Returns:
            +
            The index of the largest element in array that is less than (or optionally + equal to) value.
            +
            +
          • +
          + + + +
            +
          • +

            binarySearchCeil

            +
            public static int binarySearchCeil​(int[] array,
            +                                   int value,
            +                                   boolean inclusive,
            +                                   boolean stayInBounds)
            +
            Returns the index of the smallest element in array that is greater than (or optionally + equal to) a specified value. + +

            The search is performed using a binary search algorithm, so the array must be sorted. If the + array contains multiple elements equal to value and inclusive is true, the + index of the last one will be returned.

            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the array, whether to return the corresponding + index. If false then the returned index corresponds to the smallest element strictly + greater than the value.
            +
            stayInBounds - If true, then (a.length - 1) will be returned in the case that the + value is greater than the largest element in the array. If false then a.length will + be returned.
            +
            Returns:
            +
            The index of the smallest element in array that is greater than (or optionally + equal to) value.
            +
            +
          • +
          + + + +
            +
          • +

            binarySearchCeil

            +
            public static int binarySearchCeil​(long[] array,
            +                                   long value,
            +                                   boolean inclusive,
            +                                   boolean stayInBounds)
            +
            Returns the index of the smallest element in array that is greater than (or optionally + equal to) a specified value. + +

            The search is performed using a binary search algorithm, so the array must be sorted. If the + array contains multiple elements equal to value and inclusive is true, the + index of the last one will be returned.

            +
            +
            Parameters:
            +
            array - The array to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the array, whether to return the corresponding + index. If false then the returned index corresponds to the smallest element strictly + greater than the value.
            +
            stayInBounds - If true, then (a.length - 1) will be returned in the case that the + value is greater than the largest element in the array. If false then a.length will + be returned.
            +
            Returns:
            +
            The index of the smallest element in array that is greater than (or optionally + equal to) value.
            +
            +
          • +
          + + + + + +
            +
          • +

            binarySearchCeil

            +
            public static <T extends Comparable<? super T>> int binarySearchCeil​(List<? extends Comparable<? super T>> list,
            +                                                                     T value,
            +                                                                     boolean inclusive,
            +                                                                     boolean stayInBounds)
            +
            Returns the index of the smallest element in list that is greater than (or optionally + equal to) a specified value. + +

            The search is performed using a binary search algorithm, so the list must be sorted. If the + list contains multiple elements equal to value and inclusive is true, the index + of the last one will be returned.

            +
            +
            Type Parameters:
            +
            T - The type of values being searched.
            +
            Parameters:
            +
            list - The list to search.
            +
            value - The value being searched for.
            +
            inclusive - If the value is present in the list, whether to return the corresponding + index. If false then the returned index corresponds to the smallest element strictly + greater than the value.
            +
            stayInBounds - If true, then (list.size() - 1) will be returned in the case that + the value is greater than the largest element in the list. If false then + list.size() will be returned.
            +
            Returns:
            +
            The index of the smallest element in list that is greater than (or optionally + equal to) value.
            +
            +
          • +
          + + + +
            +
          • +

            compareLong

            +
            public static int compareLong​(long left,
            +                              long right)
            +
            Compares two long values and returns the same value as Long.compare(long, long).
            +
            +
            Parameters:
            +
            left - The left operand.
            +
            right - The right operand.
            +
            Returns:
            +
            0, if left == right, a negative value if left < right, or a positive value if left + > right.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            parseXsDuration

            +
            public static long parseXsDuration​(String value)
            +
            Parses an xs:duration attribute value, returning the parsed duration in milliseconds.
            +
            +
            Parameters:
            +
            value - The attribute value to decode.
            +
            Returns:
            +
            The parsed duration in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            parseXsDateTime

            +
            public static long parseXsDateTime​(String value)
            +                            throws ParserException
            +
            Parses an xs:dateTime attribute value, returning the parsed timestamp in milliseconds since the + epoch.
            +
            +
            Parameters:
            +
            value - The attribute value to decode.
            +
            Returns:
            +
            The parsed timestamp in milliseconds since the epoch.
            +
            Throws:
            +
            ParserException - if an error occurs parsing the dateTime attribute value.
            +
            +
          • +
          + + + +
            +
          • +

            scaleLargeTimestamp

            +
            public static long scaleLargeTimestamp​(long timestamp,
            +                                       long multiplier,
            +                                       long divisor)
            +
            Scales a large timestamp. +

            + Logically, scaling consists of a multiplication followed by a division. The actual operations + performed are designed to minimize the probability of overflow.

            +
            +
            Parameters:
            +
            timestamp - The timestamp to scale.
            +
            multiplier - The multiplier.
            +
            divisor - The divisor.
            +
            Returns:
            +
            The scaled timestamp.
            +
            +
          • +
          + + + +
            +
          • +

            scaleLargeTimestamps

            +
            public static long[] scaleLargeTimestamps​(List<Long> timestamps,
            +                                          long multiplier,
            +                                          long divisor)
            +
            Applies scaleLargeTimestamp(long, long, long) to a list of unscaled timestamps.
            +
            +
            Parameters:
            +
            timestamps - The timestamps to scale.
            +
            multiplier - The multiplier.
            +
            divisor - The divisor.
            +
            Returns:
            +
            The scaled timestamps.
            +
            +
          • +
          + + + +
            +
          • +

            scaleLargeTimestampsInPlace

            +
            public static void scaleLargeTimestampsInPlace​(long[] timestamps,
            +                                               long multiplier,
            +                                               long divisor)
            +
            Applies scaleLargeTimestamp(long, long, long) to an array of unscaled timestamps.
            +
            +
            Parameters:
            +
            timestamps - The timestamps to scale.
            +
            multiplier - The multiplier.
            +
            divisor - The divisor.
            +
            +
          • +
          + + + +
            +
          • +

            getMediaDurationForPlayoutDuration

            +
            public static long getMediaDurationForPlayoutDuration​(long playoutDuration,
            +                                                      float speed)
            +
            Returns the duration of media that will elapse in playoutDuration.
            +
            +
            Parameters:
            +
            playoutDuration - The duration to scale.
            +
            speed - The factor by which playback is sped up.
            +
            Returns:
            +
            The scaled duration, in the same units as playoutDuration.
            +
            +
          • +
          + + + +
            +
          • +

            getPlayoutDurationForMediaDuration

            +
            public static long getPlayoutDurationForMediaDuration​(long mediaDuration,
            +                                                      float speed)
            +
            Returns the playout duration of mediaDuration of media.
            +
            +
            Parameters:
            +
            mediaDuration - The duration to scale.
            +
            Returns:
            +
            The scaled duration, in the same units as mediaDuration.
            +
            +
          • +
          + + + +
            +
          • +

            getIntegerCodeForString

            +
            public static int getIntegerCodeForString​(String string)
            +
            Returns the integer equal to the big-endian concatenation of the characters in string + as bytes. The string must be no more than four characters long.
            +
            +
            Parameters:
            +
            string - A string no more than four characters long.
            +
            +
          • +
          + + + +
            +
          • +

            toUnsignedLong

            +
            public static long toUnsignedLong​(int x)
            +
            Converts an integer to a long by unsigned conversion. + +

            This method is equivalent to Integer.toUnsignedLong(int) for API 26+.

            +
          • +
          + + + +
            +
          • +

            toLong

            +
            public static long toLong​(int mostSignificantBits,
            +                          int leastSignificantBits)
            +
            Return the long that is composed of the bits of the 2 specified integers.
            +
            +
            Parameters:
            +
            mostSignificantBits - The 32 most significant bits of the long to return.
            +
            leastSignificantBits - The 32 least significant bits of the long to return.
            +
            Returns:
            +
            a long where its 32 most significant bits are mostSignificantBits bits and its + 32 least significant bits are leastSignificantBits.
            +
            +
          • +
          + + + +
            +
          • +

            truncateAscii

            +
            public static CharSequence truncateAscii​(CharSequence sequence,
            +                                         int maxLength)
            +
            Truncates a sequence of ASCII characters to a maximum length. + +

            This preserves span styling in the CharSequence. If that's not important, use Ascii.truncate(CharSequence, int, String). + +

            Note: This is not safe to use in general on Unicode text because it may separate + characters from combining characters or split up surrogate pairs.

            +
            +
            Parameters:
            +
            sequence - The character sequence to truncate.
            +
            maxLength - The max length to truncate to.
            +
            Returns:
            +
            sequence directly if sequence.length() <= maxLength, otherwise + sequence.subsequence(0, maxLength.
            +
            +
          • +
          + + + +
            +
          • +

            getBytesFromHexString

            +
            public static byte[] getBytesFromHexString​(String hexString)
            +
            Returns a byte array containing values parsed from the hex string provided.
            +
            +
            Parameters:
            +
            hexString - The hex string to convert to bytes.
            +
            Returns:
            +
            A byte array containing values parsed from the hex string provided.
            +
            +
          • +
          + + + +
            +
          • +

            toHexString

            +
            public static String toHexString​(byte[] bytes)
            +
            Returns a string containing a lower-case hex representation of the bytes provided.
            +
            +
            Parameters:
            +
            bytes - The byte data to convert to hex.
            +
            Returns:
            +
            A String containing the hex representation of bytes.
            +
            +
          • +
          + + + +
            +
          • +

            getCommaDelimitedSimpleClassNames

            +
            public static String getCommaDelimitedSimpleClassNames​(Object[] objects)
            +
            Returns a string with comma delimited simple names of each object's class.
            +
            +
            Parameters:
            +
            objects - The objects whose simple class names should be comma delimited and returned.
            +
            Returns:
            +
            A string with comma delimited simple names of each object's class.
            +
            +
          • +
          + + + +
            +
          • +

            getUserAgent

            +
            public static String getUserAgent​(Context context,
            +                                  String applicationName)
            +
            Returns a user agent string based on the given application name and the library version.
            +
            +
            Parameters:
            +
            context - A valid context of the calling application.
            +
            applicationName - String that will be prefix'ed to the generated user agent.
            +
            Returns:
            +
            A user agent string generated using the applicationName and the library version.
            +
            +
          • +
          + + + +
            +
          • +

            getCodecCountOfType

            +
            public static int getCodecCountOfType​(@Nullable
            +                                      String codecs,
            +                                      int trackType)
            +
            Returns the number of codec strings in codecs whose type matches trackType.
            +
          • +
          + + + +
            +
          • +

            getCodecsOfType

            +
            @Nullable
            +public static String getCodecsOfType​(@Nullable
            +                                     String codecs,
            +                                     int trackType)
            +
            Returns a copy of codecs without the codecs whose track type doesn't match + trackType.
            +
            +
            Parameters:
            +
            codecs - A codec sequence string, as defined in RFC 6381.
            +
            trackType - One of C.TRACK_TYPE_*.
            +
            Returns:
            +
            A copy of codecs without the codecs whose track type doesn't match + trackType. If this ends up empty, or codecs is null, return null.
            +
            +
          • +
          + + + +
            +
          • +

            splitCodecs

            +
            public static String[] splitCodecs​(@Nullable
            +                                   String codecs)
            +
            Splits a codecs sequence string, as defined in RFC 6381, into individual codec strings.
            +
            +
            Parameters:
            +
            codecs - A codec sequence string, as defined in RFC 6381.
            +
            Returns:
            +
            The split codecs, or an array of length zero if the input was empty or null.
            +
            +
          • +
          + + + +
            +
          • +

            getPcmFormat

            +
            public static Format getPcmFormat​(@PcmEncoding
            +                                  int pcmEncoding,
            +                                  int channels,
            +                                  int sampleRate)
            +
            Gets a PCM Format with the specified parameters.
            +
            +
            Parameters:
            +
            pcmEncoding - The C.PcmEncoding.
            +
            channels - The number of channels, or Format.NO_VALUE if unknown.
            +
            sampleRate - The sample rate in Hz, or Format.NO_VALUE if unknown.
            +
            Returns:
            +
            The PCM format.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isEncodingLinearPcm

            +
            public static boolean isEncodingLinearPcm​(@Encoding
            +                                          int encoding)
            +
            Returns whether encoding is one of the linear PCM encodings.
            +
            +
            Parameters:
            +
            encoding - The encoding of the audio data.
            +
            Returns:
            +
            Whether the encoding is one of the PCM encodings.
            +
            +
          • +
          + + + +
            +
          • +

            isEncodingHighResolutionPcm

            +
            public static boolean isEncodingHighResolutionPcm​(@PcmEncoding
            +                                                  int encoding)
            +
            Returns whether encoding is high resolution (> 16-bit) PCM.
            +
            +
            Parameters:
            +
            encoding - The encoding of the audio data.
            +
            Returns:
            +
            Whether the encoding is high resolution PCM.
            +
            +
          • +
          + + + +
            +
          • +

            getAudioTrackChannelConfig

            +
            public static int getAudioTrackChannelConfig​(int channelCount)
            +
            Returns the audio track channel configuration for the given channel count, or AudioFormat.CHANNEL_INVALID if output is not possible.
            +
            +
            Parameters:
            +
            channelCount - The number of channels in the input audio.
            +
            Returns:
            +
            The channel configuration or AudioFormat.CHANNEL_INVALID if output is not + possible.
            +
            +
          • +
          + + + +
            +
          • +

            getPcmFrameSize

            +
            public static int getPcmFrameSize​(@PcmEncoding
            +                                  int pcmEncoding,
            +                                  int channelCount)
            +
            Returns the frame size for audio with channelCount channels in the specified encoding.
            +
            +
            Parameters:
            +
            pcmEncoding - The encoding of the audio data.
            +
            channelCount - The channel count.
            +
            Returns:
            +
            The size of one audio frame in bytes.
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            getDrmUuid

            +
            @Nullable
            +public static UUID getDrmUuid​(String drmScheme)
            +
            Derives a DRM UUID from drmScheme.
            +
            +
            Parameters:
            +
            drmScheme - A UUID string, or "widevine", "playready" or + "clearkey".
            +
            Returns:
            +
            The derived UUID, or null if one could not be derived.
            +
            +
          • +
          + + + +
            +
          • +

            inferContentType

            +
            @ContentType
            +public static int inferContentType​(Uri uri,
            +                                   @Nullable
            +                                   String overrideExtension)
            +
            Makes a best guess to infer the C.ContentType from a Uri.
            +
            +
            Parameters:
            +
            uri - The Uri.
            +
            overrideExtension - If not null, used to infer the type.
            +
            Returns:
            +
            The content type.
            +
            +
          • +
          + + + +
            +
          • +

            inferContentType

            +
            @ContentType
            +public static int inferContentType​(Uri uri)
            +
            Makes a best guess to infer the C.ContentType from a Uri.
            +
            +
            Parameters:
            +
            uri - The Uri.
            +
            Returns:
            +
            The content type.
            +
            +
          • +
          + + + +
            +
          • +

            inferContentType

            +
            @ContentType
            +public static int inferContentType​(String fileName)
            +
            Makes a best guess to infer the C.ContentType from a file name.
            +
            +
            Parameters:
            +
            fileName - Name of the file. It can include the path of the file.
            +
            Returns:
            +
            The content type.
            +
            +
          • +
          + + + +
            +
          • +

            inferContentTypeForUriAndMimeType

            +
            @ContentType
            +public static int inferContentTypeForUriAndMimeType​(Uri uri,
            +                                                    @Nullable
            +                                                    String mimeType)
            +
            Makes a best guess to infer the C.ContentType from a Uri and optional MIME type.
            +
            +
            Parameters:
            +
            uri - The Uri.
            +
            mimeType - If MIME type, or null.
            +
            Returns:
            +
            The content type.
            +
            +
          • +
          + + + +
            +
          • +

            getAdaptiveMimeTypeForContentType

            +
            @Nullable
            +public static String getAdaptiveMimeTypeForContentType​(int contentType)
            +
            Returns the MIME type corresponding to the given adaptive C.ContentType, or null + if the content type is C.TYPE_OTHER.
            +
          • +
          + + + +
            +
          • +

            fixSmoothStreamingIsmManifestUri

            +
            public static Uri fixSmoothStreamingIsmManifestUri​(Uri uri)
            +
            If the provided URI is an ISM Presentation URI, returns the URI with "Manifest" appended to its + path (i.e., the corresponding default manifest URI). Else returns the provided URI without + modification. See [MS-SSTR] v20180912, section 2.2.1.
            +
            +
            Parameters:
            +
            uri - The original URI.
            +
            Returns:
            +
            The fixed URI.
            +
            +
          • +
          + + + +
            +
          • +

            getStringForTime

            +
            public static String getStringForTime​(StringBuilder builder,
            +                                      Formatter formatter,
            +                                      long timeMs)
            +
            Returns the specified millisecond time formatted as a string.
            +
            +
            Parameters:
            +
            builder - The builder that formatter will write to.
            +
            formatter - The formatter.
            +
            timeMs - The time to format as a string, in milliseconds.
            +
            Returns:
            +
            The time formatted as a string.
            +
            +
          • +
          + + + +
            +
          • +

            escapeFileName

            +
            public static String escapeFileName​(String fileName)
            +
            Escapes a string so that it's safe for use as a file or directory name on at least FAT32 + filesystems. FAT32 is the most restrictive of all filesystems still commonly used today. + +

            For simplicity, this only handles common characters known to be illegal on FAT32: + <, >, :, ", /, \, |, ?, and *. % is also escaped since it is used as the escape + character. Escaping is performed in a consistent way so that no collisions occur and + unescapeFileName(String) can be used to retrieve the original file name.

            +
            +
            Parameters:
            +
            fileName - File name to be escaped.
            +
            Returns:
            +
            An escaped file name which will be safe for use on at least FAT32 filesystems.
            +
            +
          • +
          + + + +
            +
          • +

            unescapeFileName

            +
            @Nullable
            +public static String unescapeFileName​(String fileName)
            +
            Unescapes an escaped file or directory name back to its original value. + +

            See escapeFileName(String) for more information.

            +
            +
            Parameters:
            +
            fileName - File name to be unescaped.
            +
            Returns:
            +
            The original value of the file name before it was escaped, or null if the escaped + fileName seems invalid.
            +
            +
          • +
          + + + +
            +
          • +

            getDataUriForString

            +
            public static Uri getDataUriForString​(String mimeType,
            +                                      String data)
            +
            Returns a data URI with the specified MIME type and data.
            +
          • +
          + + + +
            +
          • +

            sneakyThrow

            +
            public static void sneakyThrow​(Throwable t)
            +
            A hacky method that always throws t even if t is a checked exception, + and is not declared to be thrown.
            +
          • +
          + + + +
            +
          • +

            recursiveDelete

            +
            public static void recursiveDelete​(File fileOrDirectory)
            +
            Recursively deletes a directory and its content.
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            crc32

            +
            public static int crc32​(byte[] bytes,
            +                        int start,
            +                        int end,
            +                        int initialValue)
            +
            Returns the result of updating a CRC-32 with the specified bytes in a "most significant bit + first" order.
            +
            +
            Parameters:
            +
            bytes - Array containing the bytes to update the crc value with.
            +
            start - The index to the first byte in the byte range to update the crc with.
            +
            end - The index after the last byte in the byte range to update the crc with.
            +
            initialValue - The initial value for the crc calculation.
            +
            Returns:
            +
            The result of updating the initial value with the specified bytes.
            +
            +
          • +
          + + + +
            +
          • +

            crc8

            +
            public static int crc8​(byte[] bytes,
            +                       int start,
            +                       int end,
            +                       int initialValue)
            +
            Returns the result of updating a CRC-8 with the specified bytes in a "most significant bit + first" order.
            +
            +
            Parameters:
            +
            bytes - Array containing the bytes to update the crc value with.
            +
            start - The index to the first byte in the byte range to update the crc with.
            +
            end - The index after the last byte in the byte range to update the crc with.
            +
            initialValue - The initial value for the crc calculation.
            +
            Returns:
            +
            The result of updating the initial value with the specified bytes.
            +
            +
          • +
          + + + +
            +
          • +

            gzip

            +
            public static byte[] gzip​(byte[] input)
            +
            Compresses input using gzip and returns the result in a newly allocated byte array.
            +
          • +
          + + + +
            +
          • +

            getBigEndianInt

            +
            public static int getBigEndianInt​(ByteBuffer buffer,
            +                                  int index)
            +
            Absolute get method for reading an int value in ByteOrder.BIG_ENDIAN in a ByteBuffer. Same as ByteBuffer.getInt(int) except the buffer's order as returned by + ByteBuffer.order() is ignored and ByteOrder.BIG_ENDIAN is used instead.
            +
            +
            Parameters:
            +
            buffer - The buffer from which to read an int in big endian.
            +
            index - The index from which the bytes will be read.
            +
            Returns:
            +
            The int value at the given index with the buffer bytes ordered most significant to + least significant.
            +
            +
          • +
          + + + +
            +
          • +

            getNetworkType

            +
            @NetworkType
            +public static int getNetworkType​(Context context)
            +
            Returns the C.NetworkType of the current network connection.
            +
            +
            Parameters:
            +
            context - A context to access the connectivity manager.
            +
            Returns:
            +
            The C.NetworkType of the current network connection.
            +
            +
          • +
          + + + +
            +
          • +

            getCountryCode

            +
            public static String getCountryCode​(@Nullable
            +                                    Context context)
            +
            Returns the upper-case ISO 3166-1 alpha-2 country code of the current registered operator's MCC + (Mobile Country Code), or the country code of the default Locale if not available.
            +
            +
            Parameters:
            +
            context - A context to access the telephony service. If null, only the Locale can be used.
            +
            Returns:
            +
            The upper-case ISO 3166-1 alpha-2 country code, or an empty String if unavailable.
            +
            +
          • +
          + + + +
            +
          • +

            getSystemLanguageCodes

            +
            public static String[] getSystemLanguageCodes()
            +
            Returns a non-empty array of normalized IETF BCP 47 language tags for the system languages + ordered by preference.
            +
          • +
          + + + +
            +
          • +

            inflate

            +
            public static boolean inflate​(ParsableByteArray input,
            +                              ParsableByteArray output,
            +                              @Nullable
            +                              Inflater inflater)
            +
            Uncompresses the data in input.
            +
            +
            Parameters:
            +
            input - Wraps the compressed input data.
            +
            output - Wraps an output buffer to be used to store the uncompressed data. If + output.data isn't big enough to hold the uncompressed data, a new array is created. If + true is returned then the output's position will be set to 0 and its limit will be + set to the length of the uncompressed data.
            +
            inflater - If not null, used to uncompressed the input. Otherwise a new Inflater + is created.
            +
            Returns:
            +
            Whether the input is uncompressed successfully.
            +
            +
          • +
          + + + +
            +
          • +

            isTv

            +
            public static boolean isTv​(Context context)
            +
            Returns whether the app is running on a TV device.
            +
            +
            Parameters:
            +
            context - Any context.
            +
            Returns:
            +
            Whether the app is running on a TV device.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentDisplayModeSize

            +
            public static Point getCurrentDisplayModeSize​(Context context)
            +
            Gets the size of the current mode of the default display, in pixels. + +

            Note that due to application UI scaling, the number of pixels made available to applications + (as reported by Display.getSize(Point) may differ from the mode's actual resolution (as + reported by this function). For example, applications running on a display configured with a 4K + mode may have their UI laid out and rendered in 1080p and then scaled up. Applications can take + advantage of the full mode resolution through a SurfaceView using full size buffers.

            +
            +
            Parameters:
            +
            context - Any context.
            +
            Returns:
            +
            The size of the current mode, in pixels.
            +
            +
          • +
          + + + +
            +
          • +

            getCurrentDisplayModeSize

            +
            public static Point getCurrentDisplayModeSize​(Context context,
            +                                              Display display)
            +
            Gets the size of the current mode of the specified display, in pixels. + +

            Note that due to application UI scaling, the number of pixels made available to applications + (as reported by Display.getSize(Point) may differ from the mode's actual resolution (as + reported by this function). For example, applications running on a display configured with a 4K + mode may have their UI laid out and rendered in 1080p and then scaled up. Applications can take + advantage of the full mode resolution through a SurfaceView using full size buffers.

            +
            +
            Parameters:
            +
            context - Any context.
            +
            display - The display whose size is to be returned.
            +
            Returns:
            +
            The size of the current mode, in pixels.
            +
            +
          • +
          + + + +
            +
          • +

            getTrackTypeString

            +
            public static String getTrackTypeString​(int trackType)
            +
            Returns a string representation of a TRACK_TYPE_* constant defined in C.
            +
            +
            Parameters:
            +
            trackType - A TRACK_TYPE_* constant,
            +
            Returns:
            +
            A string representation of this constant.
            +
            +
          • +
          + + + +
            +
          • +

            getNowUnixTimeMs

            +
            public static long getNowUnixTimeMs​(long elapsedRealtimeEpochOffsetMs)
            +
            Returns the current time in milliseconds since the epoch.
            +
            +
            Parameters:
            +
            elapsedRealtimeEpochOffsetMs - The offset between SystemClock.elapsedRealtime() + and the time since the Unix epoch, or C.TIME_UNSET if unknown.
            +
            Returns:
            +
            The Unix time in milliseconds since the epoch.
            +
            +
          • +
          + + + +
            +
          • +

            moveItems

            +
            public static <T> void moveItems​(List<T> items,
            +                                 int fromIndex,
            +                                 int toIndex,
            +                                 int newFromIndex)
            +
            Moves the elements starting at fromIndex to newFromIndex.
            +
            +
            Parameters:
            +
            items - The list of which to move elements.
            +
            fromIndex - The index at which the items to move start.
            +
            toIndex - The index up to which elements should be moved (exclusive).
            +
            newFromIndex - The new from index.
            +
            +
          • +
          + + + +
            +
          • +

            tableExists

            +
            public static boolean tableExists​(SQLiteDatabase database,
            +                                  String tableName)
            +
            Returns whether the table exists in the database.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/XmlPullParserUtil.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/XmlPullParserUtil.html new file mode 100644 index 0000000000..d25ad27656 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/XmlPullParserUtil.html @@ -0,0 +1,446 @@ + + + + +XmlPullParserUtil (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class XmlPullParserUtil

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.util.XmlPullParserUtil
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isEndTag

            +
            public static boolean isEndTag​(XmlPullParser xpp,
            +                               String name)
            +                        throws XmlPullParserException
            +
            Returns whether the current event is an end tag with the specified name.
            +
            +
            Parameters:
            +
            xpp - The XmlPullParser to query.
            +
            name - The specified name.
            +
            Returns:
            +
            Whether the current event is an end tag with the specified name.
            +
            Throws:
            +
            XmlPullParserException - If an error occurs querying the parser.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isStartTag

            +
            public static boolean isStartTag​(XmlPullParser xpp,
            +                                 String name)
            +                          throws XmlPullParserException
            +
            Returns whether the current event is a start tag with the specified name.
            +
            +
            Parameters:
            +
            xpp - The XmlPullParser to query.
            +
            name - The specified name.
            +
            Returns:
            +
            Whether the current event is a start tag with the specified name.
            +
            Throws:
            +
            XmlPullParserException - If an error occurs querying the parser.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isStartTagIgnorePrefix

            +
            public static boolean isStartTagIgnorePrefix​(XmlPullParser xpp,
            +                                             String name)
            +                                      throws XmlPullParserException
            +
            Returns whether the current event is a start tag with the specified name. If the current event + has a raw name then its prefix is stripped before matching.
            +
            +
            Parameters:
            +
            xpp - The XmlPullParser to query.
            +
            name - The specified name.
            +
            Returns:
            +
            Whether the current event is a start tag with the specified name.
            +
            Throws:
            +
            XmlPullParserException - If an error occurs querying the parser.
            +
            +
          • +
          + + + +
            +
          • +

            getAttributeValue

            +
            @Nullable
            +public static String getAttributeValue​(XmlPullParser xpp,
            +                                       String attributeName)
            +
            Returns the value of an attribute of the current start tag.
            +
            +
            Parameters:
            +
            xpp - The XmlPullParser to query.
            +
            attributeName - The name of the attribute.
            +
            Returns:
            +
            The value of the attribute, or null if the current event is not a start tag or if no + such attribute was found.
            +
            +
          • +
          + + + +
            +
          • +

            getAttributeValueIgnorePrefix

            +
            @Nullable
            +public static String getAttributeValueIgnorePrefix​(XmlPullParser xpp,
            +                                                   String attributeName)
            +
            Returns the value of an attribute of the current start tag. Any raw attribute names in the + current start tag have their prefixes stripped before matching.
            +
            +
            Parameters:
            +
            xpp - The XmlPullParser to query.
            +
            attributeName - The name of the attribute.
            +
            Returns:
            +
            The value of the attribute, or null if the current event is not a start tag or if no + such attribute was found.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-frame.html new file mode 100644 index 0000000000..056f398539 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-frame.html @@ -0,0 +1,93 @@ + + + + +com.google.android.exoplayer2.util (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.util

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-summary.html new file mode 100644 index 0000000000..eb0b656f23 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-summary.html @@ -0,0 +1,550 @@ + + + + +com.google.android.exoplayer2.util (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.util

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-tree.html new file mode 100644 index 0000000000..38354018bd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/util/package-tree.html @@ -0,0 +1,252 @@ + + + + +com.google.android.exoplayer2.util Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.util

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/AvcConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/AvcConfig.html new file mode 100644 index 0000000000..f8597dc748 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/AvcConfig.html @@ -0,0 +1,385 @@ + + + + +AvcConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class AvcConfig

      +
      +
      + +
      +
        +
      • +
        +
        public final class AvcConfig
        +extends Object
        +
        AVC configuration data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            initializationData

            +
            public final List<byte[]> initializationData
            +
          • +
          + + + +
            +
          • +

            nalUnitLengthFieldLength

            +
            public final int nalUnitLengthFieldLength
            +
          • +
          + + + +
            +
          • +

            width

            +
            public final int width
            +
          • +
          + + + +
            +
          • +

            height

            +
            public final int height
            +
          • +
          + + + +
            +
          • +

            pixelWidthAspectRatio

            +
            public final float pixelWidthAspectRatio
            +
          • +
          + + + +
            +
          • +

            codecs

            +
            @Nullable
            +public final String codecs
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parse

            +
            public static AvcConfig parse​(ParsableByteArray data)
            +                       throws ParserException
            +
            Parses AVC configuration data.
            +
            +
            Parameters:
            +
            data - A ParsableByteArray, whose position is set to the start of the AVC + configuration data to parse.
            +
            Returns:
            +
            A parsed representation of the AVC configuration data.
            +
            Throws:
            +
            ParserException - If an error occurred parsing the data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/ColorInfo.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/ColorInfo.html new file mode 100644 index 0000000000..d6d83a9f8f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/ColorInfo.html @@ -0,0 +1,537 @@ + + + + +ColorInfo (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ColorInfo

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class ColorInfo
        +extends Object
        +implements Parcelable
        +
        Stores color info.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DecoderVideoRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DecoderVideoRenderer.html new file mode 100644 index 0000000000..ce37414dcd --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DecoderVideoRenderer.html @@ -0,0 +1,1221 @@ + + + + +DecoderVideoRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DecoderVideoRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            decoderCounters

            +
            protected DecoderCounters decoderCounters
            +
            Decoder event counters used for debugging purposes.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            DecoderVideoRenderer

            +
            protected DecoderVideoRenderer​(long allowedJoiningTimeMs,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               VideoRendererEventListener eventListener,
            +                               int maxDroppedFramesToNotify)
            +
            +
            Parameters:
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + + + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class BaseRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStarted in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class BaseRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            releaseDecoder

            +
            @CallSuper
            +protected void releaseDecoder()
            +
            Releases the decoder.
            +
          • +
          + + + +
            +
          • +

            onInputFormatChanged

            +
            @CallSuper
            +protected void onInputFormatChanged​(FormatHolder formatHolder)
            +                             throws ExoPlaybackException
            +
            Called when a new format is read from the upstream source.
            +
            +
            Parameters:
            +
            formatHolder - A FormatHolder that holds the new Format.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs (re-)initializing the decoder.
            +
            +
          • +
          + + + +
            +
          • +

            onQueueInputBuffer

            +
            protected void onQueueInputBuffer​(VideoDecoderInputBuffer buffer)
            +
            Called immediately before an input buffer is queued into the decoder. + +

            The default implementation is a no-op.

            +
            +
            Parameters:
            +
            buffer - The buffer that will be queued.
            +
            +
          • +
          + + + +
            +
          • +

            onProcessedOutputBuffer

            +
            @CallSuper
            +protected void onProcessedOutputBuffer​(long presentationTimeUs)
            +
            Called when an output buffer is successfully processed.
            +
            +
            Parameters:
            +
            presentationTimeUs - The timestamp associated with the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            shouldDropOutputBuffer

            +
            protected boolean shouldDropOutputBuffer​(long earlyUs,
            +                                         long elapsedRealtimeUs)
            +
            Returns whether the buffer being processed should be dropped.
            +
            +
            Parameters:
            +
            earlyUs - The time until the buffer should be presented in microseconds. A negative value + indicates that the buffer is late.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, + measured at the start of the current iteration of the rendering loop.
            +
            +
          • +
          + + + +
            +
          • +

            shouldDropBuffersToKeyframe

            +
            protected boolean shouldDropBuffersToKeyframe​(long earlyUs,
            +                                              long elapsedRealtimeUs)
            +
            Returns whether to drop all buffers from the buffer being processed to the keyframe at or after + the current playback position, if possible.
            +
            +
            Parameters:
            +
            earlyUs - The time until the current buffer should be presented in microseconds. A + negative value indicates that the buffer is late.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, + measured at the start of the current iteration of the rendering loop.
            +
            +
          • +
          + + + +
            +
          • +

            shouldForceRenderOutputBuffer

            +
            protected boolean shouldForceRenderOutputBuffer​(long earlyUs,
            +                                                long elapsedSinceLastRenderUs)
            +
            Returns whether to force rendering an output buffer.
            +
            +
            Parameters:
            +
            earlyUs - The time until the current buffer should be presented in microseconds. A + negative value indicates that the buffer is late.
            +
            elapsedSinceLastRenderUs - The elapsed time since the last output buffer was rendered, in + microseconds.
            +
            Returns:
            +
            Returns whether to force rendering an output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            skipOutputBuffer

            +
            protected void skipOutputBuffer​(VideoDecoderOutputBuffer outputBuffer)
            +
            Skips the specified output buffer and releases it.
            +
            +
            Parameters:
            +
            outputBuffer - The output buffer to skip.
            +
            +
          • +
          + + + +
            +
          • +

            dropOutputBuffer

            +
            protected void dropOutputBuffer​(VideoDecoderOutputBuffer outputBuffer)
            +
            Drops the specified output buffer and releases it.
            +
            +
            Parameters:
            +
            outputBuffer - The output buffer to drop.
            +
            +
          • +
          + + + +
            +
          • +

            maybeDropBuffersToKeyframe

            +
            protected boolean maybeDropBuffersToKeyframe​(long positionUs)
            +                                      throws ExoPlaybackException
            +
            Drops frames from the current output buffer to the next keyframe at or before the playback + position. If no such keyframe exists, as the playback position is inside the same group of + pictures as the buffer being processed, returns false. Returns true otherwise.
            +
            +
            Parameters:
            +
            positionUs - The current playback position, in microseconds.
            +
            Returns:
            +
            Whether any buffers were dropped.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs flushing the decoder.
            +
            +
          • +
          + + + +
            +
          • +

            updateDroppedBufferCounters

            +
            protected void updateDroppedBufferCounters​(int droppedBufferCount)
            +
            Updates decoder counters to reflect that droppedBufferCount additional buffers were + dropped.
            +
            +
            Parameters:
            +
            droppedBufferCount - The number of additional dropped buffers.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            renderOutputBuffer

            +
            protected void renderOutputBuffer​(VideoDecoderOutputBuffer outputBuffer,
            +                                  long presentationTimeUs,
            +                                  Format outputFormat)
            +                           throws DecoderException
            +
            Renders the specified output buffer. + +

            The implementation of this method takes ownership of the output buffer and is responsible + for calling VideoDecoderOutputBuffer.release() either immediately or in the future.

            +
            +
            Parameters:
            +
            outputBuffer - VideoDecoderOutputBuffer to render.
            +
            presentationTimeUs - Presentation time in microseconds.
            +
            outputFormat - Output Format.
            +
            Throws:
            +
            DecoderException - If an error occurs when rendering the output buffer.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            setOutputSurface

            +
            protected final void setOutputSurface​(@Nullable
            +                                      Surface surface)
            +
            Sets output surface.
            +
            +
            Parameters:
            +
            surface - Surface.
            +
            +
          • +
          + + + +
            +
          • +

            setOutputBufferRenderer

            +
            protected final void setOutputBufferRenderer​(@Nullable
            +                                             VideoDecoderOutputBufferRenderer outputBufferRenderer)
            +
            Sets output buffer renderer.
            +
            +
            Parameters:
            +
            outputBufferRenderer - Output buffer renderer.
            +
            +
          • +
          + + + +
            +
          • +

            setDecoderOutputMode

            +
            protected abstract void setDecoderOutputMode​(@VideoOutputMode
            +                                             int outputMode)
            +
            Sets output mode of the decoder.
            +
            +
            Parameters:
            +
            outputMode - Output mode.
            +
            +
          • +
          + + + +
            +
          • +

            canReuseDecoder

            +
            protected DecoderReuseEvaluation canReuseDecoder​(String decoderName,
            +                                                 Format oldFormat,
            +                                                 Format newFormat)
            +
            Evaluates whether the existing decoder can be reused for a new Format. + +

            The default implementation does not allow decoder reuse.

            +
            +
            Parameters:
            +
            oldFormat - The previous format.
            +
            newFormat - The new format.
            +
            Returns:
            +
            The result of the evaluation.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DolbyVisionConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DolbyVisionConfig.html new file mode 100644 index 0000000000..03596ee96e --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DolbyVisionConfig.html @@ -0,0 +1,350 @@ + + + + +DolbyVisionConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DolbyVisionConfig

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.DolbyVisionConfig
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class DolbyVisionConfig
        +extends Object
        +
        Dolby Vision configuration data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            profile

            +
            public final int profile
            +
            The profile number.
            +
          • +
          + + + +
            +
          • +

            level

            +
            public final int level
            +
            The level number.
            +
          • +
          + + + +
            +
          • +

            codecs

            +
            public final String codecs
            +
            The RFC 6381 codecs string.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parse

            +
            @Nullable
            +public static DolbyVisionConfig parse​(ParsableByteArray data)
            +
            Parses Dolby Vision configuration data.
            +
            +
            Parameters:
            +
            data - A ParsableByteArray, whose position is set to the start of the Dolby Vision + configuration data to parse.
            +
            Returns:
            +
            The DolbyVisionConfig corresponding to the configuration, or null if + the configuration isn't supported.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DummySurface.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DummySurface.html new file mode 100644 index 0000000000..5c25b8c447 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/DummySurface.html @@ -0,0 +1,412 @@ + + + + +DummySurface (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class DummySurface

      +
      +
      + +
      +
        +
      • +
        +
        All Implemented Interfaces:
        +
        Parcelable
        +
        +
        +
        public final class DummySurface
        +extends Surface
        +
        A dummy Surface.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            secure

            +
            public final boolean secure
            +
            Whether the surface is secure.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            isSecureSupported

            +
            public static boolean isSecureSupported​(Context context)
            +
            Returns whether the device supports secure dummy surfaces.
            +
            +
            Parameters:
            +
            context - Any Context.
            +
            Returns:
            +
            Whether the device supports secure dummy surfaces.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            release

            +
            public void release()
            +
            +
            Overrides:
            +
            release in class Surface
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/HevcConfig.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/HevcConfig.html new file mode 100644 index 0000000000..c2f4f6e380 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/HevcConfig.html @@ -0,0 +1,363 @@ + + + + +HevcConfig (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class HevcConfig

      +
      +
      + +
      +
        +
      • +
        +
        public final class HevcConfig
        +extends Object
        +
        HEVC configuration data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            initializationData

            +
            @Nullable
            +public final List<byte[]> initializationData
            +
            List of buffers containing the codec-specific data to be provided to the decoder, or + null if not known.
            +
            +
            See Also:
            +
            Format.initializationData
            +
            +
          • +
          + + + +
            +
          • +

            nalUnitLengthFieldLength

            +
            public final int nalUnitLengthFieldLength
            +
            The length of the NAL unit length field in the bitstream's container, in bytes.
            +
          • +
          + + + +
            +
          • +

            codecs

            +
            @Nullable
            +public final String codecs
            +
            An RFC 6381 codecs string representing the video format, or null if not known.
            +
            +
            See Also:
            +
            Format.codecs
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            parse

            +
            public static HevcConfig parse​(ParsableByteArray data)
            +                        throws ParserException
            +
            Parses HEVC configuration data.
            +
            +
            Parameters:
            +
            data - A ParsableByteArray, whose position is set to the start of the HEVC + configuration data to parse.
            +
            Returns:
            +
            A parsed representation of the HEVC configuration data.
            +
            Throws:
            +
            ParserException - If an error occurred parsing the data.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoDecoderException.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoDecoderException.html new file mode 100644 index 0000000000..02f0410add --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoDecoderException.html @@ -0,0 +1,369 @@ + + + + +MediaCodecVideoDecoderException (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecVideoDecoderException

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            surfaceIdentityHashCode

            +
            public final int surfaceIdentityHashCode
            +
            The System.identityHashCode(Object) of the surface when the exception occurred.
            +
          • +
          + + + +
            +
          • +

            isSurfaceValid

            +
            public final boolean isSurfaceValid
            +
            Whether the surface was valid when the exception occurred.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaCodecVideoDecoderException

            +
            public MediaCodecVideoDecoderException​(Throwable cause,
            +                                       @Nullable
            +                                       MediaCodecInfo codecInfo,
            +                                       @Nullable
            +                                       Surface surface)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.CodecMaxValues.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.CodecMaxValues.html new file mode 100644 index 0000000000..e89c7747b9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.CodecMaxValues.html @@ -0,0 +1,336 @@ + + + + +MediaCodecVideoRenderer.CodecMaxValues (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecVideoRenderer.CodecMaxValues

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.MediaCodecVideoRenderer.CodecMaxValues
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            width

            +
            public final int width
            +
          • +
          + + + +
            +
          • +

            height

            +
            public final int height
            +
          • +
          + + + +
            +
          • +

            inputSize

            +
            public final int inputSize
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CodecMaxValues

            +
            public CodecMaxValues​(int width,
            +                      int height,
            +                      int inputSize)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.html new file mode 100644 index 0000000000..d236cbae74 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.html @@ -0,0 +1,1887 @@ + + + + +MediaCodecVideoRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class MediaCodecVideoRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            MediaCodecVideoRenderer

            +
            public MediaCodecVideoRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecVideoRenderer

            +
            public MediaCodecVideoRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               long allowedJoiningTimeMs)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecVideoRenderer

            +
            public MediaCodecVideoRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               long allowedJoiningTimeMs,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               VideoRendererEventListener eventListener,
            +                               int maxDroppedFramesToNotify)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecVideoRenderer

            +
            public MediaCodecVideoRenderer​(Context context,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               long allowedJoiningTimeMs,
            +                               boolean enableDecoderFallback,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               VideoRendererEventListener eventListener,
            +                               int maxDroppedFramesToNotify)
            +
            +
            Parameters:
            +
            context - A context.
            +
            mediaCodecSelector - A decoder selector.
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          + + + +
            +
          • +

            MediaCodecVideoRenderer

            +
            public MediaCodecVideoRenderer​(Context context,
            +                               MediaCodecAdapter.Factory codecAdapterFactory,
            +                               MediaCodecSelector mediaCodecSelector,
            +                               long allowedJoiningTimeMs,
            +                               boolean enableDecoderFallback,
            +                               @Nullable
            +                               Handler eventHandler,
            +                               @Nullable
            +                               VideoRendererEventListener eventListener,
            +                               int maxDroppedFramesToNotify)
            +
            Creates a new instance.
            +
            +
            Parameters:
            +
            context - A context.
            +
            codecAdapterFactory - The MediaCodecAdapter.Factory used to create MediaCodecAdapter instances.
            +
            mediaCodecSelector - A decoder selector.
            +
            allowedJoiningTimeMs - The maximum duration in milliseconds for which this video renderer + can attempt to seamlessly join an ongoing playback.
            +
            enableDecoderFallback - Whether to enable fallback to lower-priority decoders if decoder + initialization fails. This may result in using a decoder that is slower/less efficient than + the primary decoder.
            +
            eventHandler - A handler to use when delivering events to eventListener. May be + null if delivery of events is not required.
            +
            eventListener - A listener of events. May be null if delivery of events is not required.
            +
            maxDroppedFramesToNotify - The maximum number of frames that can be dropped between + invocations of VideoRendererEventListener.onDroppedFrames(int, long).
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onEnabled

            +
            protected void onEnabled​(boolean joining,
            +                         boolean mayRenderStartOfStream)
            +                  throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is enabled. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onEnabled in class MediaCodecRenderer
            +
            Parameters:
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            mayRenderStartOfStream - Whether this renderer is allowed to render the start of the + stream even if the state is not Renderer.STATE_STARTED yet.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +                        throws ExoPlaybackException
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class MediaCodecRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Specified by:
            +
            isReady in interface Renderer
            +
            Overrides:
            +
            isReady in class MediaCodecRenderer
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            protected void onStarted()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is started. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStarted in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            protected void onStopped()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is stopped. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStopped in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class MediaCodecRenderer
            +
            +
          • +
          + + + +
            +
          • +

            onReset

            +
            protected void onReset()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is reset. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onReset in class MediaCodecRenderer
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getCodecNeedsEosPropagation

            +
            protected boolean getCodecNeedsEosPropagation()
            +
            Description copied from class: MediaCodecRenderer
            +
            Returns whether the codec needs the renderer to propagate the end-of-stream signal directly, + rather than by using an end-of-stream buffer queued to the codec.
            +
            +
            Overrides:
            +
            getCodecNeedsEosPropagation in class MediaCodecRenderer
            +
            +
          • +
          + + + + + + + + + + + + + + + +
            +
          • +

            setPlaybackSpeed

            +
            public void setPlaybackSpeed​(float currentPlaybackSpeed,
            +                             float targetPlaybackSpeed)
            +                      throws ExoPlaybackException
            +
            Description copied from interface: Renderer
            +
            Indicates the playback speed to this renderer. + +

            The default implementation is a no-op.

            +
            +
            Specified by:
            +
            setPlaybackSpeed in interface Renderer
            +
            Overrides:
            +
            setPlaybackSpeed in class MediaCodecRenderer
            +
            Parameters:
            +
            currentPlaybackSpeed - The factor by which playback is currently sped up.
            +
            targetPlaybackSpeed - The target factor by which playback should be sped up. This may be + different from currentPlaybackSpeed, for example, if the speed is temporarily + adjusted for live playback.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs handling the playback speed.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onCodecInitialized

            +
            protected void onCodecInitialized​(String name,
            +                                  long initializedTimestampMs,
            +                                  long initializationDurationMs)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when a MediaCodec has been created and configured. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onCodecInitialized in class MediaCodecRenderer
            +
            Parameters:
            +
            name - The name of the codec that was initialized.
            +
            initializedTimestampMs - SystemClock.elapsedRealtime() when initialization + finished.
            +
            initializationDurationMs - The time taken to initialize the codec in milliseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onCodecReleased

            +
            protected void onCodecReleased​(String name)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when a MediaCodec has been released. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onCodecReleased in class MediaCodecRenderer
            +
            Parameters:
            +
            name - The name of the codec that was released.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onQueueInputBuffer

            +
            @CallSuper
            +protected void onQueueInputBuffer​(DecoderInputBuffer buffer)
            +                           throws ExoPlaybackException
            +
            Called immediately before an input buffer is queued into the codec. + +

            In tunneling mode for pre Marshmallow, the buffer is treated as if immediately output.

            +
            +
            Overrides:
            +
            onQueueInputBuffer in class MediaCodecRenderer
            +
            Parameters:
            +
            buffer - The buffer to be queued.
            +
            Throws:
            +
            ExoPlaybackException - Thrown if an error occurs handling the input buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onOutputFormatChanged

            +
            protected void onOutputFormatChanged​(Format format,
            +                                     @Nullable
            +                                     MediaFormat mediaFormat)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when one of the output formats changes. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onOutputFormatChanged in class MediaCodecRenderer
            +
            Parameters:
            +
            format - The input Format to which future output now corresponds. If the renderer + is in bypass mode, this is also the output format.
            +
            mediaFormat - The codec output MediaFormat, or null if the renderer is in + bypass mode.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            processOutputBuffer

            +
            protected boolean processOutputBuffer​(long positionUs,
            +                                      long elapsedRealtimeUs,
            +                                      @Nullable
            +                                      MediaCodecAdapter codec,
            +                                      @Nullable
            +                                      ByteBuffer buffer,
            +                                      int bufferIndex,
            +                                      int bufferFlags,
            +                                      int sampleCount,
            +                                      long bufferPresentationTimeUs,
            +                                      boolean isDecodeOnlyBuffer,
            +                                      boolean isLastBuffer,
            +                                      Format format)
            +                               throws ExoPlaybackException
            +
            Description copied from class: MediaCodecRenderer
            +
            Processes an output media buffer. + +

            When a new ByteBuffer is passed to this method its position and limit delineate the + data to be processed. The return value indicates whether the buffer was processed in full. If + true is returned then the next call to this method will receive a new buffer to be processed. + If false is returned then the same buffer will be passed to the next call. An implementation of + this method is free to modify the buffer and can assume that the buffer will not be externally + modified between successive calls. Hence an implementation can, for example, modify the + buffer's position to keep track of how much of the data it has processed. + +

            Note that the first call to this method following a call to MediaCodecRenderer.onPositionReset(long, + boolean) will always receive a new ByteBuffer to be processed.

            +
            +
            Specified by:
            +
            processOutputBuffer in class MediaCodecRenderer
            +
            Parameters:
            +
            positionUs - The current media time in microseconds, measured at the start of the current + iteration of the rendering loop.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, measured at the + start of the current iteration of the rendering loop.
            +
            codec - The MediaCodecAdapter instance, or null in bypass mode were no codec is + used.
            +
            buffer - The output buffer to process, or null if the buffer data is not made available to + the application layer (see MediaCodec.getOutputBuffer(int)). This buffer + can only be null for video data. Note that the buffer data can still be rendered in this + case by using the bufferIndex.
            +
            bufferIndex - The index of the output buffer.
            +
            bufferFlags - The flags attached to the output buffer.
            +
            sampleCount - The number of samples extracted from the sample queue in the buffer. This + allows handling multiple samples as a batch for efficiency.
            +
            bufferPresentationTimeUs - The presentation time of the output buffer in microseconds.
            +
            isDecodeOnlyBuffer - Whether the buffer was marked with C.BUFFER_FLAG_DECODE_ONLY + by the source.
            +
            isLastBuffer - Whether the buffer is the last sample of the current stream.
            +
            format - The Format associated with the buffer.
            +
            Returns:
            +
            Whether the output buffer was fully processed (for example, rendered or skipped).
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs processing the output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            onProcessedTunneledBuffer

            +
            protected void onProcessedTunneledBuffer​(long presentationTimeUs)
            +                                  throws ExoPlaybackException
            +
            Called when a buffer was processed in tunneling mode.
            +
            +
            Throws:
            +
            ExoPlaybackException
            +
            +
          • +
          + + + +
            +
          • +

            onProcessedOutputBuffer

            +
            @CallSuper
            +protected void onProcessedOutputBuffer​(long presentationTimeUs)
            +
            Description copied from class: MediaCodecRenderer
            +
            Called when an output buffer is successfully processed.
            +
            +
            Overrides:
            +
            onProcessedOutputBuffer in class MediaCodecRenderer
            +
            Parameters:
            +
            presentationTimeUs - The timestamp associated with the output buffer.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            shouldDropOutputBuffer

            +
            protected boolean shouldDropOutputBuffer​(long earlyUs,
            +                                         long elapsedRealtimeUs,
            +                                         boolean isLastBuffer)
            +
            Returns whether the buffer being processed should be dropped.
            +
            +
            Parameters:
            +
            earlyUs - The time until the buffer should be presented in microseconds. A negative value + indicates that the buffer is late.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, + measured at the start of the current iteration of the rendering loop.
            +
            isLastBuffer - Whether the buffer is the last buffer in the current stream.
            +
            +
          • +
          + + + +
            +
          • +

            shouldDropBuffersToKeyframe

            +
            protected boolean shouldDropBuffersToKeyframe​(long earlyUs,
            +                                              long elapsedRealtimeUs,
            +                                              boolean isLastBuffer)
            +
            Returns whether to drop all buffers from the buffer being processed to the keyframe at or after + the current playback position, if possible.
            +
            +
            Parameters:
            +
            earlyUs - The time until the current buffer should be presented in microseconds. A + negative value indicates that the buffer is late.
            +
            elapsedRealtimeUs - SystemClock.elapsedRealtime() in microseconds, + measured at the start of the current iteration of the rendering loop.
            +
            isLastBuffer - Whether the buffer is the last buffer in the current stream.
            +
            +
          • +
          + + + +
            +
          • +

            shouldForceRenderOutputBuffer

            +
            protected boolean shouldForceRenderOutputBuffer​(long earlyUs,
            +                                                long elapsedSinceLastRenderUs)
            +
            Returns whether to force rendering an output buffer.
            +
            +
            Parameters:
            +
            earlyUs - The time until the current buffer should be presented in microseconds. A + negative value indicates that the buffer is late.
            +
            elapsedSinceLastRenderUs - The elapsed time since the last output buffer was rendered, in + microseconds.
            +
            Returns:
            +
            Returns whether to force rendering an output buffer.
            +
            +
          • +
          + + + +
            +
          • +

            skipOutputBuffer

            +
            protected void skipOutputBuffer​(MediaCodecAdapter codec,
            +                                int index,
            +                                long presentationTimeUs)
            +
            Skips the output buffer with the specified index.
            +
            +
            Parameters:
            +
            codec - The codec that owns the output buffer.
            +
            index - The index of the output buffer to skip.
            +
            presentationTimeUs - The presentation time of the output buffer, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            dropOutputBuffer

            +
            protected void dropOutputBuffer​(MediaCodecAdapter codec,
            +                                int index,
            +                                long presentationTimeUs)
            +
            Drops the output buffer with the specified index.
            +
            +
            Parameters:
            +
            codec - The codec that owns the output buffer.
            +
            index - The index of the output buffer to drop.
            +
            presentationTimeUs - The presentation time of the output buffer, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            maybeDropBuffersToKeyframe

            +
            protected boolean maybeDropBuffersToKeyframe​(long positionUs,
            +                                             boolean treatDroppedBuffersAsSkipped)
            +                                      throws ExoPlaybackException
            +
            Drops frames from the current output buffer to the next keyframe at or before the playback + position. If no such keyframe exists, as the playback position is inside the same group of + pictures as the buffer being processed, returns false. Returns true otherwise.
            +
            +
            Parameters:
            +
            positionUs - The current playback position, in microseconds.
            +
            treatDroppedBuffersAsSkipped - Whether dropped buffers should be treated as intentionally + skipped.
            +
            Returns:
            +
            Whether any buffers were dropped.
            +
            Throws:
            +
            ExoPlaybackException - If an error occurs flushing the codec.
            +
            +
          • +
          + + + +
            +
          • +

            updateDroppedBufferCounters

            +
            protected void updateDroppedBufferCounters​(int droppedBufferCount)
            +
            Updates local counters and DecoderCounters to reflect that droppedBufferCount + additional buffers were dropped.
            +
            +
            Parameters:
            +
            droppedBufferCount - The number of additional dropped buffers.
            +
            +
          • +
          + + + +
            +
          • +

            updateVideoFrameProcessingOffsetCounters

            +
            protected void updateVideoFrameProcessingOffsetCounters​(long processingOffsetUs)
            +
            Updates local counters and DecoderCounters with a new video frame processing offset.
            +
            +
            Parameters:
            +
            processingOffsetUs - The video frame processing offset.
            +
            +
          • +
          + + + +
            +
          • +

            renderOutputBuffer

            +
            protected void renderOutputBuffer​(MediaCodecAdapter codec,
            +                                  int index,
            +                                  long presentationTimeUs)
            +
            Renders the output buffer with the specified index. This method is only called if the platform + API version of the device is less than 21.
            +
            +
            Parameters:
            +
            codec - The codec that owns the output buffer.
            +
            index - The index of the output buffer to drop.
            +
            presentationTimeUs - The presentation time of the output buffer, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            renderOutputBufferV21

            +
            protected void renderOutputBufferV21​(MediaCodecAdapter codec,
            +                                     int index,
            +                                     long presentationTimeUs,
            +                                     long releaseTimeNs)
            +
            Renders the output buffer with the specified index. This method is only called if the platform + API version of the device is 21 or later.
            +
            +
            Parameters:
            +
            codec - The codec that owns the output buffer.
            +
            index - The index of the output buffer to drop.
            +
            presentationTimeUs - The presentation time of the output buffer, in microseconds.
            +
            releaseTimeNs - The wallclock time at which the frame should be displayed, in nanoseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            getMediaFormat

            +
            protected MediaFormat getMediaFormat​(Format format,
            +                                     String codecMimeType,
            +                                     MediaCodecVideoRenderer.CodecMaxValues codecMaxValues,
            +                                     float codecOperatingRate,
            +                                     boolean deviceNeedsNoPostProcessWorkaround,
            +                                     int tunnelingAudioSessionId)
            +
            Returns the framework MediaFormat that should be used to configure the decoder.
            +
            +
            Parameters:
            +
            format - The Format of media.
            +
            codecMimeType - The MIME type handled by the codec.
            +
            codecMaxValues - Codec max values that should be used when configuring the decoder.
            +
            codecOperatingRate - The codec operating rate, or MediaCodecRenderer.CODEC_OPERATING_RATE_UNSET if + no codec operating rate should be set.
            +
            deviceNeedsNoPostProcessWorkaround - Whether the device is known to do post processing by + default that isn't compatible with ExoPlayer.
            +
            tunnelingAudioSessionId - The audio session id to use for tunneling, or C.AUDIO_SESSION_ID_UNSET if tunneling should not be enabled.
            +
            Returns:
            +
            The framework MediaFormat that should be used to configure the decoder.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            getMaxInputSize

            +
            protected static int getMaxInputSize​(MediaCodecInfo codecInfo,
            +                                     Format format)
            +
            Returns a maximum input buffer size for a given MediaCodec and Format.
            +
            +
            Parameters:
            +
            codecInfo - Information about the MediaCodec being configured.
            +
            format - The format.
            +
            Returns:
            +
            A maximum input buffer size in bytes, or Format.NO_VALUE if a maximum could not + be determined.
            +
            +
          • +
          + + + +
            +
          • +

            codecNeedsSetOutputSurfaceWorkaround

            +
            protected boolean codecNeedsSetOutputSurfaceWorkaround​(String name)
            +
            Returns whether the codec is known to implement MediaCodec.setOutputSurface(Surface) + incorrectly. + +

            If true is returned then we fall back to releasing and re-instantiating the codec instead.

            +
            +
            Parameters:
            +
            name - The name of the codec.
            +
            Returns:
            +
            True if the device is known to implement MediaCodec.setOutputSurface(Surface) + incorrectly.
            +
            +
          • +
          + + + +
            +
          • +

            getSurface

            +
            protected Surface getSurface()
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderGLSurfaceView.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderGLSurfaceView.html new file mode 100644 index 0000000000..411a5993e8 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderGLSurfaceView.html @@ -0,0 +1,414 @@ + + + + +VideoDecoderGLSurfaceView (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VideoDecoderGLSurfaceView

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            VideoDecoderGLSurfaceView

            +
            public VideoDecoderGLSurfaceView​(Context context)
            +
            +
            Parameters:
            +
            context - A Context.
            +
            +
          • +
          + + + +
            +
          • +

            VideoDecoderGLSurfaceView

            +
            public VideoDecoderGLSurfaceView​(Context context,
            +                                 @Nullable
            +                                 AttributeSet attrs)
            +
            +
            Parameters:
            +
            context - A Context.
            +
            attrs - Custom attributes.
            +
            +
          • +
          +
        • +
        + + +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderInputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderInputBuffer.html new file mode 100644 index 0000000000..11d4ad7439 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderInputBuffer.html @@ -0,0 +1,388 @@ + + + + +VideoDecoderInputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VideoDecoderInputBuffer

      +
      +
      + +
      +
        +
      • +
        +
        public class VideoDecoderInputBuffer
        +extends DecoderInputBuffer
        +
        Input buffer to a video decoder.
        +
      • +
      +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html new file mode 100644 index 0000000000..24611b3d30 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.html @@ -0,0 +1,696 @@ + + + + +VideoDecoderOutputBuffer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VideoDecoderOutputBuffer

      +
      +
      + +
      +
        +
      • +
        +
        Direct Known Subclasses:
        +
        VpxOutputBuffer
        +
        +
        +
        public class VideoDecoderOutputBuffer
        +extends OutputBuffer
        +
        Video decoder output buffer containing video frame data.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            COLORSPACE_UNKNOWN

            +
            public static final int COLORSPACE_UNKNOWN
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            COLORSPACE_BT601

            +
            public static final int COLORSPACE_BT601
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            COLORSPACE_BT709

            +
            public static final int COLORSPACE_BT709
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            COLORSPACE_BT2020

            +
            public static final int COLORSPACE_BT2020
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            decoderPrivate

            +
            public int decoderPrivate
            +
            Decoder private data. Used from native code.
            +
          • +
          + + + + + + + +
            +
          • +

            data

            +
            @Nullable
            +public ByteBuffer data
            +
            RGB buffer for RGB mode.
            +
          • +
          + + + +
            +
          • +

            width

            +
            public int width
            +
          • +
          + + + +
            +
          • +

            height

            +
            public int height
            +
          • +
          + + + +
            +
          • +

            format

            +
            @Nullable
            +public Format format
            +
            The format of the input from which this output buffer was decoded.
            +
          • +
          + + + +
            +
          • +

            yuvPlanes

            +
            @Nullable
            +public ByteBuffer[] yuvPlanes
            +
            YUV planes for YUV mode.
            +
          • +
          + + + +
            +
          • +

            yuvStrides

            +
            @Nullable
            +public int[] yuvStrides
            +
          • +
          + + + +
            +
          • +

            colorspace

            +
            public int colorspace
            +
          • +
          + + + +
            +
          • +

            supplementalData

            +
            @Nullable
            +public ByteBuffer supplementalData
            +
            Supplemental data related to the output frame, if Buffer.hasSupplementalData() returns true. + If present, the buffer is populated with supplemental data from position 0 to its limit.
            +
          • +
          +
        • +
        + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            release

            +
            public void release()
            +
            Description copied from class: OutputBuffer
            +
            Releases the output buffer for reuse. Must be called when the buffer is no longer needed.
            +
            +
            Specified by:
            +
            release in class OutputBuffer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            initForYuvFrame

            +
            public boolean initForYuvFrame​(int width,
            +                               int height,
            +                               int yStride,
            +                               int uvStride,
            +                               int colorspace)
            +
            Resizes the buffer based on the given stride. Called via JNI after decoding completes.
            +
            +
            Returns:
            +
            Whether the buffer was resized successfully.
            +
            +
          • +
          + + + +
            +
          • +

            initForPrivateFrame

            +
            public void initForPrivateFrame​(int width,
            +                                int height)
            +
            Configures the buffer for the given frame dimensions when passing actual frame data via decoderPrivate. Called via JNI after decoding completes.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html new file mode 100644 index 0000000000..886b90b885 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoDecoderOutputBufferRenderer.html @@ -0,0 +1,254 @@ + + + + +VideoDecoderOutputBufferRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface VideoDecoderOutputBufferRenderer

      +
      +
      +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setOutputBuffer

            +
            void setOutputBuffer​(VideoDecoderOutputBuffer outputBuffer)
            +
            Sets the output buffer to be rendered. The renderer is responsible for releasing the buffer.
            +
            +
            Parameters:
            +
            outputBuffer - The output buffer to be rendered.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameMetadataListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameMetadataListener.html new file mode 100644 index 0000000000..4adfd0afdc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameMetadataListener.html @@ -0,0 +1,266 @@ + + + + +VideoFrameMetadataListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface VideoFrameMetadataListener

      +
      +
      +
      +
        +
      • +
        +
        public interface VideoFrameMetadataListener
        +
        A listener for metadata corresponding to video frames being rendered.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onVideoFrameAboutToBeRendered

            +
            void onVideoFrameAboutToBeRendered​(long presentationTimeUs,
            +                                   long releaseTimeNs,
            +                                   Format format,
            +                                   @Nullable
            +                                   MediaFormat mediaFormat)
            +
            Called on the playback thread when a video frame is about to be rendered.
            +
            +
            Parameters:
            +
            presentationTimeUs - The presentation time of the frame, in microseconds.
            +
            releaseTimeNs - The wallclock time at which the frame should be displayed, in nanoseconds. + If the platform API version of the device is less than 21, then this is a best effort.
            +
            format - The format associated with the frame.
            +
            mediaFormat - The framework media format associated with the frame, or null if not + known or not applicable (e.g., because the frame was not output by a MediaCodec).
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.html new file mode 100644 index 0000000000..1a22655d0c --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoFrameReleaseHelper.html @@ -0,0 +1,501 @@ + + + + +VideoFrameReleaseHelper (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VideoFrameReleaseHelper

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.VideoFrameReleaseHelper
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class VideoFrameReleaseHelper
        +extends Object
        +
        Helps a video Renderer release frames to a Surface. The helper: + +
          +
        • Adjusts frame release timestamps to achieve a smoother visual result. The release + timestamps are smoothed, and aligned with the default display's vsync signal. +
        • Adjusts the Surface frame rate to inform the underlying platform of a fixed frame + rate, when there is one. +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            VideoFrameReleaseHelper

            +
            public VideoFrameReleaseHelper​(@Nullable
            +                               Context context)
            +
            Constructs an instance.
            +
            +
            Parameters:
            +
            context - A context from which information about the default display can be retrieved.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onEnabled

            +
            public void onEnabled()
            +
            Called when the renderer is enabled.
            +
          • +
          + + + +
            +
          • +

            onStarted

            +
            public void onStarted()
            +
            Called when the renderer is started.
            +
          • +
          + + + +
            +
          • +

            onSurfaceChanged

            +
            public void onSurfaceChanged​(@Nullable
            +                             Surface surface)
            +
            Called when the renderer changes which Surface it's rendering to renders to.
            +
            +
            Parameters:
            +
            surface - The new Surface, or null if the renderer does not have one.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            public void onPositionReset()
            +
            Called when the renderer's position is reset.
            +
          • +
          + + + +
            +
          • +

            onPlaybackSpeed

            +
            public void onPlaybackSpeed​(float playbackSpeed)
            +
            Called when the renderer's playback speed changes.
            +
            +
            Parameters:
            +
            playbackSpeed - The factor by which playback is sped up.
            +
            +
          • +
          + + + +
            +
          • +

            onFormatChanged

            +
            public void onFormatChanged​(float formatFrameRate)
            +
            Called when the renderer's output format changes.
            +
            +
            Parameters:
            +
            formatFrameRate - The format's frame rate, or Format.NO_VALUE if unknown.
            +
            +
          • +
          + + + +
            +
          • +

            onNextFrame

            +
            public void onNextFrame​(long framePresentationTimeUs)
            +
            Called by the renderer for each frame, prior to it being skipped, dropped or rendered.
            +
            +
            Parameters:
            +
            framePresentationTimeUs - The frame presentation timestamp, in microseconds.
            +
            +
          • +
          + + + +
            +
          • +

            onStopped

            +
            public void onStopped()
            +
            Called when the renderer is stopped.
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            public void onDisabled()
            +
            Called when the renderer is disabled.
            +
          • +
          + + + +
            +
          • +

            adjustReleaseTime

            +
            public long adjustReleaseTime​(long releaseTimeNs)
            +
            Adjusts the release timestamp for the next frame. This is the frame whose presentation + timestamp was most recently passed to onNextFrame(long). + +

            This method may be called any number of times for each frame, including zero times (for + skipped frames, or when rendering the first frame prior to playback starting), or more than + once (if the caller wishes to give the helper the opportunity to refine a release time closer + to when the frame needs to be released).

            +
            +
            Parameters:
            +
            releaseTimeNs - The frame's unadjusted release time, in nanoseconds and in the same time + base as System.nanoTime().
            +
            Returns:
            +
            The adjusted frame release timestamp, in nanoseconds and in the same time base as + System.nanoTime().
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoListener.html new file mode 100644 index 0000000000..855eb05c89 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoListener.html @@ -0,0 +1,318 @@ + + + + +VideoListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface VideoListener

      +
      +
      +
      +
        +
      • +
        +
        public interface VideoListener
        +
        A listener for metadata corresponding to video being rendered.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Default Methods 
          Modifier and TypeMethodDescription
          default voidonRenderedFirstFrame() +
          Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
          +
          default voidonSurfaceSizeChanged​(int width, + int height) +
          Called each time there's a change in the size of the surface onto which the video is being + rendered.
          +
          default voidonVideoSizeChanged​(int width, + int height, + int unappliedRotationDegrees, + float pixelWidthHeightRatio) +
          Called each time there's a change in the size of the video being rendered.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onVideoSizeChanged

            +
            default void onVideoSizeChanged​(int width,
            +                                int height,
            +                                int unappliedRotationDegrees,
            +                                float pixelWidthHeightRatio)
            +
            Called each time there's a change in the size of the video being rendered.
            +
            +
            Parameters:
            +
            width - The video width in pixels.
            +
            height - The video height in pixels.
            +
            unappliedRotationDegrees - For videos that require a rotation, this is the clockwise + rotation in degrees that the application should apply for the video for it to be rendered + in the correct orientation. This value will always be zero on API levels 21 and above, + since the renderer will apply all necessary rotations internally. On earlier API levels + this is not possible. Applications that use TextureView can apply the + rotation by calling TextureView.setTransform(android.graphics.Matrix). Applications that do not + expect to encounter rotated videos can safely ignore this parameter.
            +
            pixelWidthHeightRatio - The width to height ratio of each pixel. For the normal case of + square pixels this will be equal to 1.0. Different values are indicative of anamorphic + content.
            +
            +
          • +
          + + + +
            +
          • +

            onSurfaceSizeChanged

            +
            default void onSurfaceSizeChanged​(int width,
            +                                  int height)
            +
            Called each time there's a change in the size of the surface onto which the video is being + rendered.
            +
            +
            Parameters:
            +
            width - The surface width in pixels. May be C.LENGTH_UNSET if unknown, or 0 if the + video is not rendered onto a surface.
            +
            height - The surface height in pixels. May be C.LENGTH_UNSET if unknown, or 0 if + the video is not rendered onto a surface.
            +
            +
          • +
          + + + +
            +
          • +

            onRenderedFirstFrame

            +
            default void onRenderedFirstFrame()
            +
            Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.EventDispatcher.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.EventDispatcher.html new file mode 100644 index 0000000000..c962631bd9 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.EventDispatcher.html @@ -0,0 +1,472 @@ + + + + +VideoRendererEventListener.EventDispatcher (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class VideoRendererEventListener.EventDispatcher

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
        • +
        +
      • +
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.html new file mode 100644 index 0000000000..9b903f6faa --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/VideoRendererEventListener.html @@ -0,0 +1,531 @@ + + + + +VideoRendererEventListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface VideoRendererEventListener

      +
      +
      +
      +
        +
      • +
        +
        All Known Implementing Classes:
        +
        AnalyticsCollector
        +
        +
        +
        public interface VideoRendererEventListener
        +
        Listener of video Renderer events. All methods have no-op default implementations to + allow selective overrides.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onVideoEnabled

            +
            default void onVideoEnabled​(DecoderCounters counters)
            +
            Called when the renderer is enabled.
            +
            +
            Parameters:
            +
            counters - DecoderCounters that will be updated by the renderer for as long as it + remains enabled.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoDecoderInitialized

            +
            default void onVideoDecoderInitialized​(String decoderName,
            +                                       long initializedTimestampMs,
            +                                       long initializationDurationMs)
            +
            Called when a decoder is created.
            +
            +
            Parameters:
            +
            decoderName - The decoder that was created.
            +
            initializedTimestampMs - SystemClock.elapsedRealtime() when initialization + finished.
            +
            initializationDurationMs - The time taken to initialize the decoder in milliseconds.
            +
            +
          • +
          + + + + + + + +
            +
          • +

            onVideoInputFormatChanged

            +
            default void onVideoInputFormatChanged​(Format format,
            +                                       @Nullable
            +                                       DecoderReuseEvaluation decoderReuseEvaluation)
            +
            Called when the format of the media being consumed by the renderer changes.
            +
            +
            Parameters:
            +
            format - The new format.
            +
            decoderReuseEvaluation - The result of the evaluation to determine whether an existing + decoder instance can be reused for the new format, or null if the renderer did not + have a decoder.
            +
            +
          • +
          + + + +
            +
          • +

            onDroppedFrames

            +
            default void onDroppedFrames​(int count,
            +                             long elapsedMs)
            +
            Called to report the number of frames dropped by the renderer. Dropped frames are reported + whenever the renderer is stopped having dropped frames, and optionally, whenever the count + reaches a specified threshold whilst the renderer is started.
            +
            +
            Parameters:
            +
            count - The number of dropped frames.
            +
            elapsedMs - The duration in milliseconds over which the frames were dropped. This duration + is timed from when the renderer was started or from when dropped frames were last reported + (whichever was more recent), and not from when the first of the reported drops occurred.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoFrameProcessingOffset

            +
            default void onVideoFrameProcessingOffset​(long totalProcessingOffsetUs,
            +                                          int frameCount)
            +
            Called to report the video processing offset of video frames processed by the video renderer. + +

            Video processing offset represents how early a video frame is processed compared to the + player's current position. For each video frame, the offset is calculated as Pvf + - Ppl where Pvf is the presentation timestamp of the video + frame and Ppl is the current position of the player. Positive values + indicate the frame was processed early enough whereas negative values indicate that the + player's position had progressed beyond the frame's timestamp when the frame was processed (and + the frame was probably dropped). + +

            The renderer reports the sum of video processing offset samples (one sample per processed + video frame: dropped, skipped or rendered) and the total number of samples.

            +
            +
            Parameters:
            +
            totalProcessingOffsetUs - The sum of all video frame processing offset samples for the + video frames processed by the renderer in microseconds.
            +
            frameCount - The number of samples included in the totalProcessingOffsetUs.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoSizeChanged

            +
            default void onVideoSizeChanged​(int width,
            +                                int height,
            +                                int unappliedRotationDegrees,
            +                                float pixelWidthHeightRatio)
            +
            Called before a frame is rendered for the first time since setting the surface, and each time + there's a change in the size, rotation or pixel aspect ratio of the video being rendered.
            +
            +
            Parameters:
            +
            width - The video width in pixels.
            +
            height - The video height in pixels.
            +
            unappliedRotationDegrees - For videos that require a rotation, this is the clockwise + rotation in degrees that the application should apply for the video for it to be rendered + in the correct orientation. This value will always be zero on API levels 21 and above, + since the renderer will apply all necessary rotations internally. On earlier API levels + this is not possible. Applications that use TextureView can apply the rotation by + calling TextureView.setTransform(android.graphics.Matrix). Applications that do not expect to encounter + rotated videos can safely ignore this parameter.
            +
            pixelWidthHeightRatio - The width to height ratio of each pixel. For the normal case of + square pixels this will be equal to 1.0. Different values are indicative of anamorphic + content.
            +
            +
          • +
          + + + +
            +
          • +

            onRenderedFirstFrame

            +
            default void onRenderedFirstFrame​(@Nullable
            +                                  Surface surface)
            +
            Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
            +
            +
            Parameters:
            +
            surface - The Surface to which a first frame has been rendered, or null if + the renderer renders to something that isn't a Surface.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoDecoderReleased

            +
            default void onVideoDecoderReleased​(String decoderName)
            +
            Called when a decoder is released.
            +
            +
            Parameters:
            +
            decoderName - The decoder that was released.
            +
            +
          • +
          + + + +
            +
          • +

            onVideoDisabled

            +
            default void onVideoDisabled​(DecoderCounters counters)
            +
            Called when the renderer is disabled.
            +
            +
            Parameters:
            +
            counters - DecoderCounters that were updated by the renderer.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-frame.html new file mode 100644 index 0000000000..6ae91641d6 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-frame.html @@ -0,0 +1,50 @@ + + + + +com.google.android.exoplayer2.video (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.video

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-summary.html new file mode 100644 index 0000000000..7a29fc1ff1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-summary.html @@ -0,0 +1,290 @@ + + + + +com.google.android.exoplayer2.video (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.video

      +
      +
      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-tree.html new file mode 100644 index 0000000000..3c9cd83092 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/package-tree.html @@ -0,0 +1,233 @@ + + + + +com.google.android.exoplayer2.video Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.video

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionListener.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionListener.html new file mode 100644 index 0000000000..ef26bef17f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionListener.html @@ -0,0 +1,275 @@ + + + + +CameraMotionListener (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Interface CameraMotionListener

      +
      +
      +
      +
        +
      • +
        +
        public interface CameraMotionListener
        +
        Listens camera motion.
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Summary

          + + + + + + + + + + + + + + + + + +
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethodDescription
          voidonCameraMotion​(long timeUs, + float[] rotation) +
          Called when a new camera motion is read.
          +
          voidonCameraMotionReset() +
          Called when the camera motion track position is reset or the track is disabled.
          +
          +
        • +
        +
      • +
      +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            onCameraMotion

            +
            void onCameraMotion​(long timeUs,
            +                    float[] rotation)
            +
            Called when a new camera motion is read. This method is called on the playback thread.
            +
            +
            Parameters:
            +
            timeUs - The presentation time of the data.
            +
            rotation - Angle axis orientation in radians representing the rotation from camera + coordinate system to world coordinate system.
            +
            +
          • +
          + + + +
            +
          • +

            onCameraMotionReset

            +
            void onCameraMotionReset()
            +
            Called when the camera motion track position is reset or the track is disabled.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.html new file mode 100644 index 0000000000..389f5580fc --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.html @@ -0,0 +1,633 @@ + + + + +CameraMotionRenderer (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class CameraMotionRenderer

      +
      +
      + +
      + +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            CameraMotionRenderer

            +
            public CameraMotionRenderer()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getName

            +
            public String getName()
            +
            Description copied from interface: Renderer
            +
            Returns the name of this renderer, for logging and debugging purposes. Should typically be the + renderer's (un-obfuscated) class name.
            +
            +
            Returns:
            +
            The name of this renderer.
            +
            +
          • +
          + + + + + + + + + + + +
            +
          • +

            onStreamChanged

            +
            protected void onStreamChanged​(Format[] formats,
            +                               long startPositionUs,
            +                               long offsetUs)
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer's stream has changed. This occurs when the renderer is enabled after + BaseRenderer.onEnabled(boolean, boolean) has been called, and also when the stream has been + replaced whilst the renderer is enabled or started. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onStreamChanged in class BaseRenderer
            +
            Parameters:
            +
            formats - The enabled formats.
            +
            startPositionUs - The start position of the new stream in renderer time (microseconds).
            +
            offsetUs - The offset that will be added to the timestamps of buffers read via BaseRenderer.readSource(FormatHolder, DecoderInputBuffer, boolean) so that decoder input buffers have + monotonically increasing timestamps.
            +
            +
          • +
          + + + +
            +
          • +

            onPositionReset

            +
            protected void onPositionReset​(long positionUs,
            +                               boolean joining)
            +
            Description copied from class: BaseRenderer
            +
            Called when the position is reset. This occurs when the renderer is enabled after BaseRenderer.onStreamChanged(Format[], long, long) has been called, and also when a position discontinuity + is encountered. + +

            After a position reset, the renderer's SampleStream is guaranteed to provide samples + starting from a key frame. + +

            The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onPositionReset in class BaseRenderer
            +
            Parameters:
            +
            positionUs - The new playback position in microseconds.
            +
            joining - Whether this renderer is being enabled to join an ongoing playback.
            +
            +
          • +
          + + + +
            +
          • +

            onDisabled

            +
            protected void onDisabled()
            +
            Description copied from class: BaseRenderer
            +
            Called when the renderer is disabled. +

            + The default implementation is a no-op.

            +
            +
            Overrides:
            +
            onDisabled in class BaseRenderer
            +
            +
          • +
          + + + + + + + +
            +
          • +

            isEnded

            +
            public boolean isEnded()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED. The player will make this transition as soon as true is returned + by all of its renderers. + +

            This method may be called when the renderer is in the following states: Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready for the player to transition to the ended state.
            +
            +
          • +
          + + + +
            +
          • +

            isReady

            +
            public boolean isReady()
            +
            Description copied from interface: Renderer
            +
            Whether the renderer is able to immediately render media from the current position. +

            + If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the + renderer has everything that it needs to continue playback. Returning false indicates that + the player should pause until the renderer is ready. +

            + If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the + renderer is ready for playback to be started. Returning false indicates that it is not. +

            + This method may be called when the renderer is in the following states: + Renderer.STATE_ENABLED, Renderer.STATE_STARTED.

            +
            +
            Returns:
            +
            Whether the renderer is ready to render media.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/FrameRotationQueue.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/FrameRotationQueue.html new file mode 100644 index 0000000000..356819f639 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/FrameRotationQueue.html @@ -0,0 +1,387 @@ + + + + +FrameRotationQueue (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class FrameRotationQueue

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.spherical.FrameRotationQueue
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class FrameRotationQueue
        +extends Object
        +
        This class serves multiple purposes: + +
          +
        • Queues the rotation metadata extracted from camera motion track. +
        • Converts the metadata to rotation matrices in OpenGl coordinate system. +
        • Recenters the rotations to componsate the yaw of the initial rotation. +
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            FrameRotationQueue

            +
            public FrameRotationQueue()
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            setRotation

            +
            public void setRotation​(long timestampUs,
            +                        float[] angleAxis)
            +
            Sets a rotation for a given timestamp.
            +
            +
            Parameters:
            +
            timestampUs - Timestamp of the rotation.
            +
            angleAxis - Angle axis orientation in radians representing the rotation from camera + coordinate system to world coordinate system.
            +
            +
          • +
          + + + +
            +
          • +

            reset

            +
            public void reset()
            +
            Removes all of the rotations and forces rotations to be recentered.
            +
          • +
          + + + +
            +
          • +

            pollRotationMatrix

            +
            public boolean pollRotationMatrix​(float[] matrix,
            +                                  long timestampUs)
            +
            Copies the rotation matrix with the greatest timestamp which is less than or equal to the given + timestamp to matrix. Removes all older rotations and the returned one from the queue. + Does nothing if there is no such rotation.
            +
            +
            Parameters:
            +
            matrix - The rotation matrix.
            +
            timestampUs - The time in microseconds to query the rotation.
            +
            Returns:
            +
            Whether a rotation matrix is copied to matrix.
            +
            +
          • +
          + + + +
            +
          • +

            computeRecenterMatrix

            +
            public static void computeRecenterMatrix​(float[] recenterMatrix,
            +                                         float[] rotationMatrix)
            +
            Computes a recentering matrix from the given angle-axis rotation only accounting for yaw. Roll + and tilt will not be compensated.
            +
            +
            Parameters:
            +
            recenterMatrix - The recenter matrix.
            +
            rotationMatrix - The rotation matrix.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.DrawMode.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.DrawMode.html new file mode 100644 index 0000000000..c163799563 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.DrawMode.html @@ -0,0 +1,189 @@ + + + + +Projection.DrawMode (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Annotation Type Projection.DrawMode

      +
      +
      +
      + +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.Mesh.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.Mesh.html new file mode 100644 index 0000000000..cc94bfe375 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.Mesh.html @@ -0,0 +1,323 @@ + + + + +Projection.Mesh (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Projection.Mesh

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.spherical.Projection.Mesh
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Projection
        +
        +
        +
        public static final class Projection.Mesh
        +extends Object
        +
        A Mesh associated with the projection scene.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + + + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getSubMeshCount

            +
            public int getSubMeshCount()
            +
            Returns the number of sub meshes.
            +
          • +
          + + + +
            +
          • +

            getSubMesh

            +
            public Projection.SubMesh getSubMesh​(int index)
            +
            Returns the SubMesh for the given index.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.SubMesh.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.SubMesh.html new file mode 100644 index 0000000000..37dc53ae8b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.SubMesh.html @@ -0,0 +1,427 @@ + + + + +Projection.SubMesh (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Projection.SubMesh

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.spherical.Projection.SubMesh
        • +
        +
      • +
      +
      +
        +
      • +
        +
        Enclosing class:
        +
        Projection
        +
        +
        +
        public static final class Projection.SubMesh
        +extends Object
        +
        The sub mesh associated with the Projection.Mesh.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            VIDEO_TEXTURE_ID

            +
            public static final int VIDEO_TEXTURE_ID
            +
            Texture ID for video frames.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            textureId

            +
            public final int textureId
            +
            Texture ID.
            +
          • +
          + + + + + + + +
            +
          • +

            vertices

            +
            public final float[] vertices
            +
            The SubMesh vertices.
            +
          • +
          + + + +
            +
          • +

            textureCoords

            +
            public final float[] textureCoords
            +
            The SubMesh texture coordinates.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            SubMesh

            +
            public SubMesh​(int textureId,
            +               float[] vertices,
            +               float[] textureCoords,
            +               @DrawMode
            +               int mode)
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            getVertexCount

            +
            public int getVertexCount()
            +
            Returns the SubMesh vertex count.
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.html new file mode 100644 index 0000000000..fea673f92b --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/Projection.html @@ -0,0 +1,621 @@ + + + + +Projection (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class Projection

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.spherical.Projection
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class Projection
        +extends Object
        +
        The projection mesh used with 360/VR videos.
        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Field Detail

          + + + +
            +
          • +

            DRAW_MODE_TRIANGLES

            +
            public static final int DRAW_MODE_TRIANGLES
            +
            Triangle draw mode.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DRAW_MODE_TRIANGLES_STRIP

            +
            public static final int DRAW_MODE_TRIANGLES_STRIP
            +
            Triangle strip draw mode.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            DRAW_MODE_TRIANGLES_FAN

            +
            public static final int DRAW_MODE_TRIANGLES_FAN
            +
            Triangle fan draw mode.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            TEXTURE_COORDS_PER_VERTEX

            +
            public static final int TEXTURE_COORDS_PER_VERTEX
            +
            Number of position coordinates per vertex.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            POSITION_COORDS_PER_VERTEX

            +
            public static final int POSITION_COORDS_PER_VERTEX
            +
            Number of texture coordinates per vertex.
            +
            +
            See Also:
            +
            Constant Field Values
            +
            +
          • +
          + + + +
            +
          • +

            leftMesh

            +
            public final Projection.Mesh leftMesh
            +
            The Mesh corresponding to the left eye.
            +
          • +
          + + + +
            +
          • +

            rightMesh

            +
            public final Projection.Mesh rightMesh
            +
            The Mesh corresponding to the right eye. If singleMesh is true then this mesh is + identical to leftMesh.
            +
          • +
          + + + +
            +
          • +

            stereoMode

            +
            @StereoMode
            +public final int stereoMode
            +
            The stereo mode.
            +
          • +
          + + + +
            +
          • +

            singleMesh

            +
            public final boolean singleMesh
            +
            Whether the left and right mesh are identical.
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Constructor Detail

          + + + +
            +
          • +

            Projection

            +
            public Projection​(Projection.Mesh mesh,
            +                  int stereoMode)
            +
            Creates a Projection with single mesh.
            +
            +
            Parameters:
            +
            mesh - the Mesh for both eyes.
            +
            stereoMode - A C.StereoMode value.
            +
            +
          • +
          + + + +
            +
          • +

            Projection

            +
            public Projection​(Projection.Mesh leftMesh,
            +                  Projection.Mesh rightMesh,
            +                  int stereoMode)
            +
            Creates a Projection with dual mesh. Use Projection(Mesh, int) if there is single mesh + for both eyes.
            +
            +
            Parameters:
            +
            leftMesh - the Mesh corresponding to the left eye.
            +
            rightMesh - the Mesh corresponding to the right eye.
            +
            stereoMode - A C.StereoMode value.
            +
            +
          • +
          +
        • +
        + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            createEquirectangular

            +
            public static Projection createEquirectangular​(@StereoMode
            +                                               int stereoMode)
            +
            Generates a complete sphere equirectangular projection.
            +
            +
            Parameters:
            +
            stereoMode - A C.StereoMode value.
            +
            +
          • +
          + + + +
            +
          • +

            createEquirectangular

            +
            public static Projection createEquirectangular​(float radius,
            +                                               int latitudes,
            +                                               int longitudes,
            +                                               float verticalFovDegrees,
            +                                               float horizontalFovDegrees,
            +                                               @StereoMode
            +                                               int stereoMode)
            +
            Generates an equirectangular projection.
            +
            +
            Parameters:
            +
            radius - Size of the sphere. Must be > 0.
            +
            latitudes - Number of rows that make up the sphere. Must be >= 1.
            +
            longitudes - Number of columns that make up the sphere. Must be >= 1.
            +
            verticalFovDegrees - Total latitudinal degrees that are covered by the sphere. Must be in + (0, 180].
            +
            horizontalFovDegrees - Total longitudinal degrees that are covered by the sphere.Must be + in (0, 360].
            +
            stereoMode - A C.StereoMode value.
            +
            Returns:
            +
            an equirectangular projection.
            +
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/ProjectionDecoder.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/ProjectionDecoder.html new file mode 100644 index 0000000000..0239a4adb1 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/ProjectionDecoder.html @@ -0,0 +1,272 @@ + + + + +ProjectionDecoder (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + + +
      + +

      Class ProjectionDecoder

      +
      +
      +
        +
      • java.lang.Object
      • +
      • +
          +
        • com.google.android.exoplayer2.video.spherical.ProjectionDecoder
        • +
        +
      • +
      +
      +
        +
      • +
        +
        public final class ProjectionDecoder
        +extends Object
        +
        A decoder for the projection mesh. + +

        The mesh boxes parsed are described at + Spherical Video V2 RFC. + +

        The decoder does not perform CRC checks at the moment.

        +
      • +
      +
      +
      + +
      +
      +
        +
      • + +
          +
        • + + +

          Method Detail

          + + + +
            +
          • +

            decode

            +
            @Nullable
            +public static Projection decode​(byte[] projectionData,
            +                                @StereoMode
            +                                int stereoMode)
            +
          • +
          +
        • +
        +
      • +
      +
      +
      + + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-frame.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-frame.html new file mode 100644 index 0000000000..3a1c727e8f --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-frame.html @@ -0,0 +1,40 @@ + + + + +com.google.android.exoplayer2.video.spherical (ExoPlayer library) + + + + + + + + + + + +

      com.google.android.exoplayer2.video.spherical

      + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-summary.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-summary.html new file mode 100644 index 0000000000..f14711f0b3 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-summary.html @@ -0,0 +1,235 @@ + + + + +com.google.android.exoplayer2.video.spherical (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Package com.google.android.exoplayer2.video.spherical

      +
      +
      +
        +
      • + + + + + + + + + + + + +
        Interface Summary 
        InterfaceDescription
        CameraMotionListener +
        Listens camera motion.
        +
        +
      • +
      • + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        Class Summary 
        ClassDescription
        CameraMotionRenderer +
        A Renderer that parses the camera motion track.
        +
        FrameRotationQueue +
        This class serves multiple purposes: + + + Queues the rotation metadata extracted from camera motion track.
        +
        Projection +
        The projection mesh used with 360/VR videos.
        +
        Projection.Mesh +
        A Mesh associated with the projection scene.
        +
        Projection.SubMesh +
        The sub mesh associated with the Projection.Mesh.
        +
        ProjectionDecoder +
        A decoder for the projection mesh.
        +
        +
      • +
      • + + + + + + + + + + + + +
        Annotation Types Summary 
        Annotation TypeDescription
        Projection.DrawMode +
        Enforces allowed (sub) mesh draw modes.
        +
        +
      • +
      +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-tree.html b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-tree.html new file mode 100644 index 0000000000..fffa9a0988 --- /dev/null +++ b/docs/gh-pages/docs/reference/com/google/android/exoplayer2/video/spherical/package-tree.html @@ -0,0 +1,178 @@ + + + + +com.google.android.exoplayer2.video.spherical Class Hierarchy (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Hierarchy For Package com.google.android.exoplayer2.video.spherical

      +Package Hierarchies: + +
      +
      +

      Class Hierarchy

      + +

      Interface Hierarchy

      + +

      Annotation Type Hierarchy

      + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/constant-values.html b/docs/gh-pages/docs/reference/constant-values.html new file mode 100644 index 0000000000..1d89fa8480 --- /dev/null +++ b/docs/gh-pages/docs/reference/constant-values.html @@ -0,0 +1,9060 @@ + + + + +Constant Field Values (ExoPlayer library) + + + + + + + + + + + + + +
      + + + + +
      + + +
      +

      Constant Field Values

      +

      Contents

      + +
      +
      + + +

      com.google.*

      + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.ApicFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"APIC"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.ChapterFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"CHAP"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.ChapterTocFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"CTOC"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.CommentFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"COMM"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.GeobFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"GEOB"
        +
      • +
      • + + + + + + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.Id3Decoder 
        Modifier and TypeConstant FieldValue
        + +public static final intID3_HEADER_LENGTH10
        + +public static final intID3_TAG4801587
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.InternalFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"----"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.MlltFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"MLLT"
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.metadata.id3.PrivFrame 
        Modifier and TypeConstant FieldValue
        + +public static final StringID"PRIV"
        +
      • +
      + + +
        +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.robolectric.RobolectricUtil 
        Modifier and TypeConstant FieldValue
        + +public static final longDEFAULT_TIMEOUT_MS10000L
        +
      • +
      + + + + +
        +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.source.dash.manifest.AdaptationSet 
        Modifier and TypeConstant FieldValue
        + +public static final intID_UNSET-1
        +
      • +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.source.dash.manifest.Representation 
        Modifier and TypeConstant FieldValue
        + +public static final longREVISION_ID_DEFAULT-1L
        +
      • +
      + + + + +
        +
      • + + + + + + + + + + + + + + +
        com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest 
        Modifier and TypeConstant FieldValue
        + +public static final intUNSET_LOOKAHEAD-1
        +
      • +
      + + + + + + + + + + + + + +
      + + + + + + diff --git a/docs/gh-pages/docs/reference/deprecated-list.html b/docs/gh-pages/docs/reference/deprecated-list.html new file mode 100644 index 0000000000..c69f773c8b --- /dev/null +++ b/docs/gh-pages/docs/reference/deprecated-list.html @@ -0,0 +1,1620 @@ + + + + +Deprecated List (ExoPlayer library) + + + + + + + + + + + + + +
      + +
      + + + + + + + +
      + + +
      + + +
      +

      Deprecated API

      +

      Contents

      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + + + + +
      + + + + diff --git a/docs/gh-pages/docs/reference/element-list b/docs/gh-pages/docs/reference/element-list new file mode 100644 index 0000000000..e93cf70b7a --- /dev/null +++ b/docs/gh-pages/docs/reference/element-list @@ -0,0 +1,82 @@ +com.google.android.exoplayer2 +com.google.android.exoplayer2.analytics +com.google.android.exoplayer2.audio +com.google.android.exoplayer2.database +com.google.android.exoplayer2.decoder +com.google.android.exoplayer2.device +com.google.android.exoplayer2.drm +com.google.android.exoplayer2.ext.av1 +com.google.android.exoplayer2.ext.cast +com.google.android.exoplayer2.ext.cronet +com.google.android.exoplayer2.ext.ffmpeg +com.google.android.exoplayer2.ext.flac +com.google.android.exoplayer2.ext.gvr +com.google.android.exoplayer2.ext.ima +com.google.android.exoplayer2.ext.jobdispatcher +com.google.android.exoplayer2.ext.leanback +com.google.android.exoplayer2.ext.media2 +com.google.android.exoplayer2.ext.mediasession +com.google.android.exoplayer2.ext.okhttp +com.google.android.exoplayer2.ext.opus +com.google.android.exoplayer2.ext.rtmp +com.google.android.exoplayer2.ext.vp9 +com.google.android.exoplayer2.ext.workmanager +com.google.android.exoplayer2.extractor +com.google.android.exoplayer2.extractor.amr +com.google.android.exoplayer2.extractor.flac +com.google.android.exoplayer2.extractor.flv +com.google.android.exoplayer2.extractor.jpeg +com.google.android.exoplayer2.extractor.mkv +com.google.android.exoplayer2.extractor.mp3 +com.google.android.exoplayer2.extractor.mp4 +com.google.android.exoplayer2.extractor.ogg +com.google.android.exoplayer2.extractor.rawcc +com.google.android.exoplayer2.extractor.ts +com.google.android.exoplayer2.extractor.wav +com.google.android.exoplayer2.mediacodec +com.google.android.exoplayer2.metadata +com.google.android.exoplayer2.metadata.dvbsi +com.google.android.exoplayer2.metadata.emsg +com.google.android.exoplayer2.metadata.flac +com.google.android.exoplayer2.metadata.icy +com.google.android.exoplayer2.metadata.id3 +com.google.android.exoplayer2.metadata.mp4 +com.google.android.exoplayer2.metadata.scte35 +com.google.android.exoplayer2.offline +com.google.android.exoplayer2.robolectric +com.google.android.exoplayer2.scheduler +com.google.android.exoplayer2.source +com.google.android.exoplayer2.source.ads +com.google.android.exoplayer2.source.chunk +com.google.android.exoplayer2.source.dash +com.google.android.exoplayer2.source.dash.manifest +com.google.android.exoplayer2.source.dash.offline +com.google.android.exoplayer2.source.hls +com.google.android.exoplayer2.source.hls.offline +com.google.android.exoplayer2.source.hls.playlist +com.google.android.exoplayer2.source.mediaparser +com.google.android.exoplayer2.source.smoothstreaming +com.google.android.exoplayer2.source.smoothstreaming.manifest +com.google.android.exoplayer2.source.smoothstreaming.offline +com.google.android.exoplayer2.testutil +com.google.android.exoplayer2.testutil.truth +com.google.android.exoplayer2.text +com.google.android.exoplayer2.text.cea +com.google.android.exoplayer2.text.dvb +com.google.android.exoplayer2.text.pgs +com.google.android.exoplayer2.text.span +com.google.android.exoplayer2.text.ssa +com.google.android.exoplayer2.text.subrip +com.google.android.exoplayer2.text.ttml +com.google.android.exoplayer2.text.tx3g +com.google.android.exoplayer2.text.webvtt +com.google.android.exoplayer2.trackselection +com.google.android.exoplayer2.transformer +com.google.android.exoplayer2.ui +com.google.android.exoplayer2.ui.spherical +com.google.android.exoplayer2.upstream +com.google.android.exoplayer2.upstream.cache +com.google.android.exoplayer2.upstream.crypto +com.google.android.exoplayer2.util +com.google.android.exoplayer2.video +com.google.android.exoplayer2.video.spherical diff --git a/docs/gh-pages/docs/reference/help-doc.html b/docs/gh-pages/docs/reference/help-doc.html new file mode 100644 index 0000000000..fb867495d2 --- /dev/null +++ b/docs/gh-pages/docs/reference/help-doc.html @@ -0,0 +1,249 @@ + + + + +API Help (ExoPlayer library) + + + + + + + + + + + + + +
      + +
      + + + + + + + +
      + + +
      + + +
      +

      How This API Document Is Organized

      +
      This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
      +
      +
      +
        +
      • +

        Overview

        +

        The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

        +
      • +
      • +

        Package

        +

        Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

        +
          +
        • Interfaces (italic)
        • +
        • Classes
        • +
        • Enums
        • +
        • Exceptions
        • +
        • Errors
        • +
        • Annotation Types
        • +
        +
      • +
      • +

        Class/Interface

        +

        Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

        +
          +
        • Class inheritance diagram
        • +
        • Direct Subclasses
        • +
        • All Known Subinterfaces
        • +
        • All Known Implementing Classes
        • +
        • Class/interface declaration
        • +
        • Class/interface description
        • +
        +
          +
        • Nested Class Summary
        • +
        • Field Summary
        • +
        • Constructor Summary
        • +
        • Method Summary
        • +
        +
          +
        • Field Detail
        • +
        • Constructor Detail
        • +
        • Method Detail
        • +
        +

        Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

        +
      • +
      • +

        Annotation Type

        +

        Each annotation type has its own separate page with the following sections:

        +
          +
        • Annotation Type declaration
        • +
        • Annotation Type description
        • +
        • Required Element Summary
        • +
        • Optional Element Summary
        • +
        • Element Detail
        • +
        +
      • +
      • +

        Enum

        +

        Each enum has its own separate page with the following sections:

        +
          +
        • Enum declaration
        • +
        • Enum description
        • +
        • Enum Constant Summary
        • +
        • Enum Constant Detail
        • +
        +
      • +
      • +

        Tree (Class Hierarchy)

        +

        There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

        +
          +
        • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
        • +
        • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
        • +
        +
      • +
      • +

        Deprecated API

        +

        The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

        +
      • +
      • +

        Index

        +

        The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

        +
      • +
      • +

        Prev/Next

        +

        These links take you to the next or previous class, interface, package, or related page.

        +
      • +
      • +

        Frames/No Frames

        +

        These links show and hide the HTML frames. All pages are available with or without frames.

        +
      • +
      • +

        All Classes

        +

        The All Classes link shows all classes and interfaces except non-static nested types.

        +
      • +
      • +

        Serialized Form

        +

        Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

        +
      • +
      • +

        Constant Field Values

        +

        The Constant Field Values page lists the static final fields and their values.

        +
      • +
      +This help file applies to API documentation generated using the standard doclet.
      + +
      + + + + + + + +
      + + + + diff --git a/docs/gh-pages/docs/reference/index-all.html b/docs/gh-pages/docs/reference/index-all.html new file mode 100644 index 0000000000..ba8e457e75 --- /dev/null +++ b/docs/gh-pages/docs/reference/index-all.html @@ -0,0 +1,36046 @@ + + + + +Index (ExoPlayer library) + + + + + + + + + + + + + +
      + +
      + + + + + + + +
      + + +
      + + +
      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  + + +

      A

      +
      +
      AAC_ELD_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Maximum rate for an AAC ELD audio stream, in bytes per second.
      +
      +
      AAC_HE_AUDIO_SAMPLE_COUNT - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Number of raw audio samples that are produced per channel when decoding an AAC HE access unit.
      +
      +
      AAC_HE_V1_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Maximum rate for an AAC HE V1 audio stream, in bytes per second.
      +
      +
      AAC_HE_V2_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Maximum rate for an AAC HE V2 audio stream, in bytes per second.
      +
      +
      AAC_LC_AUDIO_SAMPLE_COUNT - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Number of raw audio samples that are produced per channel when decoding an AAC LC access unit.
      +
      +
      AAC_LC_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Maximum rate for an AAC LC audio stream, in bytes per second.
      +
      +
      AAC_LD_AUDIO_SAMPLE_COUNT - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Number of raw audio samples that are produced per channel when decoding an AAC LD access unit.
      +
      +
      AAC_XHE_AUDIO_SAMPLE_COUNT - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Number of raw audio samples that are produced per channel when decoding an AAC XHE access unit.
      +
      +
      AAC_XHE_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Maximum rate for an AAC XHE audio stream, in bytes per second.
      +
      +
      AacUtil - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for handling AAC audio streams.
      +
      +
      AacUtil.AacAudioObjectType - Annotation Type in com.google.android.exoplayer2.audio
      +
      +
      Valid AAC Audio object types.
      +
      +
      AacUtil.Config - Class in com.google.android.exoplayer2.audio
      +
      +
      Holds sample format information for AAC audio.
      +
      +
      abandonedBeforeReadyCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks which were abandoned before they were ready to play.
      +
      +
      absoluteStreamPosition - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. +
      Use DataSpec.position except for specific use cases where the absolute position + within the resource is required within a DataSource chain. Where the absolute + position is required, use uriPositionOffset + position.
      +
      +
      +
      AbstractConcatenatedTimeline - Class in com.google.android.exoplayer2
      +
      +
      Abstract base class for the concatenation of one or more Timelines.
      +
      +
      AbstractConcatenatedTimeline(boolean, ShuffleOrder) - Constructor for class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Sets up a concatenated timeline with a shuffle order of child timelines.
      +
      +
      AC3 - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the AC-3 and E-AC-3 formats.
      +
      +
      AC3_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Maximum rate for an AC-3 audio stream, in bytes per second.
      +
      +
      Ac3Extractor - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts data from (E-)AC-3 bitstreams.
      +
      +
      Ac3Extractor() - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
      +
      Creates a new extractor for AC-3 bitstreams.
      +
      +
      Ac3Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous (E-)AC-3 byte stream and extracts individual samples.
      +
      +
      Ac3Reader() - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
      +
      Constructs a new reader for (E-)AC-3 elementary streams.
      +
      +
      Ac3Reader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
      +
      Constructs a new reader for (E-)AC-3 elementary streams.
      +
      +
      Ac3Util - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for parsing Dolby TrueHD and (E-)AC-3 syncframes.
      +
      +
      Ac3Util.SyncFrameInfo - Class in com.google.android.exoplayer2.audio
      +
      +
      Holds sample format information as presented by a syncframe header.
      +
      +
      Ac3Util.SyncFrameInfo.StreamType - Annotation Type in com.google.android.exoplayer2.audio
      +
      +
      AC3 stream types.
      +
      +
      AC4 - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the AC-4 format.
      +
      +
      AC40_SYNCWORD - Static variable in class com.google.android.exoplayer2.audio.Ac4Util
      +
       
      +
      AC41_SYNCWORD - Static variable in class com.google.android.exoplayer2.audio.Ac4Util
      +
       
      +
      Ac4Extractor - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts data from AC-4 bitstreams.
      +
      +
      Ac4Extractor() - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
      +
      Creates a new extractor for AC-4 bitstreams.
      +
      +
      Ac4Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous AC-4 byte stream and extracts individual samples.
      +
      +
      Ac4Reader() - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
      +
      Constructs a new reader for AC-4 elementary streams.
      +
      +
      Ac4Reader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
      +
      Constructs a new reader for AC-4 elementary streams.
      +
      +
      Ac4Util - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for parsing AC-4 frames, which are access units in AC-4 bitstreams.
      +
      +
      Ac4Util.SyncFrameInfo - Class in com.google.android.exoplayer2.audio
      +
      +
      Holds sample format information as presented by a syncframe header.
      +
      +
      accept(T) - Method in interface com.google.android.exoplayer2.util.Consumer
      +
      +
      Performs this operation on the given argument.
      +
      +
      acceptConnection(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.AllowedCommandProvider
      +
      +
      Called to query whether to allow connection from the controller.
      +
      +
      acceptConnection(MediaSession, MediaSession.ControllerInfo) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
      +
       
      +
      accessibilityChannel - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The Accessibility channel, or Format.NO_VALUE if not known or applicable.
      +
      +
      accessibilityDescriptors - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      Accessibility descriptors in the adaptation set.
      +
      +
      acquire() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      acquire() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Increments the reference count.
      +
      +
      acquire() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      acquire() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      acquire(DrmSessionEventListener.EventDispatcher) - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Increments the reference count.
      +
      +
      acquire(DrmSessionEventListener.EventDispatcher) - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      acquireExoMediaDrm(UUID) - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.AppManagedProvider
      +
       
      +
      acquireExoMediaDrm(UUID) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm.Provider
      +
      +
      Returns an ExoMediaDrm instance with an incremented reference count.
      +
      +
      acquireSession(Looper, DrmSessionEventListener.EventDispatcher, Format) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
       
      +
      acquireSession(Looper, DrmSessionEventListener.EventDispatcher, Format) - Method in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      +
      Returns a DrmSession for the specified Format, with an incremented reference + count.
      +
      +
      action - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      Action - Class in com.google.android.exoplayer2.testutil
      +
      +
      Base class for actions to perform during playback tests.
      +
      +
      Action(String, String) - Constructor for class com.google.android.exoplayer2.testutil.Action
      +
       
      +
      ACTION_ADD_DOWNLOAD - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Adds a new download.
      +
      +
      ACTION_FAST_FORWARD - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which fast forwards.
      +
      +
      ACTION_INIT - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts a download service to resume any ongoing downloads.
      +
      +
      ACTION_NEXT - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which skips to the next window.
      +
      +
      ACTION_PAUSE - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which pauses playback.
      +
      +
      ACTION_PAUSE_DOWNLOADS - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Pauses all downloads.
      +
      +
      ACTION_PLAY - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which starts playback.
      +
      +
      ACTION_PREVIOUS - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which skips to the previous window.
      +
      +
      ACTION_REMOVE_ALL_DOWNLOADS - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Removes all downloads.
      +
      +
      ACTION_REMOVE_DOWNLOAD - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Removes a download.
      +
      +
      ACTION_RESUME_DOWNLOADS - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Resumes all downloads except those that have a non-zero Download.stopReason.
      +
      +
      ACTION_REWIND - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which rewinds.
      +
      +
      ACTION_SET_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Indicates this session supports the set playback speed command.
      +
      +
      ACTION_SET_REQUIREMENTS - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Sets the requirements that need to be met for downloads to progress.
      +
      +
      ACTION_SET_STOP_REASON - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Sets the stop reason for one or all downloads.
      +
      +
      ACTION_STOP - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The action which stops playback.
      +
      +
      Action.AddMediaItems - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.ClearMediaItems - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.ClearVideoSurface - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.ExecuteRunnable - Class in com.google.android.exoplayer2.testutil
      +
      +
      Calls Runnable.run().
      +
      +
      Action.MoveMediaItem - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.PlayUntilPosition - Class in com.google.android.exoplayer2.testutil
      +
      +
      Schedules a play action to be executed, waits until the player reaches the specified position, + and pauses the player again.
      +
      +
      Action.Prepare - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.RemoveMediaItem - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.RemoveMediaItems - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.Seek - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SendMessages - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetAudioAttributes - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetMediaItems - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetMediaItemsResetPosition - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetPlaybackParameters - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetPlayWhenReady - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetRendererDisabled - Class in com.google.android.exoplayer2.testutil
      +
      +
      Updates the DefaultTrackSelector.Parameters of a DefaultTrackSelector to specify whether the + renderer at a given index should be disabled.
      +
      +
      Action.SetRepeatMode - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetShuffleModeEnabled - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetShuffleOrder - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.SetVideoSurface - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.Stop - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.ThrowPlaybackException - Class in com.google.android.exoplayer2.testutil
      +
      +
      Throws a playback exception on the playback thread.
      +
      +
      Action.WaitForIsLoading - Class in com.google.android.exoplayer2.testutil
      +
      +
      Waits for a specified loading state, returning either immediately or after a call to Player.EventListener.onIsLoadingChanged(boolean).
      +
      +
      Action.WaitForMessage - Class in com.google.android.exoplayer2.testutil
      +
      +
      Waits for a player message to arrive.
      +
      +
      Action.WaitForPendingPlayerCommands - Class in com.google.android.exoplayer2.testutil
      +
      +
      Waits until the player acknowledged all pending player commands.
      +
      +
      Action.WaitForPlaybackState - Class in com.google.android.exoplayer2.testutil
      +
      +
      Waits for a specified playback state, returning either immediately or after a call to Player.EventListener.onPlaybackStateChanged(int).
      +
      +
      Action.WaitForPlayWhenReady - Class in com.google.android.exoplayer2.testutil
      +
      +
      Waits for a specified playWhenReady value, returning either immediately or after a call to + Player.EventListener.onPlayWhenReadyChanged(boolean, int).
      +
      +
      Action.WaitForPositionDiscontinuity - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      Action.WaitForTimelineChanged - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      ActionFileUpgradeUtil - Class in com.google.android.exoplayer2.offline
      +
      +
      Utility class for upgrading legacy action files into DefaultDownloadIndex.
      +
      +
      ActionFileUpgradeUtil.DownloadIdProvider - Interface in com.google.android.exoplayer2.offline
      +
      +
      Provides download IDs during action file upgrade.
      +
      +
      ACTIONS - Static variable in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
       
      +
      ACTIONS - Static variable in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
       
      +
      ActionSchedule - Class in com.google.android.exoplayer2.testutil
      +
      +
      Schedules a sequence of Actions for execution during a test.
      +
      +
      ActionSchedule.Builder - Class in com.google.android.exoplayer2.testutil
      +
      +
      A builder for ActionSchedule instances.
      +
      +
      ActionSchedule.Callback - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Callback to notify listener that the action schedule has finished.
      +
      +
      ActionSchedule.PlayerRunnable - Class in com.google.android.exoplayer2.testutil
      +
      +
      Provides a wrapper for a Runnable which has access to the player.
      +
      +
      ActionSchedule.PlayerTarget - Class in com.google.android.exoplayer2.testutil
      +
      +
      Provides a wrapper for a PlayerMessage.Target which has access to the player when handling messages.
      +
      +
      ActionSchedule.PlayerTarget.Callback - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Callback to be called when message arrives.
      +
      +
      AD_STATE_AVAILABLE - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      State for an ad that has a URL but has not yet been played.
      +
      +
      AD_STATE_ERROR - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      State for an ad that could not be loaded.
      +
      +
      AD_STATE_PLAYED - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      State for an ad that was played in full.
      +
      +
      AD_STATE_SKIPPED - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      State for an ad that was skipped.
      +
      +
      AD_STATE_UNAVAILABLE - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      State for an ad that does not yet have a URL.
      +
      +
      AdaptationCheckpoint(long, long) - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
      +
       
      +
      AdaptationSet - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Represents a set of interchangeable encoded versions of a media content component.
      +
      +
      AdaptationSet(int, int, List<Representation>, List<Descriptor>, List<Descriptor>, List<Descriptor>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
       
      +
      adaptationSets - Variable in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      The adaptation sets belonging to the period.
      +
      +
      adaptive - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports seamless resolution switches.
      +
      +
      ADAPTIVE_NOT_SEAMLESS - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      The Renderer can adapt between formats, but may suffer a brief discontinuity + (~50-100ms) when adaptation occurs.
      +
      +
      ADAPTIVE_NOT_SUPPORTED - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      The Renderer does not support adaptation between formats.
      +
      +
      ADAPTIVE_SEAMLESS - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      The Renderer can seamlessly adapt between formats.
      +
      +
      ADAPTIVE_SUPPORT_MASK - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      AdaptiveTrackSelection - Class in com.google.android.exoplayer2.trackselection
      +
      +
      A bandwidth based adaptive ExoTrackSelection, whose selected track is updated to be the + one of highest quality given the current network conditions and the state of the buffer.
      +
      +
      AdaptiveTrackSelection(TrackGroup, int[], BandwidthMeter) - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      AdaptiveTrackSelection(TrackGroup, int[], BandwidthMeter, long, long, long, float, float, List<AdaptiveTrackSelection.AdaptationCheckpoint>, Clock) - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      AdaptiveTrackSelection.AdaptationCheckpoint - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Checkpoint to determine allocated bandwidth.
      +
      +
      AdaptiveTrackSelection.Factory - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Factory for AdaptiveTrackSelection instances.
      +
      +
      add(int) - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Add a new item to the queue.
      +
      +
      add(int) - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Adds a flag to the set.
      +
      +
      add(int) - Method in class com.google.android.exoplayer2.util.PriorityTaskManager
      +
      +
      Register a new task.
      +
      +
      add(int, MediaDescriptionCompat) - Method in interface com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.QueueDataAdapter
      +
      +
      Adds a MediaDescriptionCompat at the given position.
      +
      +
      add(long) - Method in class com.google.android.exoplayer2.util.LongArray
      +
      +
      Appends a value.
      +
      +
      add(long, V) - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Associates the specified value with the specified timestamp.
      +
      +
      add(Dumper.Dumpable) - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      add(E) - Method in class com.google.android.exoplayer2.util.CopyOnWriteMultiset
      +
      +
      Adds element to the multiset.
      +
      +
      add(String, byte[]) - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      add(String, Object) - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      add(T) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Adds a listener to the set.
      +
      +
      addAnalyticsListener(AnalyticsListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Adds an AnalyticsListener to receive analytics events.
      +
      +
      addAudioLanguagesToSelection(String...) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Convenience method to add selections of tracks for all specified audio languages.
      +
      +
      addAudioListener(AudioListener) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Adds a listener to receive audio events.
      +
      +
      addAudioListener(AudioListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addDeviceListener(DeviceListener) - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Adds a listener to receive device events.
      +
      +
      addDeviceListener(DeviceListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addDownload(DownloadRequest) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Adds a download defined by the given request.
      +
      +
      addDownload(DownloadRequest, int) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Adds a download defined by the given request and with the specified stop reason.
      +
      +
      addDrmEventListener(Handler, DrmSessionEventListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      addDrmEventListener(Handler, DrmSessionEventListener) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Adds a DrmSessionEventListener to the list of listeners which are notified of DRM + events for this media source.
      +
      +
      addEventListener(Handler, DrmSessionEventListener) - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      Adds a listener to the event dispatcher.
      +
      +
      addEventListener(Handler, MediaSourceEventListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      addEventListener(Handler, MediaSourceEventListener) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Adds a MediaSourceEventListener to the list of listeners which are notified of media + source events.
      +
      +
      addEventListener(Handler, MediaSourceEventListener) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      Adds a listener to the event dispatcher.
      +
      +
      addEventListener(Handler, BandwidthMeter.EventListener) - Method in interface com.google.android.exoplayer2.upstream.BandwidthMeter
      +
      + +
      +
      addEventListener(Handler, BandwidthMeter.EventListener) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      addFlag(int) - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Adds the flag to this buffer's flags.
      +
      +
      addHandlerMessageAtTime(HandlerWrapper, int, long) - Method in class com.google.android.exoplayer2.testutil.AutoAdvancingFakeClock
      +
       
      +
      addHandlerMessageAtTime(HandlerWrapper, int, long) - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
      +
      Adds an empty handler message to list of pending messages.
      +
      +
      addHandlerMessageAtTime(HandlerWrapper, Runnable, long) - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
      +
      Adds a handler post to list of pending messages.
      +
      +
      addItems(int, MediaQueueItem...) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated. + +
      +
      +
      addItems(MediaQueueItem...) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated. + +
      +
      +
      additionalFailureInfo - Variable in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      AdditionalFailureInfo - Class in com.google.android.exoplayer2.testutil
      +
      +
      A JUnit Rule that attaches additional info to any errors/exceptions thrown by the test.
      +
      +
      AdditionalFailureInfo() - Constructor for class com.google.android.exoplayer2.testutil.AdditionalFailureInfo
      +
       
      +
      addListener(Handler, BandwidthMeter.EventListener) - Method in class com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
      +
      +
      Adds a listener to the event dispatcher.
      +
      +
      addListener(AnalyticsListener) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Adds a listener for analytics events.
      +
      +
      addListener(DownloadManager.Listener) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      + +
      +
      addListener(Player.EventListener) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      addListener(Player.EventListener) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Register a listener to receive events from the player.
      +
      +
      addListener(Player.EventListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addListener(Player.EventListener) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addListener(HlsPlaylistTracker.PlaylistEventListener) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      addListener(HlsPlaylistTracker.PlaylistEventListener) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Registers a listener to receive events from the playlist tracker.
      +
      +
      addListener(TimeBar.OnScrubListener) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      addListener(TimeBar.OnScrubListener) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Adds a listener for scrubbing events.
      +
      +
      addListener(String, Cache.Listener) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Registers a listener to listen for changes to a given resource.
      +
      +
      addListener(String, Cache.Listener) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      addMediaItem(int, MediaItem) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      addMediaItem(int, MediaItem) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Adds a media item at the given index of the playlist.
      +
      +
      addMediaItem(int, MediaItem) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaItem(int, MediaItem) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      addMediaItem(MediaItem) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Adds a media item to the end of the playlist.
      +
      +
      addMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaItems(int, List<MediaItem>) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      addMediaItems(int, List<MediaItem>) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Adds a list of media items at the given index of the playlist.
      +
      +
      addMediaItems(int, List<MediaItem>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaItems(int, List<MediaItem>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      addMediaItems(List<MediaItem>) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Adds a list of media items to the end of the playlist.
      +
      +
      addMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      AddMediaItems(String, MediaSource...) - Constructor for class com.google.android.exoplayer2.testutil.Action.AddMediaItems
      +
       
      +
      addMediaSource(int, MediaSource) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Adds a media source at the given index of the playlist.
      +
      +
      addMediaSource(int, MediaSource) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaSource(int, MediaSource) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Adds a MediaSource to the playlist.
      +
      +
      addMediaSource(int, MediaSource) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaSource(int, MediaSource, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Adds a MediaSource to the playlist and executes a custom action on completion.
      +
      +
      addMediaSource(MediaSource) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Adds a media source to the end of the playlist.
      +
      +
      addMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Appends a MediaSource to the playlist.
      +
      +
      addMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaSource(MediaSource, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Appends a MediaSource to the playlist and executes a custom action on completion.
      +
      +
      addMediaSources(int, Collection<MediaSource>) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Adds multiple MediaSources to the playlist.
      +
      +
      addMediaSources(int, Collection<MediaSource>, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Adds multiple MediaSources to the playlist and executes a custom action on completion.
      +
      +
      addMediaSources(int, List<MediaSource>) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Adds a list of media sources at the given index of the playlist.
      +
      +
      addMediaSources(int, List<MediaSource>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaSources(int, List<MediaSource>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMediaSources(MediaSource...) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a add media items action to be executed.
      +
      +
      addMediaSources(Collection<MediaSource>) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Appends multiple MediaSources to the playlist.
      +
      +
      addMediaSources(Collection<MediaSource>, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Appends multiple MediaSources to the playlist and executes a custom action on + completion.
      +
      +
      addMediaSources(List<MediaSource>) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Adds a list of media sources to the end of the playlist.
      +
      +
      addMediaSources(List<MediaSource>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addMediaSources(List<MediaSource>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      addMetadataOutput(MetadataOutput) - Method in interface com.google.android.exoplayer2.Player.MetadataComponent
      +
      +
      Adds a MetadataOutput to receive metadata.
      +
      +
      addMetadataOutput(MetadataOutput) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addOrReplaceSpan(Spannable, Object, int, int, int) - Static method in class com.google.android.exoplayer2.text.span.SpanUtil
      +
      +
      Adds span to spannable between start and end, removing any + existing spans of the same type and with the same indices and flags.
      +
      +
      addPlaylistItem(int, MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      addSample(int, float) - Method in class com.google.android.exoplayer2.util.SlidingPercentile
      +
      +
      Adds a new weighted value.
      +
      +
      addTextLanguagesToSelection(boolean, String...) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Convenience method to add selections of tracks for all specified text languages.
      +
      +
      addTextOutput(TextOutput) - Method in interface com.google.android.exoplayer2.Player.TextComponent
      +
      +
      Registers an output to receive text events.
      +
      +
      addTextOutput(TextOutput) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addTime(String, long) - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      addTrackSelection(int, DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Adds a selection of tracks to be downloaded.
      +
      +
      addTrackSelectionForSingleRenderer(int, int, DefaultTrackSelector.Parameters, List<DefaultTrackSelector.SelectionOverride>) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Convenience method to add a selection of tracks to be downloaded for a single renderer.
      +
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.BaseDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in interface com.google.android.exoplayer2.upstream.DataSource
      +
      +
      Adds a TransferListener to listen to data transfers.
      +
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      addTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      addVideoFrameProcessingOffset(long) - Method in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      Adds a video frame processing offset to DecoderCounters.totalVideoFrameProcessingOffsetUs and + increases DecoderCounters.videoFrameProcessingOffsetCount by one.
      +
      +
      addVideoListener(VideoListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Adds a listener to receive video events.
      +
      +
      addVideoListener(VideoListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      addVisibilityListener(PlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      addVisibilityListener(StyledPlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      + +
      +
      addWithOverflowDefault(long, long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the sum of two arguments, or a third argument if the result overflows.
      +
      +
      AdGroup() - Constructor for class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Creates a new ad group with an unspecified number of ads.
      +
      +
      adGroupCount - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      The number of ad groups.
      +
      +
      adGroupIndex - Variable in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      If the media period is in an ad group, the index of the ad group in the period.
      +
      +
      adGroups - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      The ad groups.
      +
      +
      adGroupTimesUs - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      The times of ad groups, in microseconds, relative to the start of the Timeline.Period they belong to.
      +
      +
      adIndexInAdGroup - Variable in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      If the media period is in an ad group, the index of the ad in its ad group in the period.
      +
      +
      adjustReleaseTime(long) - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Adjusts the release timestamp for the next frame.
      +
      +
      adjustSampleTimestamp(long) - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Offsets a timestamp in microseconds.
      +
      +
      adjustTsTimestamp(long) - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Scales and offsets an MPEG-2 TS presentation timestamp considering wraparound.
      +
      +
      adPlaybackCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of ad playbacks.
      +
      +
      adPlaybackState - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      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.
      +
      +
      AdPlaybackState(Object, long...) - Constructor for class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Creates a new ad playback state with the specified ad group times.
      +
      +
      AdPlaybackState.AdGroup - Class in com.google.android.exoplayer2.source.ads
      +
      +
      Represents a group of ads, with information about their states.
      +
      +
      AdPlaybackState.AdState - Annotation Type in com.google.android.exoplayer2.source.ads
      +
      +
      Represents the state of an ad in an ad group.
      +
      +
      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.
      +
      +
      adsConfiguration - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional ads configuration.
      +
      +
      adsId - Variable in class com.google.android.exoplayer2.MediaItem.AdsConfiguration
      +
      +
      An opaque identifier for ad playback state associated with this item, or null if the + combination of the media ID and ad tag URI should be used as the ads identifier.
      +
      +
      adsId - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      The opaque identifier for ads with which this instance is associated, or null if unset.
      +
      +
      AdsLoader - Interface in com.google.android.exoplayer2.source.ads
      +
      +
      Interface for loaders of ads, which can be used with AdsMediaSource.
      +
      +
      AdsLoader.AdViewProvider - Interface in com.google.android.exoplayer2.source.ads
      +
      +
      Provides information about views for the ad playback UI.
      +
      +
      AdsLoader.EventListener - Interface in com.google.android.exoplayer2.source.ads
      +
      +
      Listener for ads loader events.
      +
      +
      AdsLoader.OverlayInfo - Class in com.google.android.exoplayer2.source.ads
      +
      +
      Provides information about an overlay view shown on top of an ad view group.
      +
      +
      AdsLoader.OverlayInfo.Purpose - Annotation Type in com.google.android.exoplayer2.source.ads
      +
       
      +
      AdsMediaSource - Class in com.google.android.exoplayer2.source.ads
      +
      +
      A MediaSource that inserts ads linearly into a provided content media source.
      +
      +
      AdsMediaSource(MediaSource, DataSpec, Object, MediaSourceFactory, AdsLoader, AdsLoader.AdViewProvider) - Constructor for class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
      +
      Constructs a new source that inserts ads linearly with the content specified by + contentMediaSource.
      +
      +
      AdsMediaSource.AdLoadException - Exception in com.google.android.exoplayer2.source.ads
      +
      +
      Wrapper for exceptions that occur while loading ads, which are notified via MediaSourceEventListener.onLoadError(int, MediaPeriodId, LoadEventInfo, MediaLoadData, + IOException, boolean).
      +
      +
      AdsMediaSource.AdLoadException.Type - Annotation Type in com.google.android.exoplayer2.source.ads
      +
      +
      Types of ad load exceptions.
      +
      +
      adTagUri - Variable in class com.google.android.exoplayer2.MediaItem.AdsConfiguration
      +
      +
      The ad tag URI to load.
      +
      +
      ADTS - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the ADTS format.
      +
      +
      AdtsExtractor - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts data from AAC bit streams with ADTS framing.
      +
      +
      AdtsExtractor() - Constructor for class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
      +
      Creates a new extractor for ADTS bitstreams.
      +
      +
      AdtsExtractor(int) - Constructor for class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
      +
      Creates a new extractor for ADTS bitstreams.
      +
      +
      AdtsExtractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.ts
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      AdtsReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous ADTS byte stream and extracts individual frames.
      +
      +
      AdtsReader(boolean) - Constructor for class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      AdtsReader(boolean, String) - Constructor for class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      advancePeekPosition(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      advancePeekPosition(int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Advances the peek position by length bytes.
      +
      +
      advancePeekPosition(int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      advancePeekPosition(int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      advancePeekPosition(int, boolean) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      advancePeekPosition(int, boolean) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Advances the peek position by length bytes.
      +
      +
      advancePeekPosition(int, boolean) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      advancePeekPosition(int, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      advanceTime(long) - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
      +
      Advance timestamp of FakeClock by the specified duration.
      +
      +
      AesCipherDataSink - Class in com.google.android.exoplayer2.upstream.crypto
      +
      +
      A wrapping DataSink that encrypts the data being consumed.
      +
      +
      AesCipherDataSink(byte[], DataSink) - Constructor for class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
      +
      +
      Create an instance whose write methods have the side effect of overwriting the input + data.
      +
      +
      AesCipherDataSink(byte[], DataSink, byte[]) - Constructor for class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
      +
      +
      Create an instance whose write methods are free of side effects.
      +
      +
      AesCipherDataSource - Class in com.google.android.exoplayer2.upstream.crypto
      +
      +
      A DataSource that decrypts the data read from an upstream source.
      +
      +
      AesCipherDataSource(byte[], DataSource) - Constructor for class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      AesFlushingCipher - Class in com.google.android.exoplayer2.upstream.crypto
      +
      +
      A flushing variant of a AES/CTR/NoPadding Cipher.
      +
      +
      AesFlushingCipher(int, byte[], long, long) - Constructor for class com.google.android.exoplayer2.upstream.crypto.AesFlushingCipher
      +
       
      +
      after() - Method in class com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
      +
       
      +
      after() - Method in class com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
      +
       
      +
      alignVideoSizeV21(int, int) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Returns the smallest video size greater than or equal to a specified size that also satisfies + the MediaCodec's width and height alignment requirements.
      +
      +
      ALL_PLAYBACK_ACTIONS - Static variable in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
       
      +
      allocate() - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Obtain an Allocation.
      +
      +
      allocate() - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      allocatedBandwidth - Variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
      +
      +
      Allocated bandwidth at this checkpoint in bits per second.
      +
      +
      Allocation - Class in com.google.android.exoplayer2.upstream
      +
      +
      An allocation within a byte array.
      +
      +
      Allocation(byte[], int) - Constructor for class com.google.android.exoplayer2.upstream.Allocation
      +
       
      +
      Allocator - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A source of allocations.
      +
      +
      ALLOW_CAPTURE_BY_ALL - Static variable in class com.google.android.exoplayer2.C
      +
      + +
      +
      ALLOW_CAPTURE_BY_NONE - Static variable in class com.google.android.exoplayer2.C
      +
      + +
      +
      ALLOW_CAPTURE_BY_SYSTEM - Static variable in class com.google.android.exoplayer2.C
      +
      + +
      +
      allowAudioMixedChannelCountAdaptiveness - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to allow adaptive audio selections containing mixed channel counts.
      +
      +
      allowAudioMixedMimeTypeAdaptiveness - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to allow adaptive audio selections containing mixed MIME types.
      +
      +
      allowAudioMixedSampleRateAdaptiveness - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to allow adaptive audio selections containing mixed sample rates.
      +
      +
      allowedCapturePolicy - Variable in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      allowingSchemeDatas(List<DrmInitData.SchemeData>...) - Static method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm.LicenseServer
      +
       
      +
      allowMultipleAdaptiveSelections - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether multiple adaptive selections with more than one track are allowed.
      +
      +
      allowVideoMixedMimeTypeAdaptiveness - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to allow adaptive video selections containing mixed MIME types.
      +
      +
      allowVideoNonSeamlessAdaptiveness - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to allow adaptive video selections where adaptation may not be completely seamless.
      +
      +
      allSamplesAreSyncSamples(String, String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns true if it is known that all samples in a stream of the given MIME type and codec are + guaranteed to be sync samples (i.e., C.BUFFER_FLAG_KEY_FRAME is guaranteed to be set on + every sample).
      +
      +
      AMR - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the AMR format.
      +
      +
      AmrExtractor - Class in com.google.android.exoplayer2.extractor.amr
      +
      +
      Extracts data from the AMR containers format (either AMR or AMR-WB).
      +
      +
      AmrExtractor() - Constructor for class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      AmrExtractor(int) - Constructor for class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      AmrExtractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.amr
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      AnalyticsCollector - Class in com.google.android.exoplayer2.analytics
      +
      +
      Data collector that forwards analytics events to AnalyticsListeners.
      +
      +
      AnalyticsCollector(Clock) - Constructor for class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Creates an analytics collector.
      +
      +
      AnalyticsListener - Interface in com.google.android.exoplayer2.analytics
      +
      +
      A listener for analytics events.
      +
      +
      AnalyticsListener.EventFlags - Annotation Type in com.google.android.exoplayer2.analytics
      +
      +
      Events that can be reported via AnalyticsListener.onEvents(Player, Events).
      +
      +
      AnalyticsListener.Events - Class in com.google.android.exoplayer2.analytics
      +
      + +
      +
      AnalyticsListener.EventTime - Class in com.google.android.exoplayer2.analytics
      +
      +
      Time information of an event.
      +
      +
      ANCHOR_TYPE_END - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Anchors the right (for horizontal positions) or bottom (for vertical positions) edge of the cue + box.
      +
      +
      ANCHOR_TYPE_MIDDLE - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Anchors the middle of the cue box.
      +
      +
      ANCHOR_TYPE_START - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Anchors the left (for horizontal positions) or top (for vertical positions) edge of the cue + box.
      +
      +
      andFlags(int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.AndSpanFlags
      +
      +
      Checks that one of the matched spans has the expected flags.
      +
      +
      ApicFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      APIC (Attached Picture) ID3 frame.
      +
      +
      ApicFrame(String, String, int, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      APP_ID_DEFAULT_RECEIVER_WITH_DRM - Static variable in class com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider
      +
      +
      App id that points to the Default Media Receiver app with basic DRM support.
      +
      +
      append(List<FakeSampleStream.FakeSampleStreamItem>) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Appends FakeSampleStreamItems to the list of items that should be + written to the queue.
      +
      +
      appendReadAction(Runnable) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Appends an action.
      +
      +
      appendReadData(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Appends to the underlying data.
      +
      +
      appendReadData(int) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Appends a data segment of the specified length.
      +
      +
      appendReadError(IOException) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Appends an error in the underlying data.
      +
      +
      AppInfoTable - Class in com.google.android.exoplayer2.metadata.dvbsi
      +
      +
      A representation of a DVB Application Information Table (AIT).
      +
      +
      AppInfoTable(int, String) - Constructor for class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      AppInfoTableDecoder - Class in com.google.android.exoplayer2.metadata.dvbsi
      +
      +
      Decoder for the DVB Application Information Table (AIT).
      +
      +
      AppInfoTableDecoder() - Constructor for class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTableDecoder
      +
       
      +
      APPLICATION_AIT - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_CAMERA_MOTION - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_CEA608 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_CEA708 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_DVBSUBS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_EMSG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_EXIF - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_ICY - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_ID3 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_INFORMATION_TABLE_ID - Static variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTableDecoder
      +
      +
      See table 16 in section 5.3.4.6.
      +
      +
      APPLICATION_M3U8 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_MATROSKA - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_MP4 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_MP4CEA608 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_MP4VTT - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_MPD - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_PGS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_RAWCC - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_SCTE35 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_SS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_SUBRIP - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_TTML - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_TX3G - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_VOBSUB - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      APPLICATION_WEBM - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      apply(Action) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules an action.
      +
      +
      apply(Statement, Description) - Method in class com.google.android.exoplayer2.testutil.AdditionalFailureInfo
      +
       
      +
      applyContentMetadataMutations(String, ContentMetadataMutations) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Applies mutations to the ContentMetadata for the given resource.
      +
      +
      applyContentMetadataMutations(String, ContentMetadataMutations) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      applyPlaybackParameters(PlaybackParameters) - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain
      +
      +
      Configures audio processors to apply the specified playback parameters immediately, returning + the new playback parameters, which may differ from those passed in.
      +
      +
      applyPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
       
      +
      applySkipSilenceEnabled(boolean) - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain
      +
      +
      Configures audio processors to apply whether to skip silences immediately, returning the new + value.
      +
      +
      applySkipSilenceEnabled(boolean) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
       
      +
      AppManagedProvider(ExoMediaDrm) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.AppManagedProvider
      +
      +
      Creates an instance that provides the given ExoMediaDrm.
      +
      +
      areEqual(Object, Object) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Tests two objects for Object.equals(Object) equality, handling the case where one or + both may be null.
      +
      +
      ASCII_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use StandardCharsets or Charsets instead.
      +
      +
      +
      ASPECT_RATIO_IDC_VALUES - Static variable in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Aspect ratios indexed by aspect_ratio_idc, in H.264 and H.265 SPSs.
      +
      +
      AspectRatioFrameLayout - Class in com.google.android.exoplayer2.ui
      +
      +
      A FrameLayout that resizes itself to match a specified aspect ratio.
      +
      +
      AspectRatioFrameLayout(Context) - Constructor for class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
       
      +
      AspectRatioFrameLayout(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
       
      +
      AspectRatioFrameLayout.AspectRatioListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be notified about changes of the aspect ratios of this view.
      +
      +
      AspectRatioFrameLayout.ResizeMode - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      Resize modes for AspectRatioFrameLayout.
      +
      +
      assertAdGroupCounts(Timeline, int...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that periods' Timeline.Period.getAdGroupCount() are set correctly.
      +
      +
      assertAllBehaviors(ExtractorAsserts.ExtractorFactory, String) - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Asserts that an extractor behaves correctly given valid input data.
      +
      +
      assertAllBehaviors(ExtractorAsserts.ExtractorFactory, String, String) - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Asserts that an extractor behaves correctly given valid input data: + + + Calls Extractor.seek(long, long) and Extractor.release() without calling + Extractor.init(ExtractorOutput) to check these calls do not fail.
      +
      +
      assertBehavior(ExtractorAsserts.ExtractorFactory, String, ExtractorAsserts.AssertionConfig, ExtractorAsserts.SimulationConfig) - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Asserts that an extractor consumes valid input data successfully successfully under the + conditions specified by simulationConfig.
      +
      +
      assertBehavior(ExtractorAsserts.ExtractorFactory, String, ExtractorAsserts.SimulationConfig) - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Asserts that an extractor consumes valid input data successfully under the conditions specified + by simulationConfig.
      +
      +
      assertBitmapsAreSimilar(Bitmap, Bitmap, double) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Asserts whether actual bitmap is very similar to the expected bitmap at some quality level.
      +
      +
      assertBufferInfosEqual(MediaCodec.BufferInfo, MediaCodec.BufferInfo) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns whether two BufferInfos are equal.
      +
      +
      assertCachedData(Cache, CacheAsserts.RequestSet) - Static method in class com.google.android.exoplayer2.testutil.CacheAsserts
      +
      +
      Asserts that the cache contains necessary data for the requestSet.
      +
      +
      assertCachedData(Cache, FakeDataSet) - Static method in class com.google.android.exoplayer2.testutil.CacheAsserts
      +
      +
      Asserts that the cache content is equal to the data in the fakeDataSet.
      +
      +
      assertCacheEmpty(Cache) - Static method in class com.google.android.exoplayer2.testutil.CacheAsserts
      +
      +
      Asserts that the cache is empty.
      +
      +
      assertCompletedManifestLoads(Integer...) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Asserts that the media source reported completed loads via MediaSourceEventListener.onLoadCompleted(int, MediaPeriodId, LoadEventInfo, MediaLoadData) for + each specified window index and a null period id.
      +
      +
      assertCompletedMediaPeriodLoads(MediaSource.MediaPeriodId...) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Asserts that the media source reported completed loads via MediaSourceEventListener.onLoadCompleted(int, MediaPeriodId, LoadEventInfo, MediaLoadData) for + each specified media period id, and asserts that the associated window index matches the one in + the last known timeline returned from MediaSourceTestRunner.prepareSource(), MediaSourceTestRunner.assertTimelineChange() + or MediaSourceTestRunner.assertTimelineChangeBlocking().
      +
      +
      assertConsecutiveDroppedBufferLimit(String, DecoderCounters, int) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
       
      +
      assertDataCached(Cache, DataSpec, byte[]) - Static method in class com.google.android.exoplayer2.testutil.CacheAsserts
      +
      +
      Asserts that the cache contains the given data for dataSpec.
      +
      +
      assertDataSourceContent(DataSource, DataSpec, byte[], boolean) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Asserts that data read from a DataSource matches expected.
      +
      +
      assertDroppedBufferLimit(String, DecoderCounters, int) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
       
      +
      assertEmpty(Timeline) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Assert that timeline is empty (i.e.
      +
      +
      assertExtensionRendererCreated(Class<? extends Renderer>, int) - Static method in class com.google.android.exoplayer2.testutil.DefaultRenderersFactoryAsserts
      +
      +
      Asserts that an extension renderer of type clazz is not instantiated for DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF, and that it's instantiated in the correct + position relative to other renderers of the same type for DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON and DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER, assuming no other extension renderers + can be loaded.
      +
      +
      assertGetStreamKeysAndManifestFilterIntegration(MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>, T) - Static method in class com.google.android.exoplayer2.testutil.MediaPeriodAsserts
      +
      +
      Asserts that the values returns by MediaPeriod.getStreamKeys(List) are compatible with + a FilterableManifest using these stream keys.
      +
      +
      assertGetStreamKeysAndManifestFilterIntegration(MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T>, T, int, String) - Static method in class com.google.android.exoplayer2.testutil.MediaPeriodAsserts
      +
      +
      Asserts that the values returns by MediaPeriod.getStreamKeys(List) are compatible with + a FilterableManifest using these stream keys.
      +
      +
      Assertions - Class in com.google.android.exoplayer2.util
      +
      +
      Provides methods for asserting the truth of expressions and properties.
      +
      +
      ASSERTIONS_ENABLED - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Whether the library was compiled with Assertions + checks enabled.
      +
      +
      assertMediaItemsTransitionedSame(MediaItem...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the media items reported by Player.EventListener.onMediaItemTransition(MediaItem, int) are the same as the provided media + items.
      +
      +
      assertMediaItemsTransitionReasonsEqual(Integer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the media item transition reasons reported by Player.EventListener.onMediaItemTransition(MediaItem, int) are the same as the provided + reasons.
      +
      +
      assertMediaPeriodCreated(MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Assert that a media period for the given id has been created.
      +
      +
      assertNextWindowIndices(Timeline, int, boolean, int...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that next window indices for each window depending on the repeat mode and the shuffle + mode are equal to the given sequence.
      +
      +
      assertNoPositionDiscontinuities() - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      + +
      +
      assertNoTimelineChange() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Asserts that the source has not notified its listener of a timeline change since the last call + to MediaSourceTestRunner.assertTimelineChangeBlocking() or MediaSourceTestRunner.assertTimelineChange() (or since the + runner was created if neither method has been called).
      +
      +
      assertOutput(Context, Dumper.Dumpable, String) - Static method in class com.google.android.exoplayer2.testutil.DumpFileAsserts
      +
       
      +
      assertOutput(Context, String, String) - Static method in class com.google.android.exoplayer2.testutil.DumpFileAsserts
      +
      +
      Asserts that actual is equal to the contents of dumpFile.
      +
      +
      assertPassed(DecoderCounters, DecoderCounters) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      assertPeriodCounts(Timeline, int...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that period counts for each window are set correctly.
      +
      +
      assertPeriodDurations(Timeline, long...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that the durations of the periods in the Timeline and the durations in the + given sequence are equal.
      +
      +
      assertPlaybackStatesEqual(Integer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the playback states reported by Player.EventListener.onPlaybackStateChanged(int) are equal to the provided playback states.
      +
      +
      assertPlayedPeriodIndices(Integer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the indices of played periods is equal to the provided list of periods.
      +
      +
      assertPositionDiscontinuityReasonsEqual(Integer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the discontinuity reasons reported by Player.EventListener.onPositionDiscontinuity(int) are equal to the provided values.
      +
      +
      assertPrepareAndReleaseAllPeriods() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Creates and releases all periods (including ad periods) defined in the last timeline to be + returned from MediaSourceTestRunner.prepareSource(), MediaSourceTestRunner.assertTimelineChange() or MediaSourceTestRunner.assertTimelineChangeBlocking().
      +
      +
      assertPreviousWindowIndices(Timeline, int, boolean, int...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that previous window indices for each window depending on the repeat mode and the + shuffle mode are equal to the given sequence.
      +
      +
      assertReadData(DataSource, DataSpec, byte[]) - Static method in class com.google.android.exoplayer2.testutil.CacheAsserts
      +
      +
      Asserts that the read data from dataSource specified by dataSpec is equal to + expected or not.
      +
      +
      assertReleased() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Assert that the source and all periods have been released.
      +
      +
      assertRemoved(String) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
      +
      Asserts that the specified download is removed.
      +
      +
      assertSample(int, byte[], long, int, TrackOutput.CryptoData) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      assertSampleCount(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      assertSkippedOutputBufferCount(String, DecoderCounters, int) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
       
      +
      assertSniff(Extractor, FakeExtractorInput, boolean) - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Asserts that Extractor.sniff(ExtractorInput) returns the expectedResult for a + given input, retrying repeatedly when FakeExtractorInput.SimulatedIOException is thrown.
      +
      +
      assertState(String, int) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
      +
      Asserts that the specified download transitions to the specified state.
      +
      +
      assertThat(Spanned) - Static method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Convenience method to create a SpannedSubject.
      +
      +
      assertTimelineChange() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Asserts that the source has notified its listener of a single timeline change.
      +
      +
      assertTimelineChangeBlocking() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Asserts that the source notifies its listener of a single timeline change.
      +
      +
      assertTimelineChangeReasonsEqual(Integer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the timeline change reasons reported by Player.EventListener.onTimelineChanged(Timeline, int) are equal to the provided timeline + change reasons.
      +
      +
      assertTimelinesSame(Timeline...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the timelines reported by Player.EventListener.onTimelineChanged(Timeline, + int) are the same to the provided timelines.
      +
      +
      assertTotalBufferCount(String, DecoderCounters, int, int) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
       
      +
      assertTrackGroups(MediaPeriod, TrackGroupArray) - Static method in class com.google.android.exoplayer2.testutil.MediaPeriodAsserts
      +
      +
      Prepares the MediaPeriod and asserts that it provides the specified track groups.
      +
      +
      assertTrackGroupsEqual(TrackGroupArray) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Asserts that the last track group array reported by Player.EventListener.onTracksChanged(TrackGroupArray, TrackSelectionArray) is equal to the + provided track group array.
      +
      +
      assertVideoFrameProcessingOffsetSampleCount(String, DecoderCounters, int, int) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
       
      +
      assertWindowIsDynamic(Timeline, boolean...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that window properties Timeline.Window.isDynamic are set correctly.
      +
      +
      assertWindowTags(Timeline, Object...) - Static method in class com.google.android.exoplayer2.testutil.TimelineAsserts
      +
      +
      Asserts that window tags are set correctly.
      +
      +
      AssetDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading from a local asset.
      +
      +
      AssetDataSource(Context) - Constructor for class com.google.android.exoplayer2.upstream.AssetDataSource
      +
       
      +
      AssetDataSource.AssetDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an IOException is encountered reading a local asset.
      +
      +
      AssetDataSourceException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.AssetDataSource.AssetDataSourceException
      +
       
      +
      assetIdentifier - Variable in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      The asset identifier for this period, if one exists
      +
      +
      AtomicFile - Class in com.google.android.exoplayer2.util
      +
      +
      A helper class for performing atomic operations on a file by creating a backup file until a write + has successfully completed.
      +
      +
      AtomicFile(File) - Constructor for class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Create a new AtomicFile for a file located at the given File path.
      +
      +
      attemptMerge(RangedUri, String) - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      Attempts to merge this RangedUri with another and an optional common base uri.
      +
      +
      Attribute(int, int) - Constructor for class com.google.android.exoplayer2.util.GlUtil.Attribute
      +
      +
      Creates a new GL attribute.
      +
      +
      AUDIO_AAC - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_AC3 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_AC4 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_ALAC - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_ALAW - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_AMR - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_AMR_NB - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_AMR_WB - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_DTS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_DTS_EXPRESS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_DTS_HD - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_E_AC3 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_E_AC3_JOC - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_FLAC - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_FORMAT - Static variable in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      A generic audio Format which can be used to set up a FakeMediaSource.
      +
      +
      AUDIO_MATROSKA - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MLAW - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MP4 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MPEG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MPEG_L1 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MPEG_L2 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_MSGSM - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_ELD - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_ER_BSAC - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_LC - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_PS - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_SBR - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OBJECT_TYPE_AAC_XHE - Static variable in class com.google.android.exoplayer2.audio.AacUtil
      +
       
      +
      AUDIO_OGG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_OPUS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_RAW - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_SESSION_ID_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset AudioTrack session identifier.
      +
      +
      AUDIO_STREAM - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      AUDIO_STREAM_MASK - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      AUDIO_TRUEHD - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_UNKNOWN - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_VORBIS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_WAV - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AUDIO_WEBM - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      AudioAttributes - Class in com.google.android.exoplayer2.audio
      +
      +
      Attributes for audio playback, which configure the underlying platform AudioTrack.
      +
      +
      AudioAttributes.Builder - Class in com.google.android.exoplayer2.audio
      +
      +
      Builder for AudioAttributes.
      +
      +
      AudioCapabilities - Class in com.google.android.exoplayer2.audio
      +
      +
      Represents the set of audio formats that a device is capable of playing.
      +
      +
      AudioCapabilities(int[], int) - Constructor for class com.google.android.exoplayer2.audio.AudioCapabilities
      +
      +
      Constructs new audio capabilities based on a set of supported encodings and a maximum channel + count.
      +
      +
      AudioCapabilitiesReceiver - Class in com.google.android.exoplayer2.audio
      +
      +
      Receives broadcast events indicating changes to the device's audio capabilities, notifying a + AudioCapabilitiesReceiver.Listener when audio capability changes occur.
      +
      +
      AudioCapabilitiesReceiver(Context, AudioCapabilitiesReceiver.Listener) - Constructor for class com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver
      +
       
      +
      AudioCapabilitiesReceiver.Listener - Interface in com.google.android.exoplayer2.audio
      +
      +
      Listener notified when audio capabilities change.
      +
      +
      AUDIOFOCUS_GAIN - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      AUDIOFOCUS_GAIN_TRANSIENT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      AUDIOFOCUS_NONE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      AudioFormat(int, int, int) - Constructor for class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
       
      +
      audioFormatHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The audio format history as EventTimeAndFormats ordered by + EventTime.realTimeMs.
      +
      +
      audioGroupId - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The AUDIO value as defined in the EXT-X-STREAM-INF tag, or null if the AUDIO attribute is not + present.
      +
      +
      audioGroupId - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      The audio rendition group referenced by this variant, or null.
      +
      +
      AudioListener - Interface in com.google.android.exoplayer2.audio
      +
      +
      A listener for changes in audio configuration.
      +
      +
      AudioProcessor - Interface in com.google.android.exoplayer2.audio
      +
      +
      Interface for audio processors, which take audio data as input and transform it, potentially + modifying its channel count, encoding and/or sample rate.
      +
      +
      AudioProcessor.AudioFormat - Class in com.google.android.exoplayer2.audio
      +
      +
      PCM audio format that may be handled by an audio processor.
      +
      +
      AudioProcessor.UnhandledAudioFormatException - Exception in com.google.android.exoplayer2.audio
      +
      +
      Exception thrown when a processor can't be configured for a given input audio format.
      +
      +
      AudioRendererEventListener - Interface in com.google.android.exoplayer2.audio
      +
      +
      Listener of audio Renderer events.
      +
      +
      AudioRendererEventListener.EventDispatcher - Class in com.google.android.exoplayer2.audio
      +
      +
      Dispatches events to an AudioRendererEventListener.
      +
      +
      audios - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The audio renditions declared by the playlist.
      +
      +
      AudioSink - Interface in com.google.android.exoplayer2.audio
      +
      +
      A sink that consumes audio data.
      +
      +
      AudioSink.ConfigurationException - Exception in com.google.android.exoplayer2.audio
      +
      +
      Thrown when a failure occurs configuring the sink.
      +
      +
      AudioSink.InitializationException - Exception in com.google.android.exoplayer2.audio
      +
      +
      Thrown when a failure occurs initializing the sink.
      +
      +
      AudioSink.Listener - Interface in com.google.android.exoplayer2.audio
      +
      +
      Listener for audio sink events.
      +
      +
      AudioSink.SinkFormatSupport - Annotation Type in com.google.android.exoplayer2.audio
      +
      +
      The level of support the sink provides for a format.
      +
      +
      AudioSink.WriteException - Exception in com.google.android.exoplayer2.audio
      +
      +
      Thrown when a failure occurs writing to the sink.
      +
      +
      audioSinkError(Exception) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      AudioTrackScore(Format, DefaultTrackSelector.Parameters, int) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.AudioTrackScore
      +
       
      +
      audioTrackState - Variable in exception com.google.android.exoplayer2.audio.AudioSink.InitializationException
      +
      +
      The underlying AudioTrack's state.
      +
      +
      AutoAdvancingFakeClock - Class in com.google.android.exoplayer2.testutil
      +
      +
      FakeClock extension which automatically advances time whenever an empty message is + enqueued at a future time.
      +
      +
      AutoAdvancingFakeClock() - Constructor for class com.google.android.exoplayer2.testutil.AutoAdvancingFakeClock
      +
      +
      Creates the auto-advancing clock with an initial time of 0.
      +
      +
      AutoAdvancingFakeClock(long) - Constructor for class com.google.android.exoplayer2.testutil.AutoAdvancingFakeClock
      +
      +
      Creates the auto-advancing clock.
      +
      +
      autoReturn - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      If SpliceInsertCommand.breakDurationUs is not C.TIME_UNSET, defines whether + SpliceInsertCommand.breakDurationUs should be used to know when to return to the network feed.
      +
      +
      autoReturn - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      If SpliceScheduleCommand.Event.breakDurationUs is not C.TIME_UNSET, defines whether + SpliceScheduleCommand.Event.breakDurationUs should be used to know when to return to the network feed.
      +
      +
      AuxEffectInfo - Class in com.google.android.exoplayer2.audio
      +
      +
      Represents auxiliary effect information, which can be used to attach an auxiliary effect to an + underlying AudioTrack.
      +
      +
      AuxEffectInfo(int, float) - Constructor for class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
      +
      Creates an instance with the given effect identifier and send level.
      +
      +
      availabilityStartTimeMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The availabilityStartTime value in milliseconds since epoch, or C.TIME_UNSET if + not present.
      +
      +
      availNum - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      Holds the value of avail_num as defined in SCTE35, Section 9.3.3.
      +
      +
      availNum - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      Holds the value of avail_num as defined in SCTE35, Section 9.3.2.
      +
      +
      availsExpected - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      Holds the value of avails_expected as defined in SCTE35, Section 9.3.3.
      +
      +
      availsExpected - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      Holds the value of avails_expected as defined in SCTE35, Section 9.3.2.
      +
      +
      AvcConfig - Class in com.google.android.exoplayer2.video
      +
      +
      AVC configuration data.
      +
      +
      averageBitrate - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The average bitrate in bits per second, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      averageBitrate - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The average bitrate as declared by the AVERAGE-BANDWIDTH attribute of the EXT-X-STREAM-INF + tag, or Format.NO_VALUE if the attribute is not declared.
      +
      +
      + + + +

      B

      +
      +
      backgroundColor - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred background color.
      +
      +
      backgroundJoiningCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks which were pre-buffered in the background.
      +
      +
      BandwidthMeter - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Provides estimates of the currently available bandwidth.
      +
      +
      BandwidthMeter.EventListener - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A listener of BandwidthMeter events.
      +
      +
      BandwidthMeter.EventListener.EventDispatcher - Class in com.google.android.exoplayer2.upstream
      +
      +
      Event dispatcher which allows listener registration.
      +
      +
      bandwidthSample(int, long, long) - Method in class com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
      +
       
      +
      BAR_GRAVITY_BOTTOM - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Vertical gravity for progress bar to be located at the bottom in the view.
      +
      +
      BAR_GRAVITY_CENTER - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Vertical gravity for progress bar to be located at the center in the view.
      +
      +
      BASE_TYPE_APPLICATION - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      BASE_TYPE_AUDIO - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      BASE_TYPE_IMAGE - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      BASE_TYPE_TEXT - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      BASE_TYPE_VIDEO - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      BaseAudioProcessor - Class in com.google.android.exoplayer2.audio
      +
      +
      Base class for audio processors that keep an output buffer and an internal buffer that is reused + whenever input is queued.
      +
      +
      BaseAudioProcessor() - Constructor for class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      BaseDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      Base DataSource implementation to keep a list of TransferListeners.
      +
      +
      BaseDataSource(boolean) - Constructor for class com.google.android.exoplayer2.upstream.BaseDataSource
      +
      +
      Creates base data source.
      +
      +
      BaseFactory() - Constructor for class com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
      +
       
      +
      BaseMediaChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A base implementation of MediaChunk that outputs to a BaseMediaChunkOutput.
      +
      +
      BaseMediaChunk(DataSource, DataSpec, Format, int, Object, long, long, long, long, long) - Constructor for class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
       
      +
      BaseMediaChunkIterator - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      Base class for MediaChunkIterators.
      +
      +
      BaseMediaChunkIterator(long, long) - Constructor for class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
      +
      Creates base iterator.
      +
      +
      BaseMediaChunkOutput - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A ChunkExtractor.TrackOutputProvider that provides TrackOutputs based on a + predefined mapping from track type to output.
      +
      +
      BaseMediaChunkOutput(int[], SampleQueue[]) - Constructor for class com.google.android.exoplayer2.source.chunk.BaseMediaChunkOutput
      +
       
      +
      BaseMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Base MediaSource implementation to handle parallel reuse and to keep a list of MediaSourceEventListeners.
      +
      +
      BaseMediaSource() - Constructor for class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      BasePlayer - Class in com.google.android.exoplayer2
      +
      +
      Abstract base Player which implements common implementation independent methods.
      +
      +
      BasePlayer() - Constructor for class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      BaseRenderer - Class in com.google.android.exoplayer2
      +
      +
      An abstract base class suitable for most Renderer implementations.
      +
      +
      BaseRenderer(int) - Constructor for class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      BaseTrackSelection - Class in com.google.android.exoplayer2.trackselection
      +
      +
      An abstract base class suitable for most ExoTrackSelection implementations.
      +
      +
      BaseTrackSelection(TrackGroup, int...) - Constructor for class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      baseUri - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist
      +
      +
      The base uri.
      +
      +
      baseUrl - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      baseUrl - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      The base URL of the representation.
      +
      +
      before() - Method in class com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
      +
       
      +
      before() - Method in class com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
      +
       
      +
      beginSection(String) - Static method in class com.google.android.exoplayer2.util.TraceUtil
      +
      +
      Writes a trace message to indicate that a given section of code has begun.
      +
      +
      BehindLiveWindowException - Exception in com.google.android.exoplayer2.source
      +
      +
      Thrown when a live playback falls behind the available media window.
      +
      +
      BehindLiveWindowException() - Constructor for exception com.google.android.exoplayer2.source.BehindLiveWindowException
      +
       
      +
      belongsToSession(AnalyticsListener.EventTime, String) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      belongsToSession(AnalyticsListener.EventTime, String) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Returns whether an event time belong to a session.
      +
      +
      binaryElement(int, int, ExtractorInput) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when a binary element is encountered.
      +
      +
      binaryElement(int, int, ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when a binary element is encountered.
      +
      +
      BinaryFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Binary ID3 frame.
      +
      +
      BinaryFrame(String, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      binarySearchCeil(int[], int, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the smallest element in array that is greater than (or optionally + equal to) a specified value.
      +
      +
      binarySearchCeil(long[], long, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the smallest element in array that is greater than (or optionally + equal to) a specified value.
      +
      +
      binarySearchCeil(List<? extends Comparable<? super T>>, T, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the smallest element in list that is greater than (or optionally + equal to) a specified value.
      +
      +
      binarySearchFloor(int[], int, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the largest element in array that is less than (or optionally + equal to) a specified value.
      +
      +
      binarySearchFloor(long[], long, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the largest element in array that is less than (or optionally + equal to) a specified value.
      +
      +
      binarySearchFloor(LongArray, long, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the largest element in longArray that is less than (or optionally + equal to) a specified value.
      +
      +
      binarySearchFloor(List<? extends Comparable<? super T>>, T, boolean, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the largest element in list that is less than (or optionally equal + to) a specified value.
      +
      +
      BinarySearchSeeker - Class in com.google.android.exoplayer2.extractor
      +
      +
      A seeker that supports seeking within a stream by searching for the target frame using binary + search.
      +
      +
      BinarySearchSeeker(BinarySearchSeeker.SeekTimestampConverter, BinarySearchSeeker.TimestampSeeker, long, long, long, long, long, long, int) - Constructor for class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
      +
      Constructs an instance.
      +
      +
      BinarySearchSeeker.BinarySearchSeekMap - Class in com.google.android.exoplayer2.extractor
      +
      + +
      +
      BinarySearchSeeker.DefaultSeekTimestampConverter - Class in com.google.android.exoplayer2.extractor
      +
      +
      A BinarySearchSeeker.SeekTimestampConverter implementation that returns the seek time itself as the + timestamp for a seek time position.
      +
      +
      BinarySearchSeeker.SeekOperationParams - Class in com.google.android.exoplayer2.extractor
      +
      +
      Contains parameters for a pending seek operation by BinarySearchSeeker.
      +
      +
      BinarySearchSeeker.SeekTimestampConverter - Interface in com.google.android.exoplayer2.extractor
      +
      +
      A converter that converts seek time in stream time into target timestamp for the BinarySearchSeeker.
      +
      +
      BinarySearchSeeker.TimestampSearchResult - Class in com.google.android.exoplayer2.extractor
      +
      + +
      +
      BinarySearchSeeker.TimestampSeeker - Interface in com.google.android.exoplayer2.extractor
      +
      +
      A seeker that looks for a given timestamp from an input.
      +
      +
      BinarySearchSeekMap(BinarySearchSeeker.SeekTimestampConverter, long, long, long, long, long, long) - Constructor for class com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
      +
      +
      Constructs a new instance of this seek map.
      +
      +
      bind() - Method in class com.google.android.exoplayer2.util.GlUtil.Attribute
      +
      +
      Sets the vertex attribute to whatever was attached via GlUtil.Attribute.setBuffer(float[], int).
      +
      +
      bind() - Method in class com.google.android.exoplayer2.util.GlUtil.Uniform
      +
      +
      Sets the uniform to whatever value was passed via GlUtil.Uniform.setSamplerTexId(int, int) or + GlUtil.Uniform.setFloat(float).
      +
      +
      bitmap - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The cue image, or null if this is a text cue.
      +
      +
      bitmapHeight - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The bitmap height as a fraction of the of the viewport size, or Cue.DIMEN_UNSET if the + 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.MpegAudioUtil.Header
      +
      +
      Bitrate of the frame in bit/s.
      +
      +
      bitrate - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The bitrate in bits per second.
      +
      +
      bitrate - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      Bitrate in bits per second ((icy-br * 1000)), or Format.NO_VALUE if the header + was not present.
      +
      +
      bitrateMaximum - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The bitrate_maximum field, or Format.NO_VALUE if not greater than zero.
      +
      +
      bitrateMinimum - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The bitrate_minimum field, or Format.NO_VALUE if not greater than zero.
      +
      +
      bitrateNominal - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The bitrate_nominal field, or Format.NO_VALUE if not greater than zero.
      +
      +
      BITS_PER_BYTE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The number of bits per byte.
      +
      +
      bitsLeft() - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Returns the number of remaining bits.
      +
      +
      bitsLeft() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Returns the number of bits yet to be read.
      +
      +
      bitsPerSample - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Number of bits per sample.
      +
      +
      bitsPerSampleLookupKey - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Lookup key corresponding to the number of bits per sample of the stream, or FlacStreamMetadata.NOT_IN_LOOKUP_TABLE if it is not in the lookup table.
      +
      +
      bitstreamVersion - Variable in class com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
      +
      +
      The bitstream version.
      +
      +
      blacklist(int, long) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      blacklist(int, long) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      blacklist(int, long) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Attempts to exclude the track at the specified index in the selection, making it ineligible for + selection by calls to ExoTrackSelection.updateSelectedTrack(long, long, long, List, + MediaChunkIterator[]) for the specified period of time.
      +
      +
      block() - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Blocks until the condition is opened.
      +
      +
      block(long) - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Blocks until the condition is opened or until timeoutMs have passed.
      +
      +
      blockFlag - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.Mode
      +
       
      +
      blockSize0 - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The blocksize_0 field.
      +
      +
      blockSize1 - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The blocksize_1 field.
      +
      +
      blockUninterruptible() - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Blocks until the condition is open.
      +
      +
      blockUntilActionScheduleFinished(long) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Blocks the current thread until the action schedule finished.
      +
      +
      blockUntilDelivered() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Blocks until after the message has been delivered or the player is no longer able to deliver + the message.
      +
      +
      blockUntilDelivered(long) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Blocks until after the message has been delivered or the player is no longer able to deliver + the message or the specified timeout elapsed.
      +
      +
      blockUntilEnded(long) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Blocks the current thread until the test runner finishes.
      +
      +
      blockUntilFinished() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
      +
      Blocks until the task has finished, or has been canceled without having been started.
      +
      +
      blockUntilIdle() - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
      +
      Blocks until the manager is idle.
      +
      +
      blockUntilIdleAndThrowAnyFailure() - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
      +
      Blocks until the manager is idle and throws if any of the downloads failed.
      +
      +
      blockUntilInitialized() - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
      +
      Blocks until the manager is initialized.
      +
      +
      blockUntilStarted() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
      +
      Blocks until the task has started, or has been canceled without having been started.
      +
      +
      blockUntilStopped(long) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      blockUntilStopped(long) - Method in interface com.google.android.exoplayer2.testutil.HostActivity.HostedTest
      +
      +
      Called on the main thread to block until the test has stopped or HostActivity.HostedTest.forceStop() is + called.
      +
      +
      bottomFieldPicOrderInFramePresentFlag - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.PpsData
      +
       
      +
      breakDurationUs - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      The duration of the splice in microseconds, or C.TIME_UNSET if no duration is present.
      +
      +
      breakDurationUs - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      The duration of the splice in microseconds, or C.TIME_UNSET if no duration is + present.
      +
      +
      Buffer - Class in com.google.android.exoplayer2.decoder
      +
      +
      Base class for buffers with flags.
      +
      +
      Buffer() - Constructor for class com.google.android.exoplayer2.decoder.Buffer
      +
       
      +
      BUFFER_FLAG_DECODE_ONLY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that a buffer should be decoded but not rendered.
      +
      +
      BUFFER_FLAG_ENCRYPTED - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that a buffer is (at least partially) encrypted.
      +
      +
      BUFFER_FLAG_END_OF_STREAM - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Flag for empty buffers that signal that the end of the stream was reached.
      +
      +
      BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that a buffer has supplemental data.
      +
      +
      BUFFER_FLAG_KEY_FRAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that a buffer holds a synchronization sample.
      +
      +
      BUFFER_FLAG_LAST_SAMPLE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that a buffer is known to contain the last media sample of the stream.
      +
      +
      BUFFER_REPLACEMENT_MODE_DIRECT - Static variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Allows buffer replacement using ByteBuffer.allocateDirect(int).
      +
      +
      BUFFER_REPLACEMENT_MODE_DISABLED - Static variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Disallows buffer replacement.
      +
      +
      BUFFER_REPLACEMENT_MODE_NORMAL - Static variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Allows buffer replacement using ByteBuffer.allocate(int).
      +
      +
      build() - Method in class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
      +
      Creates an AudioAttributes instance from this builder.
      +
      +
      build() - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Builds an instance.
      +
      +
      build() - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      + +
      +
      build() - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Builds an ExoPlayer instance.
      +
      +
      build() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Returns a new ImaAdsLoader.
      +
      +
      build() - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Builds MediaSession.SessionCallback.
      +
      +
      build() - Method in class com.google.android.exoplayer2.Format.Builder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Returns a new MediaItem instance with the current builder values.
      +
      +
      build() - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
      +
      +
      Returns a new MediaMetadata instance with the current builder values.
      +
      +
      build() - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Builds a SimpleExoPlayer instance.
      +
      +
      build() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Builds the schedule.
      +
      +
      build() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Builds an ExoPlayerTestRunner using the provided values or their defaults.
      +
      +
      build() - Method in class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig.Builder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      build() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Builds an SimpleExoPlayer using the provided values or their defaults.
      +
      +
      build() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      + +
      +
      build() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Build the cue.
      +
      +
      build() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Builds a DefaultTrackSelector.Parameters instance with the selected values.
      +
      +
      build() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Builds a TrackSelectionParameters instance with the selected values.
      +
      +
      build() - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Builds a Transformer instance.
      +
      +
      build() - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Builds the dialog.
      +
      +
      build() - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      +
      Builds a DataSpec with the builder's current values.
      +
      +
      build() - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Builds the bandwidth meter.
      +
      +
      build(MediaDrmCallback) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Builds a DefaultDrmSessionManager instance.
      +
      +
      buildAacLcAudioSpecificConfig(int, int) - Static method in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Builds a simple AAC LC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
      +
      +
      buildAdaptationSet(int, int, List<Representation>, List<Descriptor>, List<Descriptor>, List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildAddDownloadIntent(Context, Class<? extends DownloadService>, DownloadRequest, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for adding a new download.
      +
      +
      buildAddDownloadIntent(Context, Class<? extends DownloadService>, DownloadRequest, int, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for adding a new download.
      +
      +
      buildAssetUri(String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns the Uri for the given asset path.
      +
      +
      buildAudioRenderers(Context, int, MediaCodecSelector, boolean, AudioSink, Handler, AudioRendererEventListener, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds audio renderers for use by the player.
      +
      +
      buildAudioSink(Context, boolean, boolean, boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds an AudioSink to which the audio renderers will output.
      +
      +
      buildAudioSpecificConfig(int, int, int) - Static method in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Builds a simple AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
      +
      +
      buildAvcCodecString(int, int, int) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Builds an RFC 6381 AVC codec string using the provided parameters.
      +
      +
      buildCacheKey(DataSpec) - Method in interface com.google.android.exoplayer2.upstream.cache.CacheKeyFactory
      +
      +
      Returns the cache key of the resource containing the data defined by a DataSpec.
      +
      +
      buildCameraMotionRenderers(Context, int, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds camera motion renderers for use by the player.
      +
      +
      buildCea708InitializationData(boolean) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Returns initialization data for formats with MIME type MimeTypes.APPLICATION_CEA708.
      +
      +
      buildDataSpec(Representation, RangedUri, int) - Static method in class com.google.android.exoplayer2.source.dash.DashUtil
      +
      +
      Builds a DataSpec for a given RangedUri belonging to Representation.
      +
      +
      buildDownloadCompletedNotification(Context, int, PendingIntent, String) - Method in class com.google.android.exoplayer2.ui.DownloadNotificationHelper
      +
      +
      Returns a notification for a completed download.
      +
      +
      buildDownloadCompletedNotification(Context, int, String, PendingIntent, String) - Static method in class com.google.android.exoplayer2.ui.DownloadNotificationUtil
      +
      +
      Deprecated.
      +
      Returns a notification for a completed download.
      +
      +
      buildDownloadFailedNotification(Context, int, PendingIntent, String) - Method in class com.google.android.exoplayer2.ui.DownloadNotificationHelper
      +
      +
      Returns a notification for a failed download.
      +
      +
      buildDownloadFailedNotification(Context, int, String, PendingIntent, String) - Static method in class com.google.android.exoplayer2.ui.DownloadNotificationUtil
      +
      +
      Deprecated.
      +
      Returns a notification for a failed download.
      +
      +
      buildDrmSessionManager() - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      Builder() - Constructor for class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
      +
      Creates a new builder for AudioAttributes.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Creates a builder.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Constructs a new instance.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Creates a builder with default values.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.Format.Builder
      +
      +
      Creates a new instance with default values.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Creates a builder.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.MediaMetadata.Builder
      +
       
      +
      Builder() - Constructor for class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
      +
      Construct a new instance.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig.Builder
      +
       
      +
      Builder() - Constructor for class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      Builder() - Constructor for class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Constructs an instance.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.text.Cue.Builder
      +
       
      +
      Builder() - Constructor for class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Deprecated. +
      Context constraints will not be set when using this constructor. Use + Builder(Context) instead.
      +
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Creates a builder with default values.
      +
      +
      Builder() - Constructor for class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      +
      Creates a new instance with default values.
      +
      +
      Builder(Context) - Constructor for class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Creates a new builder for ImaAdsLoader.
      +
      +
      Builder(Context) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Creates a builder.
      +
      +
      Builder(Context) - Constructor for class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      Builder(Context) - Constructor for class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Creates a builder with default initial values.
      +
      +
      Builder(Context) - Constructor for class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Creates a builder with default parameters and without listener.
      +
      +
      Builder(Context, ExtractorsFactory) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Creates a builder with a custom ExtractorsFactory.
      +
      +
      Builder(Context, Renderer...) - Constructor for class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Creates a builder with a list of Renderers.
      +
      +
      Builder(Context, RenderersFactory) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Creates a builder with a custom RenderersFactory.
      +
      +
      Builder(Context, RenderersFactory, ExtractorsFactory) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Creates a builder with a custom RenderersFactory and ExtractorsFactory.
      +
      +
      Builder(Context, RenderersFactory, TrackSelector, MediaSourceFactory, LoadControl, BandwidthMeter, AnalyticsCollector) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Creates a builder with the specified custom components.
      +
      +
      Builder(Renderer[], TrackSelector, MediaSourceFactory, LoadControl, BandwidthMeter) - Constructor for class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Creates a builder with the specified custom components.
      +
      +
      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
      +
      +
      Creates a new instance with the specified id and uri.
      +
      +
      buildEvent(String, String, long, long, byte[]) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildEventStream(String, String, long, long[], EventMessage[]) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildExoPlayer(HostActivity, Surface, MappingTrackSelector) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      buildFormat(String, String, int, int, float, int, int, int, String, List<Descriptor>, List<Descriptor>, String, List<Descriptor>, List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildHevcCodecStringFromSps(ParsableNalUnitBitArray) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Returns an RFC 6381 HEVC codec string based on the SPS NAL unit read from the provided bit + array.
      +
      +
      buildInitializationData(byte[]) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
      +
      +
      Builds codec initialization data from an Opus Identification Header.
      +
      +
      buildMediaPresentationDescription(long, long, long, boolean, long, long, long, long, ProgramInformation, UtcTimingElement, ServiceDescriptionElement, Uri, List<Period>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildMetadataRenderers(Context, MetadataOutput, Looper, int, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds metadata renderers for use by the player.
      +
      +
      buildMiscellaneousRenderers(Context, Handler, int, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds any miscellaneous renderers used by the player.
      +
      +
      buildNalUnit(byte[], int, int) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Constructs a NAL unit consisting of the NAL start code followed by the specified data.
      +
      +
      buildPauseDownloadsIntent(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent to pause all downloads.
      +
      +
      buildPeriod(String, long, List<AdaptationSet>, List<EventStream>, Descriptor) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildProgressNotification(Context, int, PendingIntent, String, List<Download>) - Method in class com.google.android.exoplayer2.ui.DownloadNotificationHelper
      +
      +
      Returns a progress notification for the given downloads.
      +
      +
      buildProgressNotification(Context, int, String, PendingIntent, String, List<Download>) - Static method in class com.google.android.exoplayer2.ui.DownloadNotificationUtil
      +
      +
      Deprecated.
      +
      Returns a progress notification for the given downloads.
      +
      +
      buildPsshAtom(UUID, byte[]) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Builds a version 0 PSSH atom for a given system id, containing the given data.
      +
      +
      buildPsshAtom(UUID, UUID[], byte[]) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Builds a PSSH atom for the given system id, containing the given key ids and data.
      +
      +
      buildRangedUri(String, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildRawResourceUri(int) - Static method in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
      +
      Builds a Uri for the specified raw resource identifier.
      +
      +
      buildRemoveAllDownloadsIntent(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for removing all downloads.
      +
      +
      buildRemoveDownloadIntent(Context, Class<? extends DownloadService>, String, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for removing the download with the id.
      +
      +
      buildRepresentation(DashManifestParser.RepresentationInfo, String, String, ArrayList<DrmInitData.SchemeData>, ArrayList<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildRequestBuilder(DataSpec) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      buildRequestUri(int, int) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
      +
      Builds a uri for requesting the specified chunk of the specified track.
      +
      +
      buildResumeDownloadsIntent(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for resuming all downloads.
      +
      +
      buildSegmentList(RangedUri, long, long, long, long, List<SegmentBase.SegmentTimelineElement>, long, List<RangedUri>, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildSegmentTemplate(RangedUri, long, long, long, long, long, List<SegmentBase.SegmentTimelineElement>, long, UrlTemplate, UrlTemplate, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildSegmentTimelineElement(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildSetRequirementsIntent(Context, Class<? extends DownloadService>, Requirements, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for setting the requirements that need to be met for downloads to + progress.
      +
      +
      buildSetStopReasonIntent(Context, Class<? extends DownloadService>, String, int, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Builds an Intent for setting the stop reason for one or all downloads.
      +
      +
      buildSingleSegmentBase(RangedUri, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildSource(HostActivity, DrmSessionManager, FrameLayout) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      buildTestData(int) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Equivalent to buildTestData(length, length).
      +
      +
      buildTestData(int, int) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Generates an array of random bytes with the specified length.
      +
      +
      buildTestData(int, Random) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Generates an array of random bytes with the specified length.
      +
      +
      buildTestString(int, Random) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Generates a random string with the specified length.
      +
      +
      buildTextRenderers(Context, TextOutput, Looper, int, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds text renderers for use by the player.
      +
      +
      buildTrackSelector(HostActivity) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      buildUpon() - Method in class com.google.android.exoplayer2.Format
      +
      +
      Returns a Format.Builder initialized with the values of this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.MediaItem
      +
      +
      Returns a MediaItem.Builder initialized with the values of this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns a new WebServerDispatcher.Resource.Builder initialized with the values from this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.text.Cue
      +
      +
      Returns a new Cue.Builder initialized with the same values as this Cue.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Creates a new DefaultTrackSelector.ParametersBuilder, copying the initial values from this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      Creates a new TrackSelectionParameters.Builder, copying the initial values from this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Returns a Transformer.Builder initialized with the values of this instance.
      +
      +
      buildUpon() - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a DataSpec.Builder initialized with the values of this instance.
      +
      +
      buildUponParameters() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Returns a new DefaultTrackSelector.ParametersBuilder initialized with the current selection parameters.
      +
      +
      buildUri(String, long, int, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.UrlTemplate
      +
      +
      Constructs a Uri from the template, substituting in the provided arguments.
      +
      +
      buildUtcTimingElement(String, String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      buildVideoRenderers(Context, int, MediaCodecSelector, boolean, Handler, VideoRendererEventListener, long, ArrayList<Renderer>) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Builds video renderers for use by the player.
      +
      +
      BundledChunkExtractor - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      ChunkExtractor implementation that uses ExoPlayer app-bundled Extractors.
      +
      +
      BundledChunkExtractor(Extractor, int, Format) - Constructor for class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
      +
      Creates an instance.
      +
      +
      BundledHlsMediaChunkExtractor - Class in com.google.android.exoplayer2.source.hls
      +
      +
      HlsMediaChunkExtractor implementation that uses ExoPlayer app-bundled Extractors.
      +
      +
      BundledHlsMediaChunkExtractor(Extractor, Format, TimestampAdjuster) - Constructor for class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
      +
      Creates a new instance.
      +
      +
      BY_START_THEN_END_THEN_DIVISOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      byteAlign() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Aligns the position to the next byte boundary.
      +
      +
      ByteArrayDataSink - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSink for writing to a byte array.
      +
      +
      ByteArrayDataSink() - Constructor for class com.google.android.exoplayer2.upstream.ByteArrayDataSink
      +
       
      +
      ByteArrayDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading from a byte array.
      +
      +
      ByteArrayDataSource(byte[]) - Constructor for class com.google.android.exoplayer2.upstream.ByteArrayDataSource
      +
       
      +
      byteOffset - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      byteRangeLength - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The segment's byte range length, as defined by #EXT-X-BYTERANGE, #EXT-X-PART or + #EXT-X-PRELOAD-HINT, or C.LENGTH_UNSET if no byte range is specified or the byte + range is open-ended.
      +
      +
      byteRangeOffset - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The segment's byte range offset, as defined by #EXT-X-BYTERANGE, #EXT-X-PART or + #EXT-X-PRELOAD-HINT.
      +
      +
      BYTES_PER_FLOAT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The number of bytes per float.
      +
      +
      bytesBetweenReference - Variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      bytesDeviations - Variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      bytesDownloaded - Variable in class com.google.android.exoplayer2.offline.DownloadProgress
      +
      +
      The number of bytes that have been downloaded.
      +
      +
      bytesLeft() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Returns the number of bytes yet to be read.
      +
      +
      bytesLoaded - Variable in exception com.google.android.exoplayer2.drm.MediaDrmCallbackException
      +
      +
      The number of bytes obtained from the server.
      +
      +
      bytesLoaded - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      The number of bytes that were loaded up to the event time.
      +
      +
      bytesLoaded() - Method in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      Returns the number of bytes that have been loaded.
      +
      +
      bytesLoaded() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Returns the number of bytes loaded.
      +
      +
      bytesPerFrame - Variable in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
      +
      The number of bytes used to represent one audio frame.
      +
      +
      bytesRead - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      bytesRead() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Returns the number of bytes that have been read since the most recent call to + OkHttpDataSource.open(DataSpec).
      +
      +
      bytesRead() - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
      +
      Returns the total number of bytes that have been read or skipped.
      +
      +
      bytesRead() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Returns the number of bytes that have been read since the most recent call to + DefaultHttpDataSource.open(DataSpec).
      +
      +
      bytesRemaining() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Returns the number of bytes that are still to be read for the current DataSpec.
      +
      +
      bytesRemaining() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Returns the number of bytes that are still to be read for the current DataSpec.
      +
      +
      bytesSkipped() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Returns the number of bytes that have been skipped since the most recent call to + OkHttpDataSource.open(DataSpec).
      +
      +
      bytesSkipped() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Returns the number of bytes that have been skipped since the most recent call to + DefaultHttpDataSource.open(DataSpec).
      +
      +
      bytesTransferred(int) - Method in class com.google.android.exoplayer2.upstream.BaseDataSource
      +
      +
      Notifies listeners that bytes were transferred.
      +
      +
      + + + +

      C

      +
      +
      C - Class in com.google.android.exoplayer2
      +
      +
      Defines constants used by the library.
      +
      +
      C.AudioAllowedCapturePolicy - Annotation Type in com.google.android.exoplayer2
      +
      +
      Capture policies for audio attributes.
      +
      +
      C.AudioContentType - Annotation Type in com.google.android.exoplayer2
      +
      +
      Content types for audio attributes.
      +
      +
      C.AudioFlags - Annotation Type in com.google.android.exoplayer2
      +
      +
      Flags for audio attributes.
      +
      +
      C.AudioFocusGain - Annotation Type in com.google.android.exoplayer2
      +
      +
      Audio focus types.
      +
      +
      C.AudioUsage - Annotation Type in com.google.android.exoplayer2
      +
      +
      Usage types for audio attributes.
      +
      +
      C.BufferFlags - Annotation Type in com.google.android.exoplayer2
      +
      +
      Flags which can apply to a buffer containing a media sample.
      +
      +
      C.ColorRange - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video color range.
      +
      +
      C.ColorSpace - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video colorspaces.
      +
      +
      C.ColorTransfer - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video color transfer characteristics.
      +
      +
      C.ContentType - Annotation Type in com.google.android.exoplayer2
      +
      +
      Represents a streaming or other media type.
      +
      +
      C.CryptoMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Crypto modes for a codec.
      +
      +
      C.Encoding - Annotation Type in com.google.android.exoplayer2
      +
      +
      Represents an audio encoding, or an invalid or unset value.
      +
      +
      C.FormatSupport - Annotation Type in com.google.android.exoplayer2
      +
      +
      Level of renderer support for a format.
      +
      +
      C.NetworkType - Annotation Type in com.google.android.exoplayer2
      +
      +
      Network connection type.
      +
      +
      C.PcmEncoding - Annotation Type in com.google.android.exoplayer2
      +
      +
      Represents a PCM audio encoding, or an invalid or unset value.
      +
      +
      C.Projection - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video projection types.
      +
      +
      C.RoleFlags - Annotation Type in com.google.android.exoplayer2
      +
      +
      Track role flags.
      +
      +
      C.SelectionFlags - Annotation Type in com.google.android.exoplayer2
      +
      +
      Track selection flags.
      +
      +
      C.StereoMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      The stereo mode for 360/3D/VR videos.
      +
      +
      C.StreamType - Annotation Type in com.google.android.exoplayer2
      +
      +
      Stream types for an AudioTrack.
      +
      +
      C.VideoOutputMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video decoder output modes.
      +
      +
      C.VideoScalingMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Video scaling modes for MediaCodec-based renderers.
      +
      +
      C.WakeMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Mode specifying whether the player should hold a WakeLock and a WifiLock.
      +
      +
      cache() - Method in class com.google.android.exoplayer2.upstream.cache.CacheWriter
      +
      +
      Caches the requested data, skipping any that's already cached.
      +
      +
      Cache - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      A cache that supports partial caching of resources.
      +
      +
      CACHE_IGNORED_REASON_ERROR - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Cache ignored due to a cache related error.
      +
      +
      CACHE_IGNORED_REASON_UNSET_LENGTH - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Cache ignored due to a request with an unset length.
      +
      +
      Cache.CacheException - Exception in com.google.android.exoplayer2.upstream.cache
      +
      +
      Thrown when an error is encountered when writing data.
      +
      +
      Cache.Listener - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Listener of Cache events.
      +
      +
      CacheAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Assertion methods for Cache.
      +
      +
      CacheAsserts.RequestSet - Class in com.google.android.exoplayer2.testutil
      +
      +
      Defines a set of data requests.
      +
      +
      CACHED_TO_END - Static variable in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      CacheDataSink - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Writes data into a cache.
      +
      +
      CacheDataSink(Cache, long) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
      +
      Constructs an instance using CacheDataSink.DEFAULT_BUFFER_SIZE.
      +
      +
      CacheDataSink(Cache, long, int) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
       
      +
      CacheDataSink.CacheDataSinkException - Exception in com.google.android.exoplayer2.upstream.cache
      +
      +
      Thrown when an IOException is encountered when writing data to the sink.
      +
      +
      CacheDataSink.Factory - Class in com.google.android.exoplayer2.upstream.cache
      +
      + +
      +
      CacheDataSinkException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.cache.CacheDataSink.CacheDataSinkException
      +
       
      +
      CacheDataSinkFactory - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Deprecated. + +
      +
      +
      CacheDataSinkFactory(Cache, long) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSinkFactory
      +
      +
      Deprecated.
      +
      CacheDataSinkFactory(Cache, long, int) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSinkFactory
      +
      +
      Deprecated.
      +
      CacheDataSource - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      A DataSource that reads and writes a Cache.
      +
      +
      CacheDataSource(Cache, DataSource) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Constructs an instance with default DataSource and DataSink instances for + reading and writing the cache.
      +
      +
      CacheDataSource(Cache, DataSource, int) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Constructs an instance with default DataSource and DataSink instances for + reading and writing the cache.
      +
      +
      CacheDataSource(Cache, DataSource, DataSource, DataSink, int, CacheDataSource.EventListener) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Constructs an instance with arbitrary DataSource and DataSink instances for + reading and writing the cache.
      +
      +
      CacheDataSource(Cache, DataSource, DataSource, DataSink, int, CacheDataSource.EventListener, CacheKeyFactory) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Constructs an instance with arbitrary DataSource and DataSink instances for + reading and writing the cache.
      +
      +
      CacheDataSource.CacheIgnoredReason - Annotation Type in com.google.android.exoplayer2.upstream.cache
      +
      +
      Reasons the cache may be ignored.
      +
      +
      CacheDataSource.EventListener - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Listener of CacheDataSource events.
      +
      +
      CacheDataSource.Factory - Class in com.google.android.exoplayer2.upstream.cache
      +
      + +
      +
      CacheDataSource.Flags - Annotation Type in com.google.android.exoplayer2.upstream.cache
      +
      +
      Flags controlling the CacheDataSource's behavior.
      +
      +
      CacheDataSourceFactory - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Deprecated. + +
      +
      +
      CacheDataSourceFactory(Cache, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
      +
      +
      Deprecated.
      +
      Constructs a factory which creates CacheDataSource instances with default DataSource and DataSink instances for reading and writing the cache.
      +
      +
      CacheDataSourceFactory(Cache, DataSource.Factory, int) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
      +
      +
      Deprecated.
      +
      CacheDataSourceFactory(Cache, DataSource.Factory, DataSource.Factory, DataSink.Factory, int, CacheDataSource.EventListener) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
      +
      +
      Deprecated.
      +
      CacheDataSourceFactory(Cache, DataSource.Factory, DataSource.Factory, DataSink.Factory, int, CacheDataSource.EventListener, CacheKeyFactory) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
      +
      +
      Deprecated.
      +
      CachedRegionTracker - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Utility class for efficiently tracking regions of data that are stored in a Cache + for a given cache key.
      +
      +
      CachedRegionTracker(Cache, String, ChunkIndex) - Constructor for class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      CacheEvictor - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Evicts data from a Cache.
      +
      +
      CacheException(String) - Constructor for exception com.google.android.exoplayer2.upstream.cache.Cache.CacheException
      +
       
      +
      CacheException(String, Throwable) - Constructor for exception com.google.android.exoplayer2.upstream.cache.Cache.CacheException
      +
       
      +
      CacheException(Throwable) - Constructor for exception com.google.android.exoplayer2.upstream.cache.Cache.CacheException
      +
       
      +
      CacheKeyFactory - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Factory for cache keys.
      +
      +
      CacheSpan - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Defines a span of data that may or may not be cached (as indicated by CacheSpan.isCached).
      +
      +
      CacheSpan(String, long, long) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      Creates a hole CacheSpan which isn't cached, has no last touch timestamp and no file + associated.
      +
      +
      CacheSpan(String, long, long, long, File) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      Creates a CacheSpan.
      +
      +
      CacheWriter - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Caching related utility methods.
      +
      +
      CacheWriter(CacheDataSource, DataSpec, boolean, byte[], CacheWriter.ProgressListener) - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheWriter
      +
       
      +
      CacheWriter.ProgressListener - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Receives progress updates during cache operations.
      +
      +
      calculateNextSearchBytePosition(long, long, long, long, long, long) - Static method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekOperationParams
      +
      +
      Returns the next position in the stream to search for target frame, given [floorBytePosition, + ceilingBytePosition), with corresponding [floorTimePosition, ceilingTimePosition).
      +
      +
      calculateTargetBufferBytes(Renderer[], ExoTrackSelection[]) - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      Calculate target buffer size in bytes based on the selected tracks.
      +
      +
      CameraMotionListener - Interface in com.google.android.exoplayer2.video.spherical
      +
      +
      Listens camera motion.
      +
      +
      CameraMotionRenderer - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      A Renderer that parses the camera motion track.
      +
      +
      CameraMotionRenderer() - Constructor for class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      canBlockReload - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      Whether the server supports blocking playlist reload.
      +
      +
      cancel() - Method in class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler
      +
      +
      Deprecated.
      +
      cancel() - Method in class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
      +
       
      +
      cancel() - Method in interface com.google.android.exoplayer2.offline.Downloader
      +
      +
      Permanently cancels the downloading by this downloader.
      +
      +
      cancel() - Method in class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
       
      +
      cancel() - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
       
      +
      cancel() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Cancels the message delivery.
      +
      +
      cancel() - Method in class com.google.android.exoplayer2.scheduler.PlatformScheduler
      +
       
      +
      cancel() - Method in interface com.google.android.exoplayer2.scheduler.Scheduler
      +
      +
      Cancels anything that was previously scheduled, or else does nothing.
      +
      +
      cancel() - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Cancels the transformation that is currently in progress, if any.
      +
      +
      cancel() - Method in class com.google.android.exoplayer2.upstream.cache.CacheWriter
      +
      +
      Cancels this writer's caching operation.
      +
      +
      cancel(boolean) - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
       
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.source.chunk.DataChunk
      +
       
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.source.chunk.InitializationChunk
      +
       
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.source.chunk.SingleSampleMediaChunk
      +
       
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunk
      +
       
      +
      cancelLoad() - Method in interface com.google.android.exoplayer2.upstream.Loader.Loadable
      +
      +
      Cancels the load.
      +
      +
      cancelLoad() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
       
      +
      cancelLoading() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Cancels the current load.
      +
      +
      cancelWork() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
      +
      Cancels any work being done by RunnableFutureTask.doWork().
      +
      +
      canReadBits(int) - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Returns whether it's possible to read n bits starting from the current offset.
      +
      +
      canReadExpGolombCodedNum() - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Returns whether it is possible to read an Exp-Golomb-coded integer starting from the current + offset.
      +
      +
      canReplace(DrmInitData.SchemeData) - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      Returns whether this DrmInitData.SchemeData can be used to replace other.
      +
      +
      canReuseCodec(Format, Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Evaluates whether it's possible to reuse an instance of this decoder that's currently decoding + oldFormat to decode newFormat instead.
      +
      +
      canReuseCodec(MediaCodecInfo, Format, Format) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      canReuseCodec(MediaCodecInfo, Format, Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Evaluates whether the existing MediaCodec can be kept for a new Format, and if + it can whether it requires reconfiguration.
      +
      +
      canReuseCodec(MediaCodecInfo, Format, Format) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      canReuseDecoder(String, Format, Format) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Evaluates whether the existing decoder can be reused for a new Format.
      +
      +
      canReuseDecoder(String, Format, Format) - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      canReuseDecoder(String, Format, Format) - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      canReuseDecoder(String, Format, Format) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Evaluates whether the existing decoder can be reused for a new Format.
      +
      +
      canSelectFormat(Format, int, float, long) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
      +
      Called when updating the selected track to determine whether a candidate track can be selected.
      +
      +
      canSkipDateRanges - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      Whether the playlist can produce delta updates that skip older #EXT-X-DATERANGE tags in + addition to media segments.
      +
      +
      capabilities - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The capabilities of the decoder, like the profiles/levels it supports, or null if not + known.
      +
      +
      capacity() - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Returns the length of the backing array.
      +
      +
      capacity() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Returns the capacity of the array, which may be larger than the limit.
      +
      +
      captionGroupId - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The CLOSED-CAPTIONS value as defined in the EXT-X-STREAM-INF tag, or null if the + CLOSED-CAPTIONS attribute is not present.
      +
      +
      captionGroupId - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      The caption rendition group referenced by this variant, or null.
      +
      +
      CaptionStyleCompat - Class in com.google.android.exoplayer2.text
      +
      +
      A compatibility wrapper for CaptioningManager.CaptionStyle.
      +
      +
      CaptionStyleCompat(int, int, int, int, int, Typeface) - Constructor for class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
       
      +
      CaptionStyleCompat.EdgeType - Annotation Type in com.google.android.exoplayer2.text
      +
      +
      The type of edge, which may be none.
      +
      +
      captureFrameRate - Variable in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
      +
      The capture frame rate, in fps, or C.RATE_UNSET if it is unknown.
      +
      +
      CapturingAudioSink - Class in com.google.android.exoplayer2.testutil
      +
      +
      A ForwardingAudioSink that captures configuration, discontinuity and buffer events.
      +
      +
      CapturingAudioSink(AudioSink) - Constructor for class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      CapturingRenderersFactory - Class in com.google.android.exoplayer2.testutil
      +
      +
      A RenderersFactory that captures interactions with the audio and video MediaCodecAdapter instances.
      +
      +
      CapturingRenderersFactory(Context) - Constructor for class com.google.android.exoplayer2.testutil.CapturingRenderersFactory
      +
       
      +
      castNonNull(T) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Casts a nullable variable to a non-null variable without runtime null check.
      +
      +
      castNonNullTypeArray(T[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Casts a nullable type array to a non-null type array without runtime null check.
      +
      +
      CastPlayer - Class in com.google.android.exoplayer2.ext.cast
      +
      +
      Player implementation that communicates with a Cast receiver app.
      +
      +
      CastPlayer(CastContext) - Constructor for class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Creates a new cast player that uses a DefaultMediaItemConverter.
      +
      +
      CastPlayer(CastContext, MediaItemConverter) - Constructor for class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Creates a new cast player.
      +
      +
      Cea608Decoder - Class in com.google.android.exoplayer2.text.cea
      +
      +
      A SubtitleDecoder for CEA-608 (also known as "line 21 captions" and "EIA-608").
      +
      +
      Cea608Decoder(String, int, long) - Constructor for class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
      +
      Constructs an instance.
      +
      +
      Cea708Decoder - Class in com.google.android.exoplayer2.text.cea
      +
      +
      A SubtitleDecoder for CEA-708 (also known as "EIA-708").
      +
      +
      Cea708Decoder(int, List<byte[]>) - Constructor for class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      CeaUtil - Class in com.google.android.exoplayer2.extractor
      +
      +
      Utility methods for handling CEA-608/708 messages.
      +
      +
      ceilDivide(int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Divides a numerator by a denominator, returning the ceiled result.
      +
      +
      ceilDivide(long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Divides a numerator by a denominator, returning the ceiled result.
      +
      +
      CENC_TYPE_cbc1 - Static variable in class com.google.android.exoplayer2.C
      +
      +
      "cbc1" scheme type name as defined in ISO/IEC 23001-7:2016.
      +
      +
      CENC_TYPE_cbcs - Static variable in class com.google.android.exoplayer2.C
      +
      +
      "cbcs" scheme type name as defined in ISO/IEC 23001-7:2016.
      +
      +
      CENC_TYPE_cenc - Static variable in class com.google.android.exoplayer2.C
      +
      +
      "cenc" scheme type name as defined in ISO/IEC 23001-7:2016.
      +
      +
      CENC_TYPE_cens - Static variable in class com.google.android.exoplayer2.C
      +
      +
      "cens" scheme type name as defined in ISO/IEC 23001-7:2016.
      +
      +
      channelCount - Variable in class com.google.android.exoplayer2.audio.AacUtil.Config
      +
      +
      The number of channels.
      +
      +
      channelCount - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      The number of audio channels
      +
      +
      channelCount - Variable in class com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
      +
      +
      The number of audio channels
      +
      +
      channelCount - Variable in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
      +
      The number of interleaved channels.
      +
      +
      channelCount - Variable in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      channelCount - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The number of audio channels, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      channels - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      Number of audio channels in the frame.
      +
      +
      channels - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Number of audio channels.
      +
      +
      channels - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The audio_channels field.
      +
      +
      ChapterFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Chapter information ID3 frame.
      +
      +
      ChapterFrame(String, int, int, long, long, Id3Frame[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      chapterId - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      ChapterTocFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Chapter table of contents ID3 frame.
      +
      +
      ChapterTocFrame(String, boolean, boolean, String[], Id3Frame[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      checkAndPeekStreamMarker(ExtractorInput) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Peeks the FLAC stream marker.
      +
      +
      checkAndReadFrameHeader(ParsableByteArray, FlacStreamMetadata, int, FlacFrameReader.SampleNumberHolder) - Static method in class com.google.android.exoplayer2.extractor.FlacFrameReader
      +
      +
      Checks whether the given FLAC frame header is valid and, if so, reads it and writes the frame + first sample number in sampleNumberHolder.
      +
      +
      checkArgument(boolean) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalArgumentException if expression evaluates to false.
      +
      +
      checkArgument(boolean, Object) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalArgumentException if expression evaluates to false.
      +
      +
      checkCleartextTrafficPermitted(MediaItem...) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether it may be possible to load the URIs of the given media items based on the + network security policy's cleartext traffic permissions.
      +
      +
      checkFrameHeaderFromPeek(ExtractorInput, FlacStreamMetadata, int, FlacFrameReader.SampleNumberHolder) - Static method in class com.google.android.exoplayer2.extractor.FlacFrameReader
      +
      +
      Checks whether the given FLAC frame header is valid and, if so, writes the frame first sample + number in sampleNumberHolder.
      +
      +
      checkGlError() - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      If there is an OpenGl error, logs the error and if ExoPlayerLibraryInfo.GL_ASSERTIONS_ENABLED is true throws a RuntimeException.
      +
      +
      checkInBounds() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
      +
      Verifies that the iterator points to a valid element.
      +
      +
      checkIndex(int, int, int) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IndexOutOfBoundsException if index falls outside the specified bounds.
      +
      +
      checkInitialization() - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Checks whether the cache was initialized successfully.
      +
      +
      checkMainThread() - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalStateException if the calling thread is not the application's main + thread.
      +
      +
      checkNotEmpty(String) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalArgumentException if string is null or zero length.
      +
      +
      checkNotEmpty(String, Object) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalArgumentException if string is null or zero length.
      +
      +
      checkNotNull(T) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws NullPointerException if reference is null.
      +
      +
      checkNotNull(T, Object) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws NullPointerException if reference is null.
      +
      +
      checkRequirements(Context) - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether the requirements are met.
      +
      +
      checkState(boolean) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalStateException if expression evaluates to false.
      +
      +
      checkState(boolean, Object) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalStateException if expression evaluates to false.
      +
      +
      checkStateNotNull(T) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalStateException if reference is null.
      +
      +
      checkStateNotNull(T, Object) - Static method in class com.google.android.exoplayer2.util.Assertions
      +
      +
      Throws IllegalStateException if reference is null.
      +
      +
      children - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      chunk - Variable in class com.google.android.exoplayer2.source.chunk.ChunkHolder
      +
      +
      The chunk.
      +
      +
      Chunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      An abstract base class for Loader.Loadable implementations that load chunks of data required + for the playback of streams.
      +
      +
      Chunk(DataSource, DataSpec, int, Format, int, Object, long, long) - Constructor for class com.google.android.exoplayer2.source.chunk.Chunk
      +
       
      +
      chunkCount - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      ChunkExtractor - Interface in com.google.android.exoplayer2.source.chunk
      +
      +
      Extracts samples and track Formats from chunks.
      +
      +
      ChunkExtractor.TrackOutputProvider - Interface in com.google.android.exoplayer2.source.chunk
      +
      +
      Provides TrackOutput instances to be written to during extraction.
      +
      +
      ChunkHolder - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      Holds a chunk or an indication that the end of the stream has been reached.
      +
      +
      ChunkHolder() - Constructor for class com.google.android.exoplayer2.source.chunk.ChunkHolder
      +
       
      +
      chunkIndex - Variable in class com.google.android.exoplayer2.source.chunk.MediaChunk
      +
      +
      The chunk index, or C.INDEX_UNSET if it is not known.
      +
      +
      ChunkIndex - Class in com.google.android.exoplayer2.extractor
      +
      +
      Defines chunks of samples within a media stream.
      +
      +
      ChunkIndex(int[], long[], long[], long[]) - Constructor for class com.google.android.exoplayer2.extractor.ChunkIndex
      +
       
      +
      ChunkSampleStream<T extends ChunkSource> - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A SampleStream that loads media in Chunks, obtained from a ChunkSource.
      +
      +
      ChunkSampleStream(int, int[], Format[], T, SequenceableLoader.Callback<ChunkSampleStream<T>>, Allocator, long, DrmSessionManager, DrmSessionEventListener.EventDispatcher, LoadErrorHandlingPolicy, MediaSourceEventListener.EventDispatcher) - Constructor for class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Constructs an instance.
      +
      +
      ChunkSampleStream.EmbeddedSampleStream - Class in com.google.android.exoplayer2.source.chunk
      +
      + +
      +
      ChunkSampleStream.ReleaseCallback<T extends ChunkSource> - Interface in com.google.android.exoplayer2.source.chunk
      +
      +
      A callback to be notified when a sample stream has finished being released.
      +
      +
      ChunkSource - Interface in com.google.android.exoplayer2.source.chunk
      +
      +
      A provider of Chunks for a ChunkSampleStream to load.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Clears the buffer.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
       
      +
      clear() - Method in class com.google.android.exoplayer2.decoder.SimpleOutputBuffer
      +
       
      +
      clear() - Method in class com.google.android.exoplayer2.FormatHolder
      +
      +
      Clears the holder.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.source.chunk.ChunkHolder
      +
      +
      Clears the holder.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Clears the playlist.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      clear() - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      clear() - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Clears all request properties.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Clears the queue.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Clears all previously set flags.
      +
      +
      clear() - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Removes all of the values.
      +
      +
      clear(Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Clears the playlist and executes a custom action on completion.
      +
      +
      clearAllKeyRequestProperties() - Method in class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
      +
      Clears all headers for key requests made by the callback.
      +
      +
      clearAllRequestProperties() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      clearAllRequestProperties() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      clearAllRequestProperties() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      clearAllRequestProperties() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      Clears all request headers that were set by HttpDataSource.setRequestProperty(String, String).
      +
      +
      clearAndSet(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Removes all properties previously existing and sets the keys and values of the map.
      +
      +
      clearAuxEffectInfo() - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Detaches any previously attached auxiliary audio effect from the underlying audio track.
      +
      +
      clearAuxEffectInfo() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearBlocks - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
       
      +
      clearBlocks - Variable in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
      +
      The number of clear blocks in the encryption pattern, 0 if pattern encryption does not + apply.
      +
      +
      clearCameraMotionListener(CameraMotionListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the listener which receives camera motion events if it matches the one passed.
      +
      +
      clearCameraMotionListener(CameraMotionListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearDecoderInfoCache() - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Clears the codec cache.
      +
      +
      clearFatalError() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Clears any stored fatal error.
      +
      +
      clearFlag(int) - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Removes the flag from this buffer's flags, if it is set.
      +
      +
      CLEARKEY_UUID - Static variable in class com.google.android.exoplayer2.C
      +
      +
      UUID for the ClearKey DRM scheme.
      +
      +
      clearKeyRequestProperty(String) - Method in class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
      +
      Clears a header for key requests made by the callback.
      +
      +
      clearMediaItems() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      clearMediaItems() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist.
      +
      +
      clearMediaItems() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearMediaItems() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a clear media items action to be created.
      +
      +
      clearMediaItems() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      ClearMediaItems(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.ClearMediaItems
      +
       
      +
      clearPrefixFlags(boolean[]) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      + +
      +
      clearRequestProperty(String) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      clearRequestProperty(String) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      clearRequestProperty(String) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      clearRequestProperty(String) - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      Clears the value of a request header.
      +
      +
      clearSelectionOverride(int, TrackGroupArray) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Clears a track selection override for the specified renderer and TrackGroupArray.
      +
      +
      clearSelectionOverrides() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Clears all track selection overrides for all renderers.
      +
      +
      clearSelectionOverrides(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Clears all track selection overrides for the specified renderer.
      +
      +
      CleartextNotPermittedException(IOException, DataSpec) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.CleartextNotPermittedException
      +
       
      +
      clearTrackOutputs() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      clearTrackSelections(int) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Clears the selection of tracks for a period.
      +
      +
      clearVideoFrameMetadataListener(VideoFrameMetadataListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the listener which receives video frame metadata events if it matches the one passed.
      +
      +
      clearVideoFrameMetadataListener(VideoFrameMetadataListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearVideoSizeConstraints() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      clearVideoSurface() - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears any Surface, SurfaceHolder, SurfaceView or TextureView + currently set on the player.
      +
      +
      clearVideoSurface() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearVideoSurface() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a clear video surface action.
      +
      +
      clearVideoSurface(Surface) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the Surface onto which video is being rendered if it matches the one passed.
      +
      +
      clearVideoSurface(Surface) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      ClearVideoSurface(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.ClearVideoSurface
      +
       
      +
      clearVideoSurfaceHolder(SurfaceHolder) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the SurfaceHolder that holds the Surface onto which video is being + rendered if it matches the one passed.
      +
      +
      clearVideoSurfaceHolder(SurfaceHolder) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearVideoSurfaceView(SurfaceView) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the SurfaceView onto which video is being rendered if it matches the one + passed.
      +
      +
      clearVideoSurfaceView(SurfaceView) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearVideoTextureView(TextureView) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Clears the TextureView onto which video is being rendered if it matches the one + passed.
      +
      +
      clearVideoTextureView(TextureView) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      clearViewportSizeConstraints() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      clearWindowColor() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets Cue.windowColorSet to false.
      +
      +
      clippedEndTimeUs - Variable in class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
      +
      The time from which output will end, or C.TIME_UNSET if output will end at the end of + the chunk.
      +
      +
      clippedStartTimeUs - Variable in class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
      +
      The time from which output will begin, or C.TIME_UNSET if output will begin from the + start of the chunk.
      +
      +
      ClippingMediaPeriod - Class in com.google.android.exoplayer2.source
      +
      +
      Wraps a MediaPeriod and clips its SampleStreams to provide a subsequence of their + samples.
      +
      +
      ClippingMediaPeriod(MediaPeriod, boolean, long, long) - Constructor for class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
      +
      Creates a new clipping media period that provides a clipped view of the specified MediaPeriod's sample streams.
      +
      +
      ClippingMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      MediaSource that wraps a source and clips its timeline based on specified start/end + positions.
      +
      +
      ClippingMediaSource(MediaSource, long) - Constructor for class com.google.android.exoplayer2.source.ClippingMediaSource
      +
      +
      Creates a new clipping source that wraps the specified source and provides samples from the + default position for the specified duration.
      +
      +
      ClippingMediaSource(MediaSource, long, long) - Constructor for class com.google.android.exoplayer2.source.ClippingMediaSource
      +
      +
      Creates a new clipping source that wraps the specified source and provides samples between the + specified start and end position.
      +
      +
      ClippingMediaSource(MediaSource, long, long, boolean, boolean, boolean) - Constructor for class com.google.android.exoplayer2.source.ClippingMediaSource
      +
      +
      Creates a new clipping source that wraps the specified source.
      +
      +
      ClippingMediaSource.IllegalClippingException - Exception in com.google.android.exoplayer2.source
      +
      +
      Thrown when a ClippingMediaSource cannot clip its wrapped source.
      +
      +
      ClippingMediaSource.IllegalClippingException.Reason - Annotation Type in com.google.android.exoplayer2.source
      +
      +
      The reason clipping failed.
      +
      +
      clippingProperties - Variable in class com.google.android.exoplayer2.MediaItem
      +
      +
      The clipping properties.
      +
      +
      Clock - Interface in com.google.android.exoplayer2.util
      +
      +
      An interface through which system clocks can be read and HandlerWrappers created.
      +
      +
      cloneAndClear() - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns a copy of the shuffle order with all elements removed.
      +
      +
      cloneAndClear() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      cloneAndClear() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      cloneAndClear() - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      cloneAndInsert(int, int) - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns a copy of the shuffle order with newly inserted elements.
      +
      +
      cloneAndInsert(int, int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      cloneAndInsert(int, int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      cloneAndInsert(int, int) - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      cloneAndRemove(int, int) - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns a copy of the shuffle order with a range of elements removed.
      +
      +
      cloneAndRemove(int, int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      cloneAndRemove(int, int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      cloneAndRemove(int, int) - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
      +
       
      +
      close() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.AssetDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSink
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.ContentDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      close() - Method in interface com.google.android.exoplayer2.upstream.DataSink
      +
      +
      Closes the sink.
      +
      +
      close() - Method in interface com.google.android.exoplayer2.upstream.DataSource
      +
      +
      Closes the source.
      +
      +
      close() - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.FileDataSource
      +
       
      +
      close() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      close() - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Closes the condition.
      +
      +
      close() - Method in class com.google.android.exoplayer2.util.ReusableBufferedOutputStream
      +
       
      +
      closedCaptions - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The closed caption renditions declared by the playlist.
      +
      +
      closeQuietly(DataSource) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Closes a DataSource, suppressing any IOException that may occur.
      +
      +
      closeQuietly(Closeable) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Closes a Closeable, suppressing any IOException that may occur.
      +
      +
      closeSession(byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      closeSession(byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Closes a DRM session.
      +
      +
      closeSession(byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      closeSession(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      CLOSEST_SYNC - Static variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Parameters for seeking to the closest sync point.
      +
      +
      CODEC_OPERATING_RATE_UNSET - Static variable in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Indicates no codec operating rate should be set.
      +
      +
      codecInfo - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException
      +
      +
      The MediaCodecInfo of the decoder that failed.
      +
      +
      codecInfo - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
      +
      The MediaCodecInfo of the decoder that failed to initialize.
      +
      +
      CodecMaxValues(int, int, int) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer.CodecMaxValues
      +
       
      +
      codecMimeType - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The MIME type that the codec uses for media of type MediaCodecInfo.mimeType.
      +
      +
      codecNeedsSetOutputSurfaceWorkaround(String) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns whether the codec is known to implement MediaCodec.setOutputSurface(Surface) + incorrectly.
      +
      +
      codecs - Variable in class com.google.android.exoplayer2.audio.AacUtil.Config
      +
      +
      The RFC 6381 codecs string.
      +
      +
      codecs - Variable in class com.google.android.exoplayer2.Format
      +
      +
      Codecs of the format as described in RFC 6381, or null if unknown or not applicable.
      +
      +
      codecs - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      codecs - Variable in class com.google.android.exoplayer2.video.DolbyVisionConfig
      +
      +
      The RFC 6381 codecs string.
      +
      +
      codecs - Variable in class com.google.android.exoplayer2.video.HevcConfig
      +
      +
      An RFC 6381 codecs string representing the video format, or null if not known.
      +
      +
      CodecSpecificDataUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Provides utilities for handling various types of codec-specific data.
      +
      +
      COLOR_RANGE_FULL - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_RANGE_LIMITED - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_SPACE_BT2020 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_SPACE_BT601 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_SPACE_BT709 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_TRANSFER_HLG - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_TRANSFER_SDR - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      COLOR_TRANSFER_ST2084 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      colorInfo - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The color metadata associated with the video, or null if not applicable.
      +
      +
      ColorInfo - Class in com.google.android.exoplayer2.video
      +
      +
      Stores color info.
      +
      +
      ColorInfo(int, int, int, byte[]) - Constructor for class com.google.android.exoplayer2.video.ColorInfo
      +
      +
      Constructs the ColorInfo.
      +
      +
      ColorParser - Class in com.google.android.exoplayer2.util
      +
      +
      Parser for color expressions found in styling formats, e.g.
      +
      +
      colorRange - Variable in class com.google.android.exoplayer2.video.ColorInfo
      +
      +
      The color range of the video.
      +
      +
      colors - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      For indexed-color pictures (e.g.
      +
      +
      colorspace - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      colorSpace - Variable in class com.google.android.exoplayer2.video.ColorInfo
      +
      +
      The color space of the video.
      +
      +
      COLORSPACE_BT2020 - Static variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      COLORSPACE_BT601 - Static variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      COLORSPACE_BT709 - Static variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      COLORSPACE_UNKNOWN - Static variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      colorTransfer - Variable in class com.google.android.exoplayer2.video.ColorInfo
      +
      +
      The color transfer characteristics of the video.
      +
      +
      com.google.android.exoplayer2 - package com.google.android.exoplayer2
      +
       
      +
      com.google.android.exoplayer2.analytics - package com.google.android.exoplayer2.analytics
      +
       
      +
      com.google.android.exoplayer2.audio - package com.google.android.exoplayer2.audio
      +
       
      +
      com.google.android.exoplayer2.database - package com.google.android.exoplayer2.database
      +
       
      +
      com.google.android.exoplayer2.decoder - package com.google.android.exoplayer2.decoder
      +
       
      +
      com.google.android.exoplayer2.device - package com.google.android.exoplayer2.device
      +
       
      +
      com.google.android.exoplayer2.drm - package com.google.android.exoplayer2.drm
      +
       
      +
      com.google.android.exoplayer2.ext.av1 - package com.google.android.exoplayer2.ext.av1
      +
       
      +
      com.google.android.exoplayer2.ext.cast - package com.google.android.exoplayer2.ext.cast
      +
       
      +
      com.google.android.exoplayer2.ext.cronet - package com.google.android.exoplayer2.ext.cronet
      +
       
      +
      com.google.android.exoplayer2.ext.ffmpeg - package com.google.android.exoplayer2.ext.ffmpeg
      +
       
      +
      com.google.android.exoplayer2.ext.flac - package com.google.android.exoplayer2.ext.flac
      +
       
      +
      com.google.android.exoplayer2.ext.gvr - package com.google.android.exoplayer2.ext.gvr
      +
       
      +
      com.google.android.exoplayer2.ext.ima - package com.google.android.exoplayer2.ext.ima
      +
       
      +
      com.google.android.exoplayer2.ext.jobdispatcher - package com.google.android.exoplayer2.ext.jobdispatcher
      +
       
      +
      com.google.android.exoplayer2.ext.leanback - package com.google.android.exoplayer2.ext.leanback
      +
       
      +
      com.google.android.exoplayer2.ext.media2 - package com.google.android.exoplayer2.ext.media2
      +
       
      +
      com.google.android.exoplayer2.ext.mediasession - package com.google.android.exoplayer2.ext.mediasession
      +
       
      +
      com.google.android.exoplayer2.ext.okhttp - package com.google.android.exoplayer2.ext.okhttp
      +
       
      +
      com.google.android.exoplayer2.ext.opus - package com.google.android.exoplayer2.ext.opus
      +
       
      +
      com.google.android.exoplayer2.ext.rtmp - package com.google.android.exoplayer2.ext.rtmp
      +
       
      +
      com.google.android.exoplayer2.ext.vp9 - package com.google.android.exoplayer2.ext.vp9
      +
       
      +
      com.google.android.exoplayer2.ext.workmanager - package com.google.android.exoplayer2.ext.workmanager
      +
       
      +
      com.google.android.exoplayer2.extractor - package com.google.android.exoplayer2.extractor
      +
       
      +
      com.google.android.exoplayer2.extractor.amr - package com.google.android.exoplayer2.extractor.amr
      +
       
      +
      com.google.android.exoplayer2.extractor.flac - package com.google.android.exoplayer2.extractor.flac
      +
       
      +
      com.google.android.exoplayer2.extractor.flv - package com.google.android.exoplayer2.extractor.flv
      +
       
      +
      com.google.android.exoplayer2.extractor.jpeg - package com.google.android.exoplayer2.extractor.jpeg
      +
       
      +
      com.google.android.exoplayer2.extractor.mkv - package com.google.android.exoplayer2.extractor.mkv
      +
       
      +
      com.google.android.exoplayer2.extractor.mp3 - package com.google.android.exoplayer2.extractor.mp3
      +
       
      +
      com.google.android.exoplayer2.extractor.mp4 - package com.google.android.exoplayer2.extractor.mp4
      +
       
      +
      com.google.android.exoplayer2.extractor.ogg - package com.google.android.exoplayer2.extractor.ogg
      +
       
      +
      com.google.android.exoplayer2.extractor.rawcc - package com.google.android.exoplayer2.extractor.rawcc
      +
       
      +
      com.google.android.exoplayer2.extractor.ts - package com.google.android.exoplayer2.extractor.ts
      +
       
      +
      com.google.android.exoplayer2.extractor.wav - package com.google.android.exoplayer2.extractor.wav
      +
       
      +
      com.google.android.exoplayer2.mediacodec - package com.google.android.exoplayer2.mediacodec
      +
       
      +
      com.google.android.exoplayer2.metadata - package com.google.android.exoplayer2.metadata
      +
       
      +
      com.google.android.exoplayer2.metadata.dvbsi - package com.google.android.exoplayer2.metadata.dvbsi
      +
       
      +
      com.google.android.exoplayer2.metadata.emsg - package com.google.android.exoplayer2.metadata.emsg
      +
       
      +
      com.google.android.exoplayer2.metadata.flac - package com.google.android.exoplayer2.metadata.flac
      +
       
      +
      com.google.android.exoplayer2.metadata.icy - package com.google.android.exoplayer2.metadata.icy
      +
       
      +
      com.google.android.exoplayer2.metadata.id3 - package com.google.android.exoplayer2.metadata.id3
      +
       
      +
      com.google.android.exoplayer2.metadata.mp4 - package com.google.android.exoplayer2.metadata.mp4
      +
       
      +
      com.google.android.exoplayer2.metadata.scte35 - package com.google.android.exoplayer2.metadata.scte35
      +
       
      +
      com.google.android.exoplayer2.offline - package com.google.android.exoplayer2.offline
      +
       
      +
      com.google.android.exoplayer2.robolectric - package com.google.android.exoplayer2.robolectric
      +
       
      +
      com.google.android.exoplayer2.scheduler - package com.google.android.exoplayer2.scheduler
      +
       
      +
      com.google.android.exoplayer2.source - package com.google.android.exoplayer2.source
      +
       
      +
      com.google.android.exoplayer2.source.ads - package com.google.android.exoplayer2.source.ads
      +
       
      +
      com.google.android.exoplayer2.source.chunk - package com.google.android.exoplayer2.source.chunk
      +
       
      +
      com.google.android.exoplayer2.source.dash - package com.google.android.exoplayer2.source.dash
      +
       
      +
      com.google.android.exoplayer2.source.dash.manifest - package com.google.android.exoplayer2.source.dash.manifest
      +
       
      +
      com.google.android.exoplayer2.source.dash.offline - package com.google.android.exoplayer2.source.dash.offline
      +
       
      +
      com.google.android.exoplayer2.source.hls - package com.google.android.exoplayer2.source.hls
      +
       
      +
      com.google.android.exoplayer2.source.hls.offline - package com.google.android.exoplayer2.source.hls.offline
      +
       
      +
      com.google.android.exoplayer2.source.hls.playlist - package com.google.android.exoplayer2.source.hls.playlist
      +
       
      +
      com.google.android.exoplayer2.source.mediaparser - package com.google.android.exoplayer2.source.mediaparser
      +
       
      +
      com.google.android.exoplayer2.source.smoothstreaming - package com.google.android.exoplayer2.source.smoothstreaming
      +
       
      +
      com.google.android.exoplayer2.source.smoothstreaming.manifest - package com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
       
      +
      com.google.android.exoplayer2.source.smoothstreaming.offline - package com.google.android.exoplayer2.source.smoothstreaming.offline
      +
       
      +
      com.google.android.exoplayer2.testutil - package com.google.android.exoplayer2.testutil
      +
       
      +
      com.google.android.exoplayer2.testutil.truth - package com.google.android.exoplayer2.testutil.truth
      +
       
      +
      com.google.android.exoplayer2.text - package com.google.android.exoplayer2.text
      +
       
      +
      com.google.android.exoplayer2.text.cea - package com.google.android.exoplayer2.text.cea
      +
       
      +
      com.google.android.exoplayer2.text.dvb - package com.google.android.exoplayer2.text.dvb
      +
       
      +
      com.google.android.exoplayer2.text.pgs - package com.google.android.exoplayer2.text.pgs
      +
       
      +
      com.google.android.exoplayer2.text.span - package com.google.android.exoplayer2.text.span
      +
       
      +
      com.google.android.exoplayer2.text.ssa - package com.google.android.exoplayer2.text.ssa
      +
       
      +
      com.google.android.exoplayer2.text.subrip - package com.google.android.exoplayer2.text.subrip
      +
       
      +
      com.google.android.exoplayer2.text.ttml - package com.google.android.exoplayer2.text.ttml
      +
       
      +
      com.google.android.exoplayer2.text.tx3g - package com.google.android.exoplayer2.text.tx3g
      +
       
      +
      com.google.android.exoplayer2.text.webvtt - package com.google.android.exoplayer2.text.webvtt
      +
       
      +
      com.google.android.exoplayer2.trackselection - package com.google.android.exoplayer2.trackselection
      +
       
      +
      com.google.android.exoplayer2.transformer - package com.google.android.exoplayer2.transformer
      +
       
      +
      com.google.android.exoplayer2.ui - package com.google.android.exoplayer2.ui
      +
       
      +
      com.google.android.exoplayer2.ui.spherical - package com.google.android.exoplayer2.ui.spherical
      +
       
      +
      com.google.android.exoplayer2.upstream - package com.google.android.exoplayer2.upstream
      +
       
      +
      com.google.android.exoplayer2.upstream.cache - package com.google.android.exoplayer2.upstream.cache
      +
       
      +
      com.google.android.exoplayer2.upstream.crypto - package com.google.android.exoplayer2.upstream.crypto
      +
       
      +
      com.google.android.exoplayer2.util - package com.google.android.exoplayer2.util
      +
       
      +
      com.google.android.exoplayer2.video - package com.google.android.exoplayer2.video
      +
       
      +
      com.google.android.exoplayer2.video.spherical - package com.google.android.exoplayer2.video.spherical
      +
       
      +
      COMMAND_MOVE_QUEUE_ITEM - Static variable in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      commandBytes - Variable in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
      +
      +
      The private bytes as defined in SCTE35, Section 9.3.6.
      +
      +
      CommentFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Comment ID3 frame.
      +
      +
      CommentFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      CommentHeader(String, String[], int) - Constructor for class com.google.android.exoplayer2.extractor.VorbisUtil.CommentHeader
      +
       
      +
      comments - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.CommentHeader
      +
       
      +
      commitFile(File, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Commits a file into the cache.
      +
      +
      commitFile(File, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      COMMON_PSSH_UUID - Static variable in class com.google.android.exoplayer2.C
      +
      +
      UUID for the W3C + Common PSSH + box.
      +
      +
      compare(DrmInitData.SchemeData, DrmInitData.SchemeData) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      compareLong(long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Compares two long values and returns the same value as Long.compare(long, long).
      +
      +
      compareTo(SegmentDownloader.Segment) - Method in class com.google.android.exoplayer2.offline.SegmentDownloader.Segment
      +
       
      +
      compareTo(StreamKey) - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      compareTo(DefaultTrackSelector.AudioTrackScore) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.AudioTrackScore
      +
      +
      Compares this score with another.
      +
      +
      compareTo(DefaultTrackSelector.OtherTrackScore) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.OtherTrackScore
      +
       
      +
      compareTo(DefaultTrackSelector.TextTrackScore) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.TextTrackScore
      +
      +
      Compares this score with another.
      +
      +
      compareTo(DefaultTrackSelector.VideoTrackScore) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.VideoTrackScore
      +
       
      +
      compareTo(CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
       
      +
      compareTo(Long) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
       
      +
      compile(String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.UrlTemplate
      +
      +
      Compile an instance from the provided template string.
      +
      +
      compileProgram(String[], String[]) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Builds a GL shader program from vertex and fragment shader code.
      +
      +
      compileProgram(String, String) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Builds a GL shader program from vertex and fragment shader code.
      +
      +
      componentSpliceList - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      If SpliceInsertCommand.programSpliceFlag is false, a non-empty list containing the + SpliceInsertCommand.ComponentSplices.
      +
      +
      componentSpliceList - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      + +
      +
      componentSplicePlaybackPositionUs - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
      +
       
      +
      componentSplicePts - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
      +
       
      +
      componentTag - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
      +
       
      +
      componentTag - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.ComponentSplice
      +
       
      +
      CompositeMediaSource<T> - Class in com.google.android.exoplayer2.source
      +
      +
      Composite MediaSource consisting of multiple child sources.
      +
      +
      CompositeMediaSource() - Constructor for class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Creates composite media source without child sources.
      +
      +
      CompositeSequenceableLoader - Class in com.google.android.exoplayer2.source
      +
      +
      A SequenceableLoader that encapsulates multiple other SequenceableLoaders.
      +
      +
      CompositeSequenceableLoader(SequenceableLoader[]) - Constructor for class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      CompositeSequenceableLoaderFactory - Interface in com.google.android.exoplayer2.source
      +
      +
      A factory to create composite SequenceableLoaders.
      +
      +
      computeRecenterMatrix(float[], float[]) - Static method in class com.google.android.exoplayer2.video.spherical.FrameRotationQueue
      +
      +
      Computes a recentering matrix from the given angle-axis rotation only accounting for yaw.
      +
      +
      ConcatenatingMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Concatenates multiple MediaSources.
      +
      +
      ConcatenatingMediaSource(boolean, boolean, ShuffleOrder, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      ConcatenatingMediaSource(boolean, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      ConcatenatingMediaSource(boolean, ShuffleOrder, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      ConcatenatingMediaSource(MediaSource...) - Constructor for class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      ConditionVariable - Class in com.google.android.exoplayer2.util
      +
      +
      An interruptible condition variable.
      +
      +
      ConditionVariable() - Constructor for class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Creates an instance using Clock.DEFAULT.
      +
      +
      ConditionVariable(Clock) - Constructor for class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Creates an instance, which starts closed.
      +
      +
      configs() - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Returns a list of arrays containing ExtractorAsserts.SimulationConfig objects to exercise different + extractor paths.
      +
      +
      configsNoSniffing() - Static method in class com.google.android.exoplayer2.testutil.ExtractorAsserts
      +
      +
      Returns a list of arrays containing ExtractorAsserts.SimulationConfig objects to exercise different + extractor paths in which the input is not sniffed.
      +
      +
      ConfigurationException(String, Format) - Constructor for exception com.google.android.exoplayer2.audio.AudioSink.ConfigurationException
      +
      +
      Creates a new configuration exception with the specified message and no cause.
      +
      +
      ConfigurationException(Throwable, Format) - Constructor for exception com.google.android.exoplayer2.audio.AudioSink.ConfigurationException
      +
      +
      Creates a new configuration exception with the specified cause and no message.
      +
      +
      configure(MediaFormat, Surface, MediaCrypto, int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Configures this adapter and the underlying MediaCodec.
      +
      +
      configure(MediaFormat, Surface, MediaCrypto, int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      configure(AudioProcessor.AudioFormat) - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Configures the processor to process input audio with the specified format.
      +
      +
      configure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      configure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      configure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      configure(Format, int, int[]) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Configures (or reconfigures) the sink.
      +
      +
      configure(Format, int, int[]) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      configure(Format, int, int[]) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      configure(Format, int, int[]) - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      configureCodec(MediaCodecInfo, MediaCodecAdapter, Format, MediaCrypto, float) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      configureCodec(MediaCodecInfo, MediaCodecAdapter, Format, MediaCrypto, float) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Configures a newly created MediaCodec.
      +
      +
      configureCodec(MediaCodecInfo, MediaCodecAdapter, Format, MediaCrypto, float) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      ConstantBitrateSeekMap - Class in com.google.android.exoplayer2.extractor
      +
      +
      A SeekMap implementation that assumes the stream has a constant bitrate and consists of + multiple independent frames of the same size.
      +
      +
      ConstantBitrateSeekMap(long, long, int, int) - Constructor for class com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
      +
      +
      Constructs a new instance from a stream.
      +
      +
      constraintsFlagsAndReservedZero2Bits - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      constrainValue(float, float, float) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Constrains a value to the specified bounds.
      +
      +
      constrainValue(int, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Constrains a value to the specified bounds.
      +
      +
      constrainValue(long, long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Constrains a value to the specified bounds.
      +
      +
      consume(byte[], int) - Method in class com.google.android.exoplayer2.source.chunk.DataChunk
      +
      +
      Called by DataChunk.load().
      +
      +
      consume(long, ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.SeiReader
      +
       
      +
      consume(long, ParsableByteArray, TrackOutput[]) - Static method in class com.google.android.exoplayer2.extractor.CeaUtil
      +
      +
      Consumes the unescaped content of an SEI NAL unit, writing the content of any CEA-608/708 + messages as samples to all of the provided outputs.
      +
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      consume(ParsableByteArray) - Method in interface com.google.android.exoplayer2.extractor.ts.ElementaryStreamReader
      +
      +
      Consumes (possibly partial) data from the current packet.
      +
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      consume(ParsableByteArray) - Method in class com.google.android.exoplayer2.extractor.ts.PassthroughSectionPayloadReader
      +
       
      +
      consume(ParsableByteArray) - Method in interface com.google.android.exoplayer2.extractor.ts.SectionPayloadReader
      +
      +
      Called by a SectionReader when a full section is received.
      +
      +
      consume(ParsableByteArray, int) - Method in class com.google.android.exoplayer2.extractor.ts.PesReader
      +
       
      +
      consume(ParsableByteArray, int) - Method in class com.google.android.exoplayer2.extractor.ts.SectionReader
      +
       
      +
      consume(ParsableByteArray, int) - Method in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Consumes the payload of a TS packet.
      +
      +
      consumeCcData(long, ParsableByteArray, TrackOutput[]) - Static method in class com.google.android.exoplayer2.extractor.CeaUtil
      +
      +
      Consumes caption data (cc_data), writing the content as samples to all of the provided outputs.
      +
      +
      Consumer<T> - Interface in com.google.android.exoplayer2.util
      +
      +
      Represents an operation that accepts a single input argument and returns no result.
      +
      +
      ContainerMediaChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A BaseMediaChunk that uses an Extractor to decode sample data.
      +
      +
      ContainerMediaChunk(DataSource, DataSpec, Format, int, Object, long, long, long, long, long, int, long, ChunkExtractor) - Constructor for class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
       
      +
      containerMimeType - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The mime type of the container, or null if unknown or not applicable.
      +
      +
      contains(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Returns whether the given event occurred.
      +
      +
      contains(int) - Method in class com.google.android.exoplayer2.Player.Events
      +
      +
      Returns whether the given event occurred.
      +
      +
      contains(int) - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Returns whether the set contains the given flag.
      +
      +
      contains(Object[], Object) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Tests whether an items array contains an object equal to item, according to + Object.equals(Object).
      +
      +
      contains(String) - Method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns whether the metadata is available.
      +
      +
      contains(String) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      containsAny(int...) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Returns whether any of the given events occurred.
      +
      +
      containsAny(int...) - Method in class com.google.android.exoplayer2.Player.Events
      +
      +
      Returns whether any of the given events occurred.
      +
      +
      containsAny(int...) - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Returns whether the set contains at least one of the given flags.
      +
      +
      containsCodecsCorrespondingToMimeType(String, String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns whether the given codecs string contains a codec which corresponds to the given + mimeType.
      +
      +
      containsTrack(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
      +
      Returns whether this override contains the specified track index.
      +
      +
      CONTENT_TYPE_MOVIE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CONTENT_TYPE_MUSIC - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CONTENT_TYPE_SONIFICATION - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CONTENT_TYPE_SPEECH - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CONTENT_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ContentDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading from a content URI.
      +
      +
      ContentDataSource(Context) - Constructor for class com.google.android.exoplayer2.upstream.ContentDataSource
      +
       
      +
      ContentDataSource.ContentDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an IOException is encountered reading from a content URI.
      +
      +
      ContentDataSourceException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.ContentDataSource.ContentDataSourceException
      +
       
      +
      contentDurationUs - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      The duration of the content period in microseconds, if known.
      +
      +
      contentLength - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The total size of the content in bytes, or C.LENGTH_UNSET if unknown.
      +
      +
      contentLength - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
      +
      The content length, or C.LENGTH_UNSET if unknown.
      +
      +
      ContentMetadata - Interface in com.google.android.exoplayer2.upstream.cache
      +
      +
      Interface for an immutable snapshot of keyed metadata.
      +
      +
      ContentMetadataMutations - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Defines multiple mutations on metadata value which are applied atomically.
      +
      +
      ContentMetadataMutations() - Constructor for class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Constructs a DefaultMetadataMutations.
      +
      +
      contentType - Variable in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      contentType - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidContentTypeException
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      continueLoading(long) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Attempts to continue loading.
      +
      +
      continueLoading(long) - Method in interface com.google.android.exoplayer2.source.SequenceableLoader
      +
      +
      Attempts to continue loading.
      +
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      continueLoading(long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      CONTROL_CODE_AUTOSTART - Static variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
      +
      The application shall be started when the service is selected, unless the application is + already running.
      +
      +
      CONTROL_CODE_PRESENT - Static variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
      +
      The application is allowed to run while the service is selected, however it shall not start + automatically when the service becomes selected.
      +
      +
      controlCode - Variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      ControlDispatcher - Interface in com.google.android.exoplayer2
      +
      +
      Dispatches operations to the Player.
      +
      +
      convertToExoPlayerMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.DefaultMediaItemConverter
      +
       
      +
      convertToExoPlayerMediaItem(MediaItem) - Method in interface com.google.android.exoplayer2.ext.media2.MediaItemConverter
      +
      +
      Converts a Media2 MediaItem to an ExoPlayer MediaItem.
      +
      +
      convertToMedia2MediaItem(MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.DefaultMediaItemConverter
      +
       
      +
      convertToMedia2MediaItem(MediaItem) - Method in interface com.google.android.exoplayer2.ext.media2.MediaItemConverter
      +
      +
      Converts an ExoPlayer MediaItem to a Media2 MediaItem.
      +
      +
      copy(Looper, ListenerSet.IterationFinishedEvent<T, E>) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Copies the listener set.
      +
      +
      copy(Format[]) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
      +
      Creates a copy of this stream element with the formats replaced with those specified.
      +
      +
      copy(List<StreamKey>) - Method in interface com.google.android.exoplayer2.offline.FilterableManifest
      +
      +
      Returns a copy of the manifest including only the streams specified by the given keys.
      +
      +
      copy(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      copy(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
       
      +
      copy(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
       
      +
      copy(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
       
      +
      CopyOnWriteMultiset<E> - Class in com.google.android.exoplayer2.util
      +
      +
      An unordered collection of elements that allows duplicates, but also allows access to a set of + unique elements.
      +
      +
      CopyOnWriteMultiset() - Constructor for class com.google.android.exoplayer2.util.CopyOnWriteMultiset
      +
       
      +
      copyright - Variable in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
      +
      A copyright statement for the media presentation.
      +
      +
      copyWith(long, int) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Returns a playlist identical to this one except for the start time, the discontinuity sequence + and hasDiscontinuitySequence values.
      +
      +
      copyWith(long, int) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Part
      +
       
      +
      copyWith(long, int) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Segment
      +
       
      +
      copyWithAppendedEntries(Metadata.Entry...) - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
      +
      Returns a copy of this metadata with the specified entries appended.
      +
      +
      copyWithAppendedEntriesFrom(Metadata) - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
      +
      Returns a copy of this metadata with the entries of the specified metadata appended.
      +
      +
      copyWithBitrate(int) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithData(byte[]) - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      Returns a copy of this instance with the specified data.
      +
      +
      copyWithDrmInitData(DrmInitData) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithEndTag() - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Returns a playlist identical to this one except that an end tag is added.
      +
      +
      copyWithExoMediaCryptoType(Class<? extends ExoMediaCrypto>) - Method in class com.google.android.exoplayer2.Format
      +
      +
      Returns a copy of this format with the specified Format.exoMediaCryptoType.
      +
      +
      copyWithFormat(Format) - Method in class com.google.android.exoplayer2.extractor.mp4.Track
      +
       
      +
      copyWithFormat(Format) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      Returns a copy of this instance with the given Format.
      +
      +
      copyWithFrameRate(float) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithGaplessInfo(int, int) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithId(String) - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Returns a copy with the specified ID.
      +
      +
      copyWithKeySetId(byte[]) - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Returns a copy with the specified key set ID.
      +
      +
      copyWithLabel(String) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithManifestFormatInfo(Format) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithMaxInputSize(int) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithMergedRequest(DownloadRequest) - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Returns the result of merging newRequest into this request.
      +
      +
      copyWithMetadata(Metadata) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithMutationsApplied(ContentMetadataMutations) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
      +
      Returns a copy DefaultContentMetadata with mutations applied.
      +
      +
      copyWithPeriodUid(Object) - Method in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Returns a copy of this period identifier but with newPeriodUid as its period uid.
      +
      +
      copyWithPeriodUid(Object) - Method in class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      + +
      +
      copyWithPictureFrames(List<PictureFrame>) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns a copy of this with the given picture frames added to the metadata.
      +
      +
      copyWithSchemeType(String) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
      +
      Returns a copy with the specified protection scheme type.
      +
      +
      copyWithSeekTable(FlacStreamMetadata.SeekTable) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns a copy of this with the seek table replaced by the one given.
      +
      +
      copyWithSubsampleOffsetUs(long) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithVideoSize(int, int) - Method in class com.google.android.exoplayer2.Format
      +
      + +
      +
      copyWithVorbisComments(List<String>) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns a copy of this with the given Vorbis comments added to the metadata.
      +
      +
      count - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      The number of ads in the ad group, or C.LENGTH_UNSET if unknown.
      +
      +
      crc32(byte[], int, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the result of updating a CRC-32 with the specified bytes in a "most significant bit + first" order.
      +
      +
      crc8(byte[], int, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the result of updating a CRC-8 with the specified bytes in a "most significant bit + first" order.
      +
      +
      create() - Method in interface com.google.android.exoplayer2.testutil.ExtractorAsserts.ExtractorFactory
      +
       
      +
      create(int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      create(int, int) - Method in interface com.google.android.exoplayer2.testutil.FakeTrackOutput.Factory
      +
       
      +
      create(int, int, int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      create(Format, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.testutil.FakeMediaPeriod.TrackDataFactory
      +
      +
      Returns the list of FakeSampleStream.FakeSampleStreamItems that will be written the + sample queue during playback.
      +
      +
      createAdapter(MediaCodec) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.Factory
      +
      +
      Creates an instance wrapping the provided MediaCodec instance.
      +
      +
      createAdapter(MediaCodec) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.Factory
      +
       
      +
      createAdaptiveTrackSelection(TrackGroup, BandwidthMeter, int[], ImmutableList<AdaptiveTrackSelection.AdaptationCheckpoint>) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
      +
      +
      Creates a single adaptive selection for the given group, bandwidth meter and tracks.
      +
      +
      createAdaptiveTrackSelection(ExoTrackSelection.Definition) - Method in interface com.google.android.exoplayer2.trackselection.TrackSelectionUtil.AdaptiveTrackSelectionFactory
      +
      +
      Creates an adaptive track selection for the provided track selection definition.
      +
      +
      createAdPlaybackState(int, long...) - Static method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      Returns an ad playback state with the specified number of ads in each of the specified ad + groups, each ten seconds long.
      +
      +
      createAudioContainerFormat(String, String, String, String, String, Metadata, int, int, int, List<byte[]>, int, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createAudioSampleFormat(String, String, String, int, int, int, int, int, int, int, List<byte[]>, DrmInitData, int, String, Metadata) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createAudioSampleFormat(String, String, String, int, int, int, int, int, List<byte[]>, DrmInitData, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createAudioSampleFormat(String, String, String, int, int, int, int, List<byte[]>, DrmInitData, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createBuffer(float[]) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Allocates a FloatBuffer with the given data.
      +
      +
      createBuffer(int) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Allocates a FloatBuffer.
      +
      +
      createByteArray(int...) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Converts an array of integers in the range [0, 255] into an equivalent byte array.
      +
      +
      createByteList(int...) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Converts an array of integers in the range [0, 255] into an equivalent byte list.
      +
      +
      createChunkSource(ExoTrackSelection, long, TransferListener) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource.Factory
      +
       
      +
      createChunkSource(LoaderErrorThrower, SsManifest, int, ExoTrackSelection, TransferListener) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource.Factory
      +
       
      +
      createChunkSource(LoaderErrorThrower, SsManifest, int, ExoTrackSelection, TransferListener) - Method in interface com.google.android.exoplayer2.source.smoothstreaming.SsChunkSource.Factory
      +
      +
      Creates a new SsChunkSource.
      +
      +
      createCompositeSequenceableLoader(SequenceableLoader...) - Method in interface com.google.android.exoplayer2.source.CompositeSequenceableLoaderFactory
      +
      +
      Creates a composite SequenceableLoader.
      +
      +
      createCompositeSequenceableLoader(SequenceableLoader...) - Method in class com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory
      +
       
      +
      createContainerFormat(String, String, String, String, String, int, int, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createCurrentContentIntent(Player) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter
      +
      +
      Creates a content intent for the current media item.
      +
      +
      createCustomActions(Context, int) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.CustomActionReceiver
      +
      +
      Gets the actions handled by this receiver.
      +
      +
      createDashChunkSource(LoaderErrorThrower, DashManifest, int, int[], ExoTrackSelection, int, long, boolean, List<Format>, PlayerEmsgHandler.PlayerTrackEmsgHandler, TransferListener) - Method in interface com.google.android.exoplayer2.source.dash.DashChunkSource.Factory
      +
       
      +
      createDashChunkSource(LoaderErrorThrower, DashManifest, int, int[], ExoTrackSelection, int, long, boolean, List<Format>, PlayerEmsgHandler.PlayerTrackEmsgHandler, TransferListener) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.Factory
      +
       
      +
      createDataSet(TrackGroup, long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Factory
      +
      +
      Returns a new FakeAdaptiveDataSet for the given TrackGroup.
      +
      +
      createDataSink() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
      +
       
      +
      createDataSink() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSinkFactory
      +
      +
      Deprecated.
      +
      createDataSink() - Method in interface com.google.android.exoplayer2.upstream.DataSink.Factory
      +
      +
      Creates a DataSink instance.
      +
      +
      createDataSource() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.ext.rtmp.RtmpDataSourceFactory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
      +
      Creates and returns an instance of the DataSource.
      +
      +
      createDataSource() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
      +
      +
      Deprecated.
      +
      createDataSource() - Method in interface com.google.android.exoplayer2.upstream.DataSource.Factory
      +
      +
      Creates a DataSource instance.
      +
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.FileDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.FileDataSourceFactory
      +
      +
      Deprecated.
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
      +
       
      +
      createDataSource() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource.Factory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.PriorityDataSourceFactory
      +
       
      +
      createDataSource() - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource.Factory
      +
       
      +
      createDataSource(int) - Method in class com.google.android.exoplayer2.source.hls.DefaultHlsDataSourceFactory
      +
       
      +
      createDataSource(int) - Method in interface com.google.android.exoplayer2.source.hls.HlsDataSourceFactory
      +
      +
      Creates a DataSource for the given data type.
      +
      +
      createDataSourceForDownloading() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Returns an instance suitable for downloading content.
      +
      +
      createDataSourceForRemovingDownload() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Returns an instance suitable for reading cached content as part of removing a download.
      +
      +
      createDataSourceInternal(HttpDataSource.RequestProperties) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      createDataSourceInternal(HttpDataSource.RequestProperties) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      createDataSourceInternal(HttpDataSource.RequestProperties) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      createDataSourceInternal(HttpDataSource.RequestProperties) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
      +
      + +
      +
      createDecoder(Format) - Method in interface com.google.android.exoplayer2.metadata.MetadataDecoderFactory
      +
      +
      Creates a MetadataDecoder for the given Format.
      +
      +
      createDecoder(Format) - Method in interface com.google.android.exoplayer2.text.SubtitleDecoderFactory
      +
      +
      Creates a SubtitleDecoder for the given Format.
      +
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Creates a decoder for the given format.
      +
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
       
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
       
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      createDecoder(Format, ExoMediaCrypto) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Creates a decoder for the given format.
      +
      +
      createDecoderException(Throwable, MediaCodecInfo) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      createDecoderException(Throwable, MediaCodecInfo) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      createDefaultLoadControl() - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Deprecated. + +
      +
      +
      createDownloader(DownloadRequest) - Method in class com.google.android.exoplayer2.offline.DefaultDownloaderFactory
      +
       
      +
      createDownloader(DownloadRequest) - Method in interface com.google.android.exoplayer2.offline.DownloaderFactory
      +
      +
      Creates a Downloader to perform the given DownloadRequest.
      +
      +
      createDrmEventDispatcher(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns a DrmSessionEventListener.EventDispatcher which dispatches all events to the + registered listeners with the specified window index and media period id.
      +
      +
      createDrmEventDispatcher(MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns a DrmSessionEventListener.EventDispatcher which dispatches all events to the + registered listeners with the specified media period id.
      +
      +
      createEquirectangular(float, int, int, float, float, int) - Static method in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Generates an equirectangular projection.
      +
      +
      createEquirectangular(int) - Static method in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Generates a complete sphere equirectangular projection.
      +
      +
      createEventDispatcher(int, MediaSource.MediaPeriodId, long) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns a MediaSourceEventListener.EventDispatcher which dispatches all events to the + registered listeners with the specified window index, media period id and time offset.
      +
      +
      createEventDispatcher(MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns a MediaSourceEventListener.EventDispatcher which dispatches all events to the + registered listeners with the specified media period id.
      +
      +
      createEventDispatcher(MediaSource.MediaPeriodId, long) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns a MediaSourceEventListener.EventDispatcher which dispatches all events to the + registered listeners with the specified media period id and time offset.
      +
      +
      createExternalTexture() - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Creates a GL_TEXTURE_EXTERNAL_OES with default configuration of GL_LINEAR filtering and + GL_CLAMP_TO_EDGE wrapping.
      +
      +
      createExtractor(Uri, Format, List<Format>, TimestampAdjuster, Map<String, List<String>>, ExtractorInput) - Method in class com.google.android.exoplayer2.source.hls.DefaultHlsExtractorFactory
      +
       
      +
      createExtractor(Uri, Format, List<Format>, TimestampAdjuster, Map<String, List<String>>, ExtractorInput) - Method in interface com.google.android.exoplayer2.source.hls.HlsExtractorFactory
      +
      +
      Creates an Extractor for extracting HLS media chunks.
      +
      +
      createExtractors() - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
       
      +
      createExtractors() - Method in interface com.google.android.exoplayer2.extractor.ExtractorsFactory
      +
      +
      Returns an array of new Extractor instances.
      +
      +
      createExtractors(Uri, Map<String, List<String>>) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
       
      +
      createExtractors(Uri, Map<String, List<String>>) - Method in interface com.google.android.exoplayer2.extractor.ExtractorsFactory
      +
      +
      Returns an array of new Extractor instances.
      +
      +
      createForAd(Exception) - Static method in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Returns a new ad load exception of AdsMediaSource.AdLoadException.TYPE_AD.
      +
      +
      createForAdGroup(Exception, int) - Static method in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Returns a new ad load exception of AdsMediaSource.AdLoadException.TYPE_AD_GROUP.
      +
      +
      createForAllAds(Exception) - Static method in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Returns a new ad load exception of AdsMediaSource.AdLoadException.TYPE_ALL_ADS.
      +
      +
      createForRemote(String) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_REMOTE.
      +
      +
      createForRenderer(Exception) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_RENDERER for an unknown renderer.
      +
      +
      createForRenderer(Throwable, String, int, Format, int) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_RENDERER.
      +
      +
      createForRenderer(Throwable, String, int, Format, int, boolean) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_RENDERER.
      +
      +
      createForSource(IOException) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_SOURCE.
      +
      +
      createForUnexpected(RuntimeException) - Static method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Creates an instance of type ExoPlaybackException.TYPE_UNEXPECTED.
      +
      +
      createForUnexpected(RuntimeException) - Static method in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Returns a new ad load exception of AdsMediaSource.AdLoadException.TYPE_UNEXPECTED.
      +
      +
      createFromCaptionStyle(CaptioningManager.CaptionStyle) - Static method in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Creates a CaptionStyleCompat equivalent to a provided CaptioningManager.CaptionStyle.
      +
      +
      createFromParcel(Parcel) - Static method in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
      +
       
      +
      createHandler(Looper, Handler.Callback) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a Handler with the specified Handler.Callback on the specified Looper thread.
      +
      +
      createHandler(Looper, Handler.Callback) - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
       
      +
      createHandler(Looper, Handler.Callback) - Method in interface com.google.android.exoplayer2.util.Clock
      +
      +
      Creates a HandlerWrapper using a specified looper and a specified callback for handling + messages.
      +
      +
      createHandler(Looper, Handler.Callback) - Method in class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      createHandlerForCurrentLooper() - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a Handler on the current Looper thread.
      +
      +
      createHandlerForCurrentLooper(Handler.Callback) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a Handler with the specified Handler.Callback on the current Looper thread.
      +
      +
      createHandlerForCurrentOrMainLooper() - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a Handler on the current Looper thread.
      +
      +
      createHandlerForCurrentOrMainLooper(Handler.Callback) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a Handler with the specified Handler.Callback on the current Looper thread.
      +
      +
      createImageSampleFormat(String, String, int, List<byte[]>, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createInitialPayloadReaders() - Method in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
       
      +
      createInitialPayloadReaders() - Method in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader.Factory
      +
      +
      Returns the initial mapping from PIDs to payload readers.
      +
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Creates a new input buffer.
      +
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      createInputBuffer() - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      createMediaCrypto(byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      createMediaCrypto(byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Creates an ExoMediaCrypto for a given session.
      +
      +
      createMediaCrypto(byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      createMediaCrypto(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      createMediaPeriod(MediaSource.MediaPeriodId, TrackGroupArray, Allocator, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, TransferListener) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaSource
      +
       
      +
      createMediaPeriod(MediaSource.MediaPeriodId, TrackGroupArray, Allocator, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, TransferListener) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a MediaPeriod for this media source.
      +
      +
      createMediaPeriod(T, int) - Method in interface com.google.android.exoplayer2.testutil.MediaPeriodAsserts.FilterableManifestMediaPeriodFactory
      +
      +
      Returns media period based on the provided filterable manifest.
      +
      +
      createMediaPlaylistVariantUrl(Uri) - Static method in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      Creates a variant for a given media playlist url.
      +
      +
      createMediaSource() - Method in class com.google.android.exoplayer2.source.SilenceMediaSource.Factory
      +
      +
      Creates a new SilenceMediaSource.
      +
      +
      createMediaSource(Uri) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      + +
      +
      createMediaSource(Uri) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      createMediaSource(Uri) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      + +
      +
      createMediaSource(Uri) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      + +
      +
      createMediaSource(Uri) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      + +
      +
      createMediaSource(Uri) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      + +
      +
      createMediaSource(Uri, Format, long) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      + +
      +
      createMediaSource(MediaDescriptionCompat) - Method in interface com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.MediaSourceFactory
      +
      +
      Creates a MediaSource for the given MediaDescriptionCompat.
      +
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Returns a new DashMediaSource using the current parameters.
      +
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      Returns a new ExtractorMediaSource using the current parameters.
      +
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Returns a new HlsMediaSource using the current parameters.
      +
      +
      createMediaSource(MediaItem) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Creates a new MediaSource with the specified MediaItem.
      +
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      +
      Returns a new ProgressiveMediaSource using the current parameters.
      +
      +
      createMediaSource(MediaItem) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Returns a new SsMediaSource using the current parameters.
      +
      +
      createMediaSource(MediaItem.Subtitle, long) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      +
      Returns a new SingleSampleMediaSource using the current parameters.
      +
      +
      createMediaSource(DownloadRequest, DataSource.Factory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      createMediaSource(DownloadRequest, DataSource.Factory, DrmSessionManager) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Utility method to create a MediaSource that only exposes the tracks defined in + downloadRequest.
      +
      +
      createMediaSource(DashManifest) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Returns a new DashMediaSource using the current parameters and the specified + sideloaded manifest.
      +
      +
      createMediaSource(DashManifest, MediaItem) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Returns a new DashMediaSource using the current parameters and the specified + sideloaded manifest.
      +
      +
      createMediaSource(SsManifest) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Returns a new SsMediaSource using the current parameters and the specified sideloaded + manifest.
      +
      +
      createMediaSource(SsManifest, MediaItem) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Returns a new SsMediaSource using the current parameters and the specified sideloaded + manifest.
      +
      +
      createMessage(PlayerMessage.Target) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Creates a message that can be sent to a PlayerMessage.Target.
      +
      +
      createMessage(PlayerMessage.Target) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      createMessage(PlayerMessage.Target) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      createMetadataInputBuffer(byte[]) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Create a new MetadataInputBuffer and copy data into the backing ByteBuffer.
      +
      +
      createNotification(Player, NotificationCompat.Builder, boolean, Bitmap) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates the notification given the current player state.
      +
      +
      createNotificationChannel(Context, String, int, int) - Static method in class com.google.android.exoplayer2.util.NotificationUtil
      +
      + +
      +
      createNotificationChannel(Context, String, int, int, int) - Static method in class com.google.android.exoplayer2.util.NotificationUtil
      +
      +
      Creates a notification channel that notifications can be posted to.
      +
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Creates a new output buffer.
      +
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      createOutputBuffer() - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      createPayloadReader(int, TsPayloadReader.EsInfo) - Method in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
       
      +
      createPayloadReader(int, TsPayloadReader.EsInfo) - Method in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader.Factory
      +
      +
      Returns a TsPayloadReader for a given stream type and elementary stream information.
      +
      +
      createPeriod(MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Calls MediaSource.createPeriod(MediaPeriodId, Allocator, long) on the wrapped source + then prepares it if MaskingMediaPeriod.prepare(Callback, long) has been called.
      +
      +
      createPeriod(MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Calls MediaSource.createPeriod(MediaSource.MediaPeriodId, Allocator, long) with a zero + start position on the playback thread, asserting that a non-null MediaPeriod is + returned.
      +
      +
      createPeriod(MediaSource.MediaPeriodId, long) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Calls MediaSource.createPeriod(MediaSource.MediaPeriodId, Allocator, long) on the + playback thread, asserting that a non-null MediaPeriod is returned.
      +
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      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.dash.DashMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated.
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Returns a new MediaPeriod identified by periodId.
      +
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      createPeriod(MediaSource.MediaPeriodId, Allocator, long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      createPlaceholder(Object) - Static method in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition that corresponds to a placeholder timeline using the given tag.
      +
      +
      createPlaylistParser() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistParserFactory
      +
       
      +
      createPlaylistParser() - Method in class com.google.android.exoplayer2.source.hls.playlist.FilteringHlsPlaylistParserFactory
      +
       
      +
      createPlaylistParser() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParserFactory
      +
      +
      Returns a stand-alone playlist parser.
      +
      +
      createPlaylistParser(HlsMasterPlaylist, HlsMediaPlaylist) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistParserFactory
      +
       
      +
      createPlaylistParser(HlsMasterPlaylist, HlsMediaPlaylist) - Method in class com.google.android.exoplayer2.source.hls.playlist.FilteringHlsPlaylistParserFactory
      +
       
      +
      createPlaylistParser(HlsMasterPlaylist, HlsMediaPlaylist) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParserFactory
      +
      +
      Returns a playlist parser for playlists that were referenced by the given HlsMasterPlaylist.
      +
      +
      createRendererException(Throwable, Format) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Creates an ExoPlaybackException of type ExoPlaybackException.TYPE_RENDERER for + this renderer.
      +
      +
      createRendererException(Throwable, Format, boolean) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Creates an ExoPlaybackException of type ExoPlaybackException.TYPE_RENDERER for + this renderer.
      +
      +
      createRenderers(Handler, VideoRendererEventListener, AudioRendererEventListener, TextOutput, MetadataOutput) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
       
      +
      createRenderers(Handler, VideoRendererEventListener, AudioRendererEventListener, TextOutput, MetadataOutput) - Method in interface com.google.android.exoplayer2.RenderersFactory
      +
      +
      Builds the Renderer instances for a SimpleExoPlayer.
      +
      +
      createRenderers(Handler, VideoRendererEventListener, AudioRendererEventListener, TextOutput, MetadataOutput) - Method in class com.google.android.exoplayer2.testutil.CapturingRenderersFactory
      +
       
      +
      createRetryAction(boolean, long) - Static method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Creates a Loader.LoadErrorAction for retrying with the given parameters.
      +
      +
      createRobolectricConditionVariable() - Static method in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      Creates a ConditionVariable whose ConditionVariable.block(long) method times + out according to wallclock time when used in Robolectric tests.
      +
      +
      createSampleFormat(String, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createSampleStream(Allocator, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, Format, List<FakeSampleStream.FakeSampleStreamItem>) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Creates a new FakeSampleStream.
      +
      +
      createSeekParamsForTargetTimeUs(long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      createSessionCreationData(DrmInitData, DrmInitData) - Static method in class com.google.android.exoplayer2.drm.DrmInitData
      +
      +
      Merges DrmInitData obtained from a media manifest and a media stream.
      +
      +
      createSingleVariantMasterPlaylist(String) - Static method in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      Creates a playlist with a single variant.
      +
      +
      createSubtitle() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      createSubtitle() - Method in class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      createTempDirectory(Context, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates an empty directory in the directory returned by Context.getCacheDir().
      +
      +
      createTempFile(Context, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a new empty file in the directory returned by Context.getCacheDir().
      +
      +
      createTestFile(File, long) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Writes test data with the specified length to the file and returns it.
      +
      +
      createTestFile(File, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Writes one byte long test data to the file and returns it.
      +
      +
      createTestFile(File, String, long) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Writes test data with the specified length to the file and returns it.
      +
      +
      createTextContainerFormat(String, String, String, String, String, int, int, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createTextContainerFormat(String, String, String, String, String, int, int, int, String, int) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createTextSampleFormat(String, String, int, String) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createTextSampleFormat(String, String, int, String, int, long, List<byte[]>) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createTracker(HlsDataSourceFactory, LoadErrorHandlingPolicy, HlsPlaylistParserFactory) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.Factory
      +
      +
      Creates a new tracker instance.
      +
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in interface com.google.android.exoplayer2.extractor.ts.ElementaryStreamReader
      +
      +
      Initializes the reader by providing outputs and ids for the tracks.
      +
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      createTracks(ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.SeiReader
      +
       
      +
      createTrackSelections(ExoTrackSelection.Definition[], BandwidthMeter, MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
      +
       
      +
      createTrackSelections(ExoTrackSelection.Definition[], BandwidthMeter, MediaSource.MediaPeriodId, Timeline) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection.Factory
      +
      +
      Creates track selections for the provided Definitions.
      +
      +
      createTrackSelections(ExoTrackSelection.Definition[], BandwidthMeter, MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.RandomTrackSelection.Factory
      +
       
      +
      createTrackSelectionsForDefinitions(ExoTrackSelection.Definition[], TrackSelectionUtil.AdaptiveTrackSelectionFactory) - Static method in class com.google.android.exoplayer2.trackselection.TrackSelectionUtil
      +
      +
      Creates track selections for an array of track selection definitions, with at most one + multi-track adaptive selection.
      +
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Creates an exception to propagate for an unexpected decode error.
      +
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      createUnexpectedDecodeException(Throwable) - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      createVideoContainerFormat(String, String, String, String, String, Metadata, int, int, int, float, List<byte[]>, int, int) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createVideoSampleFormat(String, String, String, int, int, int, int, float, List<byte[]>, int, float, byte[], int, ColorInfo, DrmInitData) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createVideoSampleFormat(String, String, String, int, int, int, int, float, List<byte[]>, int, float, DrmInitData) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createVideoSampleFormat(String, String, String, int, int, int, int, float, List<byte[]>, DrmInitData) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Deprecated. + +
      +
      +
      createWithDrm(Allocator, Looper, DrmSessionManager, DrmSessionEventListener.EventDispatcher) - Static method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Creates a sample queue with DRM resource management.
      +
      +
      createWithNotificationChannel(Context, String, int, int, int, PlayerNotificationManager.MediaDescriptionAdapter) - Static method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager and a low-priority notification channel with the specified + channelId and channelName.
      +
      +
      createWithNotificationChannel(Context, String, int, int, int, PlayerNotificationManager.MediaDescriptionAdapter, PlayerNotificationManager.NotificationListener) - Static method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager and a low-priority notification channel with the specified + channelId and channelName.
      +
      +
      createWithNotificationChannel(Context, String, int, int, PlayerNotificationManager.MediaDescriptionAdapter) - Static method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      createWithNotificationChannel(Context, String, int, int, PlayerNotificationManager.MediaDescriptionAdapter, PlayerNotificationManager.NotificationListener) - Static method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      createWithoutDrm(Allocator) - Static method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Creates a sample queue without DRM resource management.
      +
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.Format
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.scte35.SpliceNullCommand
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.metadata.scte35.TimeSignalCommand
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
       
      +
      CREATOR - Static variable in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      cronetConnectionStatus - Variable in exception com.google.android.exoplayer2.ext.cronet.CronetDataSource.OpenException
      +
      +
      Returns the status of the connection establishment at the moment when the error occurred, as + defined by UrlRequest.Status.
      +
      +
      CronetDataSource - Class in com.google.android.exoplayer2.ext.cronet
      +
      +
      DataSource without intermediate buffer based on Cronet API set using UrlRequest.
      +
      +
      CronetDataSource(CronetEngine, Executor) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource(CronetEngine, Executor, int, int, boolean, HttpDataSource.RequestProperties) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource(CronetEngine, Executor, int, int, boolean, HttpDataSource.RequestProperties, boolean) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource(CronetEngine, Executor, Predicate<String>) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource(CronetEngine, Executor, Predicate<String>, int, int, boolean, HttpDataSource.RequestProperties) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource(CronetEngine, Executor, Predicate<String>, int, int, boolean, HttpDataSource.RequestProperties, boolean) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSource.Factory - Class in com.google.android.exoplayer2.ext.cronet
      +
      + +
      +
      CronetDataSource.OpenException - Exception in com.google.android.exoplayer2.ext.cronet
      +
      +
      Thrown when an error is encountered when trying to open a CronetDataSource.
      +
      +
      CronetDataSourceFactory - Class in com.google.android.exoplayer2.ext.cronet
      +
      +
      Deprecated. + +
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, int, int, boolean, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, int, int, boolean, String) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, TransferListener) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, TransferListener, int, int, boolean, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, TransferListener, int, int, boolean, String) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, TransferListener, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, TransferListener, String) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetDataSourceFactory(CronetEngineWrapper, Executor, String) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      CronetEngineWrapper - Class in com.google.android.exoplayer2.ext.cronet
      +
      +
      A wrapper class for a CronetEngine.
      +
      +
      CronetEngineWrapper(Context) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Creates a wrapper for a CronetEngine built using the most suitable CronetProvider.
      +
      +
      CronetEngineWrapper(Context, String, boolean) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Creates a wrapper for a CronetEngine built using the most suitable CronetProvider.
      +
      +
      CronetEngineWrapper(CronetEngine) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Creates a wrapper for an existing CronetEngine.
      +
      +
      CronetEngineWrapper.CronetEngineSource - Annotation Type in com.google.android.exoplayer2.ext.cronet
      +
      +
      Source of CronetEngine.
      +
      +
      CRYPTO_MODE_AES_CBC - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CRYPTO_MODE_AES_CTR - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      CRYPTO_MODE_UNENCRYPTED - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      cryptoData - Variable in class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
      +
      A TrackOutput.CryptoData instance containing the encryption information from this + TrackEncryptionBox.
      +
      +
      CryptoData(int, byte[], int, int) - Constructor for class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
       
      +
      cryptoInfo - Variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      CryptoInfo for encrypted data.
      +
      +
      CryptoInfo - Class in com.google.android.exoplayer2.decoder
      +
      +
      Compatibility wrapper for MediaCodec.CryptoInfo.
      +
      +
      CryptoInfo() - Constructor for class com.google.android.exoplayer2.decoder.CryptoInfo
      +
       
      +
      cryptoMode - Variable in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
      +
      The encryption mode used for the sample.
      +
      +
      cue - Variable in class com.google.android.exoplayer2.text.webvtt.WebvttCueInfo
      +
       
      +
      Cue - Class in com.google.android.exoplayer2.text
      +
      +
      Contains information about a specific cue, including textual content and formatting data.
      +
      +
      Cue(CharSequence) - Constructor for class com.google.android.exoplayer2.text.Cue
      +
      +
      Deprecated. + +
      +
      +
      Cue(CharSequence, Layout.Alignment, float, int, int, float, int, float) - Constructor for class com.google.android.exoplayer2.text.Cue
      +
      +
      Deprecated. + +
      +
      +
      Cue(CharSequence, Layout.Alignment, float, int, int, float, int, float, boolean, int) - Constructor for class com.google.android.exoplayer2.text.Cue
      +
      +
      Deprecated. + +
      +
      +
      Cue(CharSequence, Layout.Alignment, float, int, int, float, int, float, int, float) - Constructor for class com.google.android.exoplayer2.text.Cue
      +
      +
      Deprecated. + +
      +
      +
      CUE_HEADER_PATTERN - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCueParser
      +
       
      +
      Cue.AnchorType - Annotation Type in com.google.android.exoplayer2.text
      +
      +
      The type of anchor, which may be unset.
      +
      +
      Cue.Builder - Class in com.google.android.exoplayer2.text
      +
      +
      A builder for Cue objects.
      +
      +
      Cue.LineType - Annotation Type in com.google.android.exoplayer2.text
      +
      +
      The type of line, which may be unset.
      +
      +
      Cue.TextSizeType - Annotation Type in com.google.android.exoplayer2.text
      +
      +
      The type of default text size for this cue, which may be unset.
      +
      +
      Cue.VerticalType - Annotation Type in com.google.android.exoplayer2.text
      +
      +
      The type of vertical layout for this cue, which may be unset (i.e.
      +
      +
      CURRENT_POSITION_NOT_SET - Static variable in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returned by AudioSink.getCurrentPositionUs(boolean) when the position is not set.
      +
      +
      currentCapacity - Variable in exception com.google.android.exoplayer2.decoder.DecoderInputBuffer.InsufficientCapacityException
      +
      +
      The current capacity of the buffer.
      +
      +
      currentMediaPeriodId - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Media period identifier for the currently playing media period at the + time of the event, or null if no current media period identifier is available.
      +
      +
      currentPlaybackPositionMs - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Position in the current timeline window or the currently playing + ad at the time of the event, in milliseconds.
      +
      +
      currentTimeline - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      The current Timeline at the time of the event (equivalent to Player.getCurrentTimeline()).
      +
      +
      currentTimeMillis() - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
       
      +
      currentTimeMillis() - Method in interface com.google.android.exoplayer2.util.Clock
      +
      +
      Returns the current time in milliseconds since the Unix Epoch.
      +
      +
      currentTimeMillis() - Method in class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      currentWindowIndex - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      The current window index in AnalyticsListener.EventTime.currentTimeline at the time of the event, or the + prospective window index if the timeline is not yet known and empty (equivalent to Player.getCurrentWindowIndex()).
      +
      +
      customCacheKey - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional custom cache key (only used for progressive streams).
      +
      +
      customCacheKey - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Custom key for cache indexing, or null.
      +
      +
      customData - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Application specific data.
      +
      +
      + + + +

      D

      +
      +
      d(String, String) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      d(String, String, Throwable) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      DashChunkSource - Interface in com.google.android.exoplayer2.source.dash
      +
      +
      A ChunkSource for DASH streams.
      +
      +
      DashChunkSource.Factory - Interface in com.google.android.exoplayer2.source.dash
      +
      +
      Factory for DashChunkSources.
      +
      +
      DashDownloader - Class in com.google.android.exoplayer2.source.dash.offline
      +
      +
      A downloader for DASH streams.
      +
      +
      DashDownloader(Uri, List<StreamKey>, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
      + +
      +
      DashDownloader(Uri, List<StreamKey>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
      + +
      +
      DashDownloader(MediaItem, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
      +
      Creates a new instance.
      +
      +
      DashDownloader(MediaItem, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
      +
      Creates a new instance.
      +
      +
      DashDownloader(MediaItem, ParsingLoadable.Parser<DashManifest>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
      +
      Creates a new instance.
      +
      +
      DashManifest - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Represents a DASH media presentation description (mpd), as defined by ISO/IEC 23009-1:2014 + Section 5.3.1.2.
      +
      +
      DashManifest(long, long, long, boolean, long, long, long, long, ProgramInformation, UtcTimingElement, ServiceDescriptionElement, Uri, List<Period>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      DashManifest(long, long, long, boolean, long, long, long, long, UtcTimingElement, Uri, List<Period>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      + +
      +
      DashManifestParser - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A parser of media presentation description files.
      +
      +
      DashManifestParser() - Constructor for class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      DashManifestParser.RepresentationInfo - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A parsed Representation element.
      +
      +
      DashManifestStaleException - Exception in com.google.android.exoplayer2.source.dash
      +
      +
      Thrown when a live playback's manifest is stale and a new manifest could not be loaded.
      +
      +
      DashManifestStaleException() - Constructor for exception com.google.android.exoplayer2.source.dash.DashManifestStaleException
      +
       
      +
      DashMediaSource - Class in com.google.android.exoplayer2.source.dash
      +
      +
      A DASH MediaSource.
      +
      +
      DashMediaSource.Factory - Class in com.google.android.exoplayer2.source.dash
      +
      +
      Factory for DashMediaSources.
      +
      +
      DashSegmentIndex - Interface in com.google.android.exoplayer2.source.dash
      +
      +
      Indexes the segments within a media stream.
      +
      +
      DashUtil - Class in com.google.android.exoplayer2.source.dash
      +
      +
      Utility methods for DASH streams.
      +
      +
      DashWrappingSegmentIndex - Class in com.google.android.exoplayer2.source.dash
      +
      +
      An implementation of DashSegmentIndex that wraps a ChunkIndex parsed from a + media stream.
      +
      +
      DashWrappingSegmentIndex(ChunkIndex, long) - Constructor for class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      The buffer's data, or null if no data has been set.
      +
      +
      data - Variable in class com.google.android.exoplayer2.decoder.SimpleOutputBuffer
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      The initialization data.
      +
      +
      data - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The raw header data.
      +
      +
      data - Variable in class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Application defined data associated with the download.
      +
      +
      data - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.ProtectionElement
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
      +
      Optional data associated with this selection of tracks.
      +
      +
      data - Variable in class com.google.android.exoplayer2.upstream.Allocation
      +
      +
      The array containing the allocated space.
      +
      +
      data - Variable in class com.google.android.exoplayer2.util.ParsableBitArray
      +
       
      +
      data - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      RGB buffer for RGB mode.
      +
      +
      DATA_FOURCC - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Four character code for "data".
      +
      +
      DATA_TYPE_AD - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for ads loader data.
      +
      +
      DATA_TYPE_CUSTOM_BASE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Applications or extensions may define custom DATA_TYPE_* constants greater than or + equal to this value.
      +
      +
      DATA_TYPE_DRM - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for drm or encryption data.
      +
      +
      DATA_TYPE_MANIFEST - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for a manifest file.
      +
      +
      DATA_TYPE_MEDIA - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for media, typically containing media samples.
      +
      +
      DATA_TYPE_MEDIA_INITIALIZATION - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for media, typically containing only initialization data.
      +
      +
      DATA_TYPE_MEDIA_PROGRESSIVE_LIVE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for live progressive media streams, typically containing media samples.
      +
      +
      DATA_TYPE_TIME_SYNCHRONIZATION - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for time synchronization data.
      +
      +
      DATA_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A data type constant for data of unknown or unspecified type.
      +
      +
      DATABASE_NAME - Static variable in class com.google.android.exoplayer2.database.ExoDatabaseProvider
      +
      +
      The file name used for the standalone ExoPlayer database.
      +
      +
      DatabaseIOException - Exception in com.google.android.exoplayer2.database
      +
      +
      An IOException whose cause is an SQLException.
      +
      +
      DatabaseIOException(SQLException) - Constructor for exception com.google.android.exoplayer2.database.DatabaseIOException
      +
       
      +
      DatabaseIOException(SQLException, String) - Constructor for exception com.google.android.exoplayer2.database.DatabaseIOException
      +
       
      +
      DatabaseProvider - Interface in com.google.android.exoplayer2.database
      +
      +
      Provides SQLiteDatabase instances to ExoPlayer components, which may read and write + tables prefixed with DatabaseProvider.TABLE_PREFIX.
      +
      +
      DataChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A base class for Chunk implementations where the data should be loaded into a + byte[] before being consumed.
      +
      +
      DataChunk(DataSource, DataSpec, int, Format, int, Object, byte[]) - Constructor for class com.google.android.exoplayer2.source.chunk.DataChunk
      +
       
      +
      DataReader - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Reads bytes from a data stream.
      +
      +
      DataSchemeDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading data URLs, as defined by RFC 2397.
      +
      +
      DataSchemeDataSource() - Constructor for class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      DataSink - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A component to which streams of data can be written.
      +
      +
      DataSink.Factory - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A factory for DataSink instances.
      +
      +
      dataSource - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
       
      +
      DataSource - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Reads data from URI-identified resources.
      +
      +
      DataSource.Factory - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A factory for DataSource instances.
      +
      +
      DataSourceContractTest - Class in com.google.android.exoplayer2.testutil
      +
      +
      A collection of contract tests for DataSource implementations.
      +
      +
      DataSourceContractTest() - Constructor for class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      DataSourceContractTest.TestResource - Class in com.google.android.exoplayer2.testutil
      +
      +
      Information about a resource that can be used to test the DataSource instance.
      +
      +
      DataSourceContractTest.TestResource.Builder - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      DataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Used to specify reason of a DataSource error.
      +
      +
      DataSourceException(int) - Constructor for exception com.google.android.exoplayer2.upstream.DataSourceException
      +
      +
      Constructs a DataSourceException.
      +
      +
      DataSourceInputStream - Class in com.google.android.exoplayer2.upstream
      +
      +
      Allows data corresponding to a given DataSpec to be read from a DataSource and + consumed through an InputStream.
      +
      +
      DataSourceInputStream(DataSource, DataSpec) - Constructor for class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
       
      +
      dataSpec - Variable in exception com.google.android.exoplayer2.drm.MediaDrmCallbackException
      +
      +
      The DataSpec associated with the request.
      +
      +
      dataSpec - Variable in class com.google.android.exoplayer2.offline.SegmentDownloader.Segment
      +
      +
      The DataSpec of the segment.
      +
      +
      dataSpec - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      The DataSpec that defines the data to be loaded.
      +
      +
      dataSpec - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      Defines the requested data.
      +
      +
      dataSpec - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
      +
      The DataSpec associated with the current connection.
      +
      +
      dataSpec - Variable in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      The DataSpec that defines the data to be loaded.
      +
      +
      DataSpec - Class in com.google.android.exoplayer2.upstream
      +
      +
      Defines a region of data in a resource.
      +
      +
      DataSpec(Uri) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Constructs an instance.
      +
      +
      DataSpec(Uri, byte[], long, long, long, String, int) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. +
      Use DataSpec.Builder. Note that the httpMethod must be set explicitly for the + Builder.
      +
      +
      +
      DataSpec(Uri, int) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, int, byte[], long, long, long, String, int) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, int, byte[], long, long, long, String, int, Map<String, String>) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, long, long) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Constructs an instance.
      +
      +
      DataSpec(Uri, long, long, long, String, int) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, long, long, String) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, long, long, String, int) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec(Uri, long, long, String, int, Map<String, String>) - Constructor for class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Deprecated. + +
      +
      +
      DataSpec.Builder - Class in com.google.android.exoplayer2.upstream
      +
      +
      Builds DataSpec instances.
      +
      +
      DataSpec.Flags - Annotation Type in com.google.android.exoplayer2.upstream
      +
      +
      The flags that apply to any request for data.
      +
      +
      DataSpec.HttpMethod - Annotation Type in com.google.android.exoplayer2.upstream
      +
      +
      HTTP methods supported by ExoPlayer HttpDataSources.
      +
      +
      dataSpecWithLength_readExpectedRange() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      dataSpecWithPosition_readUntilEnd() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      dataSpecWithPositionAndLength_readExpectedRange() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      dataType - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      One of the C DATA_TYPE_* constants defining the type of data.
      +
      +
      DebugTextViewHelper - Class in com.google.android.exoplayer2.ui
      +
      +
      A helper class for periodically updating a TextView with debug information obtained from + a SimpleExoPlayer.
      +
      +
      DebugTextViewHelper(SimpleExoPlayer, TextView) - Constructor for class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      decode(byte[], int) - Method in class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
      +
      Decodes ID3 tags.
      +
      +
      decode(byte[], int) - Static method in class com.google.android.exoplayer2.video.spherical.ProjectionDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.dvb.DvbDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.pgs.PgsDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
      +
      Decodes data into a Subtitle.
      +
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.ssa.SsaDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.subrip.SubripDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.ttml.TtmlDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.tx3g.Tx3gDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.webvtt.Mp4WebvttDecoder
      +
       
      +
      decode(byte[], int, boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttDecoder
      +
       
      +
      decode(DecoderInputBuffer, SimpleOutputBuffer, boolean) - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      decode(DecoderInputBuffer, SimpleOutputBuffer, boolean) - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      decode(MetadataInputBuffer) - Method in interface com.google.android.exoplayer2.metadata.MetadataDecoder
      +
      +
      Decodes a Metadata element from the provided input buffer.
      +
      +
      decode(MetadataInputBuffer) - Method in class com.google.android.exoplayer2.metadata.SimpleMetadataDecoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTableDecoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessageDecoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.icy.IcyDecoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceInfoDecoder
      +
       
      +
      decode(MetadataInputBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.metadata.SimpleMetadataDecoder
      +
      +
      Called by SimpleMetadataDecoder.decode(MetadataInputBuffer) after input buffer validation has been + performed, except in the case that Buffer.isDecodeOnly() is true.
      +
      +
      decode(SubtitleInputBuffer) - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      decode(SubtitleInputBuffer) - Method in class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      decode(SubtitleInputBuffer, SubtitleOutputBuffer, boolean) - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      decode(ParsableByteArray) - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessageDecoder
      +
       
      +
      decode(VideoDecoderInputBuffer, VideoDecoderOutputBuffer, boolean) - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      decode(VideoDecoderInputBuffer, VideoDecoderOutputBuffer, boolean) - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      decode(I, O, boolean) - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Decodes the inputBuffer and stores any decoded output in outputBuffer.
      +
      +
      Decoder<I,O,E extends DecoderException> - Interface in com.google.android.exoplayer2.decoder
      +
      +
      A media decoder.
      +
      +
      DecoderAudioRenderer<T extends Decoder<DecoderInputBuffer,? extends SimpleOutputBuffer,? extends DecoderException>> - Class in com.google.android.exoplayer2.audio
      +
      +
      Decodes and renders audio using a Decoder.
      +
      +
      DecoderAudioRenderer() - Constructor for class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      DecoderAudioRenderer(Handler, AudioRendererEventListener, AudioCapabilities, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      DecoderAudioRenderer(Handler, AudioRendererEventListener, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      DecoderAudioRenderer(Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      decoderCounters - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      decoderCounters - Variable in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Decoder event counters used for debugging purposes.
      +
      +
      DecoderCounters - Class in com.google.android.exoplayer2.decoder
      +
      +
      Maintains decoder event counts, for debugging purposes only.
      +
      +
      DecoderCounters() - Constructor for class com.google.android.exoplayer2.decoder.DecoderCounters
      +
       
      +
      DecoderCountersUtil - Class in com.google.android.exoplayer2.testutil
      +
      +
      Assertions for DecoderCounters.
      +
      +
      DecoderException - Exception in com.google.android.exoplayer2.decoder
      +
      +
      Thrown when a Decoder error occurs.
      +
      +
      DecoderException(String) - Constructor for exception com.google.android.exoplayer2.decoder.DecoderException
      +
      +
      Creates an instance.
      +
      +
      DecoderException(String, Throwable) - Constructor for exception com.google.android.exoplayer2.decoder.DecoderException
      +
      +
      Creates an instance.
      +
      +
      DecoderException(Throwable) - Constructor for exception com.google.android.exoplayer2.decoder.DecoderException
      +
      +
      Creates an instance.
      +
      +
      decoderInitCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of times a decoder has been initialized.
      +
      +
      DecoderInitializationException(Format, Throwable, boolean, int) - Constructor for exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
       
      +
      DecoderInitializationException(Format, Throwable, boolean, MediaCodecInfo) - Constructor for exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
       
      +
      decoderInitialized(String, long, long) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      decoderInitialized(String, long, long) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      DecoderInputBuffer - Class in com.google.android.exoplayer2.decoder
      +
      +
      Holds input for a decoder.
      +
      +
      DecoderInputBuffer(int) - Constructor for class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Creates a new instance.
      +
      +
      DecoderInputBuffer(int, int) - Constructor for class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Creates a new instance.
      +
      +
      DecoderInputBuffer.BufferReplacementMode - Annotation Type in com.google.android.exoplayer2.decoder
      +
      +
      The buffer replacement mode.
      +
      +
      DecoderInputBuffer.InsufficientCapacityException - Exception in com.google.android.exoplayer2.decoder
      +
      +
      Thrown when an attempt is made to write into a DecoderInputBuffer whose DecoderInputBuffer.bufferReplacementMode is DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED and who DecoderInputBuffer.data + capacity is smaller than required.
      +
      +
      decoderName - Variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The name of the decoder.
      +
      +
      decoderPrivate - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Decoder private data.
      +
      +
      decoderReleaseCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of times a decoder has been released.
      +
      +
      decoderReleased(String) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      decoderReleased(String) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      DecoderReuseEvaluation - Class in com.google.android.exoplayer2.decoder
      +
      +
      The result of an evaluation to determine whether a decoder can be reused for a new input format.
      +
      +
      DecoderReuseEvaluation(String, Format, Format, int, int) - Constructor for class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
       
      +
      DecoderReuseEvaluation.DecoderDiscardReasons - Annotation Type in com.google.android.exoplayer2.decoder
      +
      +
      Possible reasons why reuse is not possible.
      +
      +
      DecoderReuseEvaluation.DecoderReuseResult - Annotation Type in com.google.android.exoplayer2.decoder
      +
      +
      Possible outcomes of the evaluation.
      +
      +
      DecoderVideoRenderer - Class in com.google.android.exoplayer2.video
      +
      +
      Decodes and renders video using a Decoder.
      +
      +
      DecoderVideoRenderer(long, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      decreaseDeviceVolume() - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Decreases the volume of the device.
      +
      +
      decreaseDeviceVolume() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      DecryptionException - Exception in com.google.android.exoplayer2.drm
      +
      +
      Thrown when a non-platform component fails to decrypt data.
      +
      +
      DecryptionException(int, String) - Constructor for exception com.google.android.exoplayer2.drm.DecryptionException
      +
       
      +
      deduplicateConsecutiveFormats - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig
      +
      +
      Controls how consecutive formats with no intervening samples are handled.
      +
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.Factory
      +
      +
      Default factory used in most cases.
      +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.mediacodec.MediaCodecSelector
      +
      +
      Default implementation of MediaCodecSelector, which returns the preferred decoder for + the given format.
      +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.metadata.MetadataDecoderFactory
      +
      +
      Default MetadataDecoder implementation.
      +
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      The default playback parameters: real-time playback with no silence skipping.
      +
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.RendererConfiguration
      +
      +
      The default configuration.
      +
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Default parameters.
      +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.source.hls.HlsExtractorFactory
      +
       
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Default caption style.
      +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.text.SubtitleDecoderFactory
      +
      +
      Default SubtitleDecoderFactory implementation.
      +
      +
      DEFAULT - Static variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      Deprecated. +
      This instance is not configured using Context constraints. Use TrackSelectionParameters.getDefaults(Context) instead.
      +
      +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.upstream.cache.CacheKeyFactory
      +
      + +
      +
      DEFAULT - Static variable in interface com.google.android.exoplayer2.util.Clock
      +
      +
      Default Clock to use for all non-test cases.
      +
      +
      DEFAULT_AD_MARKER_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for ad markers.
      +
      +
      DEFAULT_AD_MARKER_WIDTH_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default width for ad markers, in dp.
      +
      +
      DEFAULT_AD_PRELOAD_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      The default duration in milliseconds for which the player must buffer while preloading an ad + group before that ad group is skipped and marked as having failed to load.
      +
      +
      DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      The default maximum duration for which a video renderer can attempt to seamlessly join an + ongoing playback.
      +
      +
      DEFAULT_AUDIO_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for an audio buffer.
      +
      +
      DEFAULT_AUDIO_CAPABILITIES - Static variable in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
      +
      The minimum audio capabilities supported by all devices.
      +
      +
      DEFAULT_BACK_BUFFER_DURATION_MS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default back buffer duration in milliseconds.
      +
      +
      DEFAULT_BANDWIDTH_FRACTION - Static variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      DEFAULT_BAR_HEIGHT_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default height for the time bar, in dp.
      +
      +
      DEFAULT_BOTTOM_PADDING_FRACTION - Static variable in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      The default bottom padding to apply when Cue.line is Cue.DIMEN_UNSET, as a + fraction of the viewport height.
      +
      +
      DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default duration of media that must be buffered for playback to resume after a rebuffer, in + milliseconds.
      +
      +
      DEFAULT_BUFFER_FOR_PLAYBACK_MS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default duration of media that must be buffered for playback to start or resume following a + user action such as a seek, in milliseconds.
      +
      +
      DEFAULT_BUFFER_SEGMENT_SIZE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A default size in bytes for an individual allocation that forms part of a larger buffer.
      +
      +
      DEFAULT_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
      +
      Default buffer size in bytes.
      +
      +
      DEFAULT_BUFFER_SIZE_BYTES - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheWriter
      +
      +
      Default buffer size to be used while caching.
      +
      +
      DEFAULT_BUFFERED_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for the buffered portion of the time bar.
      +
      +
      DEFAULT_BUFFERED_FRACTION_TO_LIVE_EDGE_FOR_QUALITY_INCREASE - Static variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      DEFAULT_CAMERA_MOTION_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for a camera motion buffer.
      +
      +
      DEFAULT_CONNECT_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      The default connection timeout, in milliseconds.
      +
      +
      DEFAULT_CONNECT_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      The default connection timeout, in milliseconds.
      +
      +
      DEFAULT_CONNECT_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      The default connection timeout, in milliseconds.
      +
      +
      DEFAULT_DETACH_SURFACE_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      The default timeout for detaching a surface from the player, in milliseconds.
      +
      +
      DEFAULT_FACTORY - Static variable in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      DEFAULT_FALLBACK_MAX_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default maximum factor by which playback can be sped up that should be used if no maximum + playback speed is defined by the media.
      +
      +
      DEFAULT_FALLBACK_MIN_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default minimum factor by which playback can be sped up that should be used if no minimum + playback speed is defined by the media.
      +
      +
      DEFAULT_FALLBACK_TARGET_LIVE_OFFSET_MS - Static variable in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
      +
      The default target offset for live streams that is used + if no value is defined in the MediaItem or the manifest.
      +
      +
      DEFAULT_FAST_FORWARD_MS - Static variable in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      The default fast forward increment, in milliseconds.
      +
      +
      DEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Default foreground notification update interval in milliseconds.
      +
      +
      DEFAULT_FRAGMENT_SIZE - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
      +
      Default fragmentSize recommended for caching use cases.
      +
      +
      DEFAULT_INITIAL_BITRATE_COUNTRY_GROUPS - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Country groups used to determine the default initial bitrate estimate.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATE - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial bitrate estimate used when the device is offline or the network type cannot be + determined, in bits per second.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATES_2G - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial 2G bitrate estimates in bits per second.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATES_3G - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial 3G bitrate estimates in bits per second.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATES_4G - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial 4G bitrate estimates in bits per second.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATES_5G_NSA - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial 5G-NSA bitrate estimates in bits per second.
      +
      +
      DEFAULT_INITIAL_BITRATE_ESTIMATES_WIFI - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default initial Wifi bitrate estimate in bits per second.
      +
      +
      DEFAULT_LIVE_PRESENTATION_DELAY_MS - Static variable in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
      + +
      +
      DEFAULT_LIVE_PRESENTATION_DELAY_MS - Static variable in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
      +
      The default presentation delay for live streams.
      +
      +
      DEFAULT_LOADING_CHECK_INTERVAL_BYTES - Static variable in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      + +
      +
      DEFAULT_LOADING_CHECK_INTERVAL_BYTES - Static variable in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
      +
      The default number of bytes that should be loaded between each each invocation of SequenceableLoader.Callback.onContinueLoadingRequested(SequenceableLoader).
      +
      +
      DEFAULT_MAX_BUFFER_MS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default maximum duration of media that the player will attempt to buffer, in milliseconds.
      +
      +
      DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS - Static variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      DEFAULT_MAX_LIVE_OFFSET_ERROR_MS_FOR_UNIT_SPEED - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default maximum difference between the current live offset and the target live offset, in + milliseconds, for which unit speed (1.0f) is used.
      +
      +
      DEFAULT_MAX_PACKET_SIZE - Static variable in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
      +
      The default maximum datagram packet size, in bytes.
      +
      +
      DEFAULT_MAX_PARALLEL_DOWNLOADS - Static variable in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      The default maximum number of parallel downloads.
      +
      +
      DEFAULT_MAX_QUEUE_SIZE - Static variable in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      DEFAULT_MEDIA_ID - Static variable in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
      +
      The media id used by media items of dash media sources without a manifest URI.
      +
      +
      DEFAULT_METADATA_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for a metadata buffer.
      +
      +
      DEFAULT_MIN_BUFFER_MS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default minimum duration of media that the player will attempt to ensure is buffered at all + times, in milliseconds.
      +
      +
      DEFAULT_MIN_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The buffer size in bytes that will be used as a minimum target buffer in all cases.
      +
      +
      DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS - Static variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS - Static variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      DEFAULT_MIN_LOADABLE_RETRY_COUNT - Static variable in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      The default minimum number of times to retry loading data prior to propagating the error.
      +
      +
      DEFAULT_MIN_LOADABLE_RETRY_COUNT_PROGRESSIVE_LIVE - Static variable in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      The default minimum number of times to retry loading prior to failing for progressive live + streams.
      +
      +
      DEFAULT_MIN_POSSIBLE_LIVE_OFFSET_SMOOTHING_FACTOR - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default smoothing factor when smoothing the minimum possible live offset that can be + achieved during playback.
      +
      +
      DEFAULT_MIN_RETRY_COUNT - Static variable in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      The default minimum number of times a download must be retried before failing.
      +
      +
      DEFAULT_MIN_UPDATE_INTERVAL_MS - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default minimum interval between playback + speed changes, in milliseconds.
      +
      +
      DEFAULT_MINIMUM_SILENCE_DURATION_US - Static variable in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      The default value for minimumSilenceDurationUs.
      +
      +
      DEFAULT_MUXED_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for a muxed buffer (e.g.
      +
      +
      DEFAULT_NTP_HOST - Static variable in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      The default NTP host address used to retrieve SntpClient.getElapsedRealtimeOffsetMs().
      +
      +
      DEFAULT_PADDING_SILENCE_US - Static variable in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      The default value for paddingSilenceUs.
      +
      +
      DEFAULT_PLAYBACK_ACTIONS - Static variable in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      The default playback actions.
      +
      +
      DEFAULT_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      The default playback speed.
      +
      +
      DEFAULT_PLAYED_AD_MARKER_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for played ad markers.
      +
      +
      DEFAULT_PLAYED_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for the played portion of the time bar.
      +
      +
      DEFAULT_PLAYLIST_STUCK_TARGET_DURATION_COEFFICIENT - Static variable in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
      +
      Default coefficient applied on the target duration of a playlist to determine the amount of + time after which an unchanging playlist is considered stuck.
      +
      +
      DEFAULT_PRIORITIZE_TIME_OVER_SIZE_THRESHOLDS - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default prioritization of buffer time constraints over size constraints.
      +
      +
      DEFAULT_PROPORTIONAL_CONTROL_FACTOR - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default proportional control factor + used to adjust the playback speed.
      +
      +
      DEFAULT_PROVIDER - Static variable in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
      +
      ExoMediaDrm.Provider that returns a new FrameworkMediaDrm for the requested + UUID.
      +
      +
      DEFAULT_READ_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      The default read timeout, in milliseconds.
      +
      +
      DEFAULT_READ_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetDataSourceFactory
      +
      +
      Deprecated.
      +
      The default read timeout, in milliseconds.
      +
      +
      DEFAULT_READ_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      The default read timeout, in milliseconds.
      +
      +
      DEFAULT_RELEASE_TIMEOUT_MS - Static variable in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      The default timeout for calls to Player.release() and ExoPlayer.setForegroundMode(boolean), in + milliseconds.
      +
      +
      DEFAULT_REPEAT_TOGGLE_MODES - Static variable in class com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
      +
      +
      The default repeat toggle modes.
      +
      +
      DEFAULT_REPEAT_TOGGLE_MODES - Static variable in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      The default repeat toggle modes.
      +
      +
      DEFAULT_REPEAT_TOGGLE_MODES - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      The default repeat toggle modes.
      +
      +
      DEFAULT_REQUIREMENTS - Static variable in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      The default requirement is that the device has network connectivity.
      +
      +
      DEFAULT_RETAIN_BACK_BUFFER_FROM_KEYFRAME - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default for whether the back buffer is retained from the previous keyframe.
      +
      +
      DEFAULT_REWIND_MS - Static variable in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      The default rewind increment, in milliseconds.
      +
      +
      DEFAULT_SCRUBBER_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for the scrubber handle.
      +
      +
      DEFAULT_SCRUBBER_DISABLED_SIZE_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default diameter for the scrubber when disabled, in dp.
      +
      +
      DEFAULT_SCRUBBER_DRAGGED_SIZE_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default diameter for the scrubber when dragged, in dp.
      +
      +
      DEFAULT_SCRUBBER_ENABLED_SIZE_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default diameter for the scrubber when enabled, in dp.
      +
      +
      DEFAULT_SEEK_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      + +
      +
      DEFAULT_SESSION_ID_GENERATOR - Static variable in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
      +
      Default generator for unique session ids that are random, Based64-encoded and URL-safe.
      +
      +
      DEFAULT_SESSION_KEEPALIVE_MS - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      + +
      +
      DEFAULT_SHOW_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      The default show timeout, in milliseconds.
      +
      +
      DEFAULT_SHOW_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      The default show timeout, in milliseconds.
      +
      +
      DEFAULT_SILENCE_THRESHOLD_LEVEL - Static variable in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      The default value for silenceThresholdLevel.
      +
      +
      DEFAULT_SLIDING_WINDOW_MAX_WEIGHT - Static variable in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Default maximum weight for the sliding window.
      +
      +
      DEFAULT_SOCKET_TIMEOUT_MILLIS - Static variable in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
      +
      The default socket timeout, in milliseconds.
      +
      +
      DEFAULT_TARGET_BUFFER_BYTES - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      The default target buffer size in bytes.
      +
      +
      DEFAULT_TARGET_LIVE_OFFSET_INCREMENT_ON_REBUFFER_MS - Static variable in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
      +
      The default increment applied to the target live offset each time the player is rebuffering, in + milliseconds
      +
      +
      DEFAULT_TEXT_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for a text buffer.
      +
      +
      DEFAULT_TEXT_SIZE_FRACTION - Static variable in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      The default fractional text size.
      +
      +
      DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS - Static variable in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      The default minimum interval between time bar position updates.
      +
      +
      DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      The default minimum interval between time bar position updates.
      +
      +
      DEFAULT_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      The default timeout applied when calling RobolectricUtil.runMainLooperUntil(Supplier).
      +
      +
      DEFAULT_TIMESTAMP_SEARCH_BYTES - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      DEFAULT_TOUCH_TARGET_HEIGHT_DP - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default height for the touch target, in dp.
      +
      +
      DEFAULT_TRACK_BLACKLIST_MS - Static variable in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      The default duration for which a track is excluded in milliseconds.
      +
      +
      DEFAULT_TRACK_SELECTOR_PARAMETERS - Static variable in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Deprecated. +
      This instance does not have Context constraints. Use DownloadHelper.getDefaultTrackSelectorParameters(Context) instead.
      +
      +
      +
      DEFAULT_TRACK_SELECTOR_PARAMETERS_WITHOUT_CONTEXT - Static variable in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Default track selection parameters for downloading, but without any Context + constraints.
      +
      +
      DEFAULT_TRACK_SELECTOR_PARAMETERS_WITHOUT_VIEWPORT - Static variable in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Deprecated. +
      This instance does not have Context constraints. Use DownloadHelper.getDefaultTrackSelectorParameters(Context) instead.
      +
      +
      +
      DEFAULT_UNPLAYED_COLOR - Static variable in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Default color for the unplayed portion of the time bar.
      +
      +
      DEFAULT_USER_AGENT - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Deprecated. +
      ExoPlayer now uses the user agent of the underlying network stack by default.
      +
      +
      +
      DEFAULT_VIDEO_BUFFER_SIZE - Static variable in class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      A default size in bytes for a video buffer.
      +
      +
      DEFAULT_WINDOW_DURATION_US - Static variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Default window duration in microseconds.
      +
      +
      DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US - Static variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Default offset of a window in its first period in microseconds.
      +
      +
      DEFAULT_WITHOUT_CONTEXT - Static variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      An instance with default values, except those obtained from the Context.
      +
      +
      DEFAULT_WITHOUT_CONTEXT - Static variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      An instance with default values, except those obtained from the Context.
      +
      +
      DefaultAllocator - Class in com.google.android.exoplayer2.upstream
      +
      +
      Default implementation of Allocator.
      +
      +
      DefaultAllocator(boolean, int) - Constructor for class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
      +
      Constructs an instance without creating any Allocations up front.
      +
      +
      DefaultAllocator(boolean, int, int) - Constructor for class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
      +
      Constructs an instance with some Allocations created up front.
      +
      +
      DefaultAllowedCommandProvider(Context) - Constructor for class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
      +
       
      +
      DefaultAudioProcessorChain(AudioProcessor...) - Constructor for class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
      +
      Creates a new default chain of audio processors, with the user-defined + audioProcessors applied before silence skipping and speed adjustment processors.
      +
      +
      DefaultAudioProcessorChain(AudioProcessor[], SilenceSkippingAudioProcessor, SonicAudioProcessor) - Constructor for class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
      +
      Creates a new default chain of audio processors, with the user-defined + audioProcessors applied before silence skipping and speed adjustment processors.
      +
      +
      DefaultAudioSink - Class in com.google.android.exoplayer2.audio
      +
      +
      Plays audio data.
      +
      +
      DefaultAudioSink(AudioCapabilities, AudioProcessor[]) - Constructor for class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      Creates a new default audio sink.
      +
      +
      DefaultAudioSink(AudioCapabilities, AudioProcessor[], boolean) - Constructor for class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      Creates a new default audio sink, optionally using float output for high resolution PCM.
      +
      +
      DefaultAudioSink(AudioCapabilities, DefaultAudioSink.AudioProcessorChain, boolean, boolean, boolean) - Constructor for class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      Creates a new default audio sink, optionally using float output for high resolution PCM and + with the specified audioProcessorChain.
      +
      +
      DefaultAudioSink.AudioProcessorChain - Interface in com.google.android.exoplayer2.audio
      +
      +
      Provides a chain of audio processors, which are used for any user-defined processing and + applying playback parameters (if supported).
      +
      +
      DefaultAudioSink.DefaultAudioProcessorChain - Class in com.google.android.exoplayer2.audio
      +
      +
      The default audio processor chain, which applies a (possibly empty) chain of user-defined audio + processors followed by SilenceSkippingAudioProcessor and SonicAudioProcessor.
      +
      +
      DefaultAudioSink.InvalidAudioTrackTimestampException - Exception in com.google.android.exoplayer2.audio
      +
      +
      Thrown when the audio track has provided a spurious timestamp, if DefaultAudioSink.failOnSpuriousAudioTimestamp is set.
      +
      +
      DefaultBandwidthMeter - Class in com.google.android.exoplayer2.upstream
      +
      +
      Estimates bandwidth by listening to data transfers.
      +
      +
      DefaultBandwidthMeter() - Constructor for class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Deprecated. + +
      +
      +
      DefaultBandwidthMeter.Builder - Class in com.google.android.exoplayer2.upstream
      +
      +
      Builder for a bandwidth meter.
      +
      +
      DefaultCastOptionsProvider - Class in com.google.android.exoplayer2.ext.cast
      +
      +
      A convenience OptionsProvider to target the default cast receiver app.
      +
      +
      DefaultCastOptionsProvider() - Constructor for class com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider
      +
       
      +
      DefaultCompositeSequenceableLoaderFactory - Class in com.google.android.exoplayer2.source
      +
      +
      Default implementation of CompositeSequenceableLoaderFactory.
      +
      +
      DefaultCompositeSequenceableLoaderFactory() - Constructor for class com.google.android.exoplayer2.source.DefaultCompositeSequenceableLoaderFactory
      +
       
      +
      DefaultContentMetadata - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Default implementation of ContentMetadata.
      +
      +
      DefaultContentMetadata() - Constructor for class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      DefaultContentMetadata(Map<String, byte[]>) - Constructor for class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      DefaultControlDispatcher - Class in com.google.android.exoplayer2
      +
      + +
      +
      DefaultControlDispatcher() - Constructor for class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Creates an instance.
      +
      +
      DefaultControlDispatcher(long, long) - Constructor for class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Creates an instance with the given increments.
      +
      +
      DefaultDashChunkSource - Class in com.google.android.exoplayer2.source.dash
      +
      +
      A default DashChunkSource implementation.
      +
      +
      DefaultDashChunkSource(LoaderErrorThrower, DashManifest, int, int[], ExoTrackSelection, int, DataSource, long, int, boolean, List<Format>, PlayerEmsgHandler.PlayerTrackEmsgHandler) - Constructor for class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      DefaultDashChunkSource.Factory - Class in com.google.android.exoplayer2.source.dash
      +
       
      +
      DefaultDashChunkSource.RepresentationHolder - Class in com.google.android.exoplayer2.source.dash
      +
      +
      Holds information about a snapshot of a single Representation.
      +
      +
      DefaultDashChunkSource.RepresentationSegmentIterator - Class in com.google.android.exoplayer2.source.dash
      +
      + +
      +
      DefaultDatabaseProvider - Class in com.google.android.exoplayer2.database
      +
      +
      A DatabaseProvider that provides instances obtained from a SQLiteOpenHelper.
      +
      +
      DefaultDatabaseProvider(SQLiteOpenHelper) - Constructor for class com.google.android.exoplayer2.database.DefaultDatabaseProvider
      +
       
      +
      DefaultDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource that supports multiple URI schemes.
      +
      +
      DefaultDataSource(Context, boolean) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
      +
      Constructs a new instance, optionally configured to follow cross-protocol redirects.
      +
      +
      DefaultDataSource(Context, DataSource) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
      +
      Constructs a new instance that delegates to a provided DataSource for URI schemes other + than file, asset and content.
      +
      +
      DefaultDataSource(Context, String, boolean) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
      +
      Constructs a new instance, optionally configured to follow cross-protocol redirects.
      +
      +
      DefaultDataSource(Context, String, int, int, boolean) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
      +
      Constructs a new instance, optionally configured to follow cross-protocol redirects.
      +
      +
      DefaultDataSourceFactory - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource.Factory that produces DefaultDataSource instances that delegate to + DefaultHttpDataSources for non-file/asset/content URIs.
      +
      +
      DefaultDataSourceFactory(Context) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDataSourceFactory(Context, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDataSourceFactory(Context, TransferListener, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDataSourceFactory(Context, String) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDataSourceFactory(Context, String, TransferListener) - Constructor for class com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDownloaderFactory - Class in com.google.android.exoplayer2.offline
      +
      +
      Default DownloaderFactory, supporting creation of progressive, DASH, HLS and + SmoothStreaming downloaders.
      +
      +
      DefaultDownloaderFactory(CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.offline.DefaultDownloaderFactory
      +
      + +
      +
      DefaultDownloaderFactory(CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.offline.DefaultDownloaderFactory
      +
      +
      Creates an instance.
      +
      +
      DefaultDownloadIndex - Class in com.google.android.exoplayer2.offline
      +
      +
      A DownloadIndex that uses SQLite to persist Downloads.
      +
      +
      DefaultDownloadIndex(DatabaseProvider) - Constructor for class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
      +
      Creates an instance that stores the Downloads in an SQLite database provided + by a DatabaseProvider.
      +
      +
      DefaultDownloadIndex(DatabaseProvider, String) - Constructor for class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
      +
      Creates an instance that stores the Downloads in an SQLite database provided + by a DatabaseProvider.
      +
      +
      DefaultDrmSessionManager - Class in com.google.android.exoplayer2.drm
      +
      +
      A DrmSessionManager that supports playbacks using ExoMediaDrm.
      +
      +
      DefaultDrmSessionManager(UUID, ExoMediaDrm, MediaDrmCallback, HashMap<String, String>) - Constructor for class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Deprecated. + +
      +
      +
      DefaultDrmSessionManager(UUID, ExoMediaDrm, MediaDrmCallback, HashMap<String, String>, boolean) - Constructor for class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Deprecated. + +
      +
      +
      DefaultDrmSessionManager(UUID, ExoMediaDrm, MediaDrmCallback, HashMap<String, String>, boolean, int) - Constructor for class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Deprecated. + +
      +
      +
      DefaultDrmSessionManager.Builder - Class in com.google.android.exoplayer2.drm
      +
      +
      Builder for DefaultDrmSessionManager instances.
      +
      +
      DefaultDrmSessionManager.MissingSchemeDataException - Exception in com.google.android.exoplayer2.drm
      +
      + +
      +
      DefaultDrmSessionManager.Mode - Annotation Type in com.google.android.exoplayer2.drm
      +
      +
      Determines the action to be done after a session acquired.
      +
      +
      DefaultDrmSessionManagerProvider - Class in com.google.android.exoplayer2.drm
      +
      +
      Default implementation of DrmSessionManagerProvider.
      +
      +
      DefaultDrmSessionManagerProvider() - Constructor for class com.google.android.exoplayer2.drm.DefaultDrmSessionManagerProvider
      +
       
      +
      DefaultEventListener() - Constructor for class com.google.android.exoplayer2.Player.DefaultEventListener
      +
      +
      Deprecated.
      +
      DefaultExtractorInput - Class in com.google.android.exoplayer2.extractor
      +
      +
      An ExtractorInput that wraps a DataReader.
      +
      +
      DefaultExtractorInput(DataReader, long, long) - Constructor for class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      DefaultExtractorsFactory - Class in com.google.android.exoplayer2.extractor
      +
      +
      An ExtractorsFactory that provides an array of extractors for the following formats: + + + MP4, including M4A (Mp4Extractor) + fMP4 (FragmentedMp4Extractor) + Matroska and WebM (MatroskaExtractor) + Ogg Vorbis/FLAC (OggExtractor + MP3 (Mp3Extractor) + AAC (AdtsExtractor) + MPEG TS (TsExtractor) + MPEG PS (PsExtractor) + FLV (FlvExtractor) + WAV (WavExtractor) + AC3 (Ac3Extractor) + AC4 (Ac4Extractor) + AMR (AmrExtractor) + FLAC + + If available, the FLAC extension's + com.google.android.exoplayer2.ext.flac.FlacExtractor is used.
      +
      +
      DefaultExtractorsFactory() - Constructor for class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
       
      +
      DefaultHlsDataSourceFactory - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Default implementation of HlsDataSourceFactory.
      +
      +
      DefaultHlsDataSourceFactory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.hls.DefaultHlsDataSourceFactory
      +
       
      +
      DefaultHlsExtractorFactory - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Default HlsExtractorFactory implementation.
      +
      +
      DefaultHlsExtractorFactory() - Constructor for class com.google.android.exoplayer2.source.hls.DefaultHlsExtractorFactory
      +
      + +
      +
      DefaultHlsExtractorFactory(int, boolean) - Constructor for class com.google.android.exoplayer2.source.hls.DefaultHlsExtractorFactory
      +
      +
      Creates a factory for HLS segment extractors.
      +
      +
      DefaultHlsPlaylistParserFactory - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Default implementation for HlsPlaylistParserFactory.
      +
      +
      DefaultHlsPlaylistParserFactory() - Constructor for class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistParserFactory
      +
       
      +
      DefaultHlsPlaylistTracker - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Default implementation for HlsPlaylistTracker.
      +
      +
      DefaultHlsPlaylistTracker(HlsDataSourceFactory, LoadErrorHandlingPolicy, HlsPlaylistParserFactory) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
      +
      Creates an instance.
      +
      +
      DefaultHlsPlaylistTracker(HlsDataSourceFactory, LoadErrorHandlingPolicy, HlsPlaylistParserFactory, double) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
      +
      Creates an instance.
      +
      +
      DefaultHttpDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      An HttpDataSource that uses Android's HttpURLConnection.
      +
      +
      DefaultHttpDataSource() - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      DefaultHttpDataSource(String) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      DefaultHttpDataSource(String, int, int) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      DefaultHttpDataSource(String, int, int, boolean, HttpDataSource.RequestProperties) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      DefaultHttpDataSource.Factory - Class in com.google.android.exoplayer2.upstream
      +
      + +
      +
      DefaultHttpDataSourceFactory - Class in com.google.android.exoplayer2.upstream
      +
      +
      Deprecated. + +
      +
      +
      DefaultHttpDataSourceFactory() - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      DefaultHttpDataSourceFactory(String) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      DefaultHttpDataSourceFactory(String, int, int, boolean) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      DefaultHttpDataSourceFactory(String, TransferListener) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      DefaultHttpDataSourceFactory(String, TransferListener, int, int, boolean) - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      defaultInitializationVector - Variable in class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
      +
      If TrackEncryptionBox.perSampleIvSize is 0, holds the default initialization vector as defined in the + track encryption box or sample group description box.
      +
      +
      DefaultLivePlaybackSpeedControl - Class in com.google.android.exoplayer2
      +
      +
      A LivePlaybackSpeedControl that adjusts the playback speed using a proportional + controller.
      +
      +
      DefaultLivePlaybackSpeedControl.Builder - Class in com.google.android.exoplayer2
      +
      + +
      +
      DefaultLoadControl - Class in com.google.android.exoplayer2
      +
      +
      The default LoadControl implementation.
      +
      +
      DefaultLoadControl() - Constructor for class com.google.android.exoplayer2.DefaultLoadControl
      +
      +
      Constructs a new instance, using the DEFAULT_* constants defined in this class.
      +
      +
      DefaultLoadControl(DefaultAllocator, int, int, int, int, int, boolean, int, boolean) - Constructor for class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      DefaultLoadControl.Builder - Class in com.google.android.exoplayer2
      +
      +
      Builder for DefaultLoadControl.
      +
      +
      DefaultLoadErrorHandlingPolicy - Class in com.google.android.exoplayer2.upstream
      +
      +
      Default implementation of LoadErrorHandlingPolicy.
      +
      +
      DefaultLoadErrorHandlingPolicy() - Constructor for class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      Creates an instance with default behavior.
      +
      +
      DefaultLoadErrorHandlingPolicy(int) - Constructor for class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      Creates an instance with the given value for DefaultLoadErrorHandlingPolicy.getMinimumLoadableRetryCount(int).
      +
      +
      DefaultMediaItemConverter - Class in com.google.android.exoplayer2.ext.cast
      +
      +
      Default MediaItemConverter implementation.
      +
      +
      DefaultMediaItemConverter - Class in com.google.android.exoplayer2.ext.media2
      +
      +
      Default implementation of MediaItemConverter.
      +
      +
      DefaultMediaItemConverter() - Constructor for class com.google.android.exoplayer2.ext.cast.DefaultMediaItemConverter
      +
       
      +
      DefaultMediaItemConverter() - Constructor for class com.google.android.exoplayer2.ext.media2.DefaultMediaItemConverter
      +
       
      +
      DefaultMediaMetadataProvider(MediaControllerCompat, String) - Constructor for class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.DefaultMediaMetadataProvider
      +
      +
      Creates a new instance.
      +
      +
      DefaultMediaSourceEventListener - Class in com.google.android.exoplayer2.source
      +
      +
      Deprecated. +
      Use MediaSourceEventListener interface directly for selective overrides as + all methods are implemented as no-op default methods.
      +
      +
      +
      DefaultMediaSourceEventListener() - Constructor for class com.google.android.exoplayer2.source.DefaultMediaSourceEventListener
      +
      +
      Deprecated.
      +
      DefaultMediaSourceFactory - Class in com.google.android.exoplayer2.source
      +
      +
      The default MediaSourceFactory implementation.
      +
      +
      DefaultMediaSourceFactory(Context) - Constructor for class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Creates a new instance.
      +
      +
      DefaultMediaSourceFactory(Context, ExtractorsFactory) - Constructor for class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Creates a new instance.
      +
      +
      DefaultMediaSourceFactory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Creates a new instance.
      +
      +
      DefaultMediaSourceFactory(DataSource.Factory, ExtractorsFactory) - Constructor for class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Creates a new instance.
      +
      +
      DefaultMediaSourceFactory.AdsLoaderProvider - Interface in com.google.android.exoplayer2.source
      +
      +
      Provides AdsLoader instances for media items that have ad tag URIs.
      +
      +
      DefaultPlaybackSessionManager - Class in com.google.android.exoplayer2.analytics
      +
      +
      Default PlaybackSessionManager which instantiates a new session for each window in the + timeline and also for each ad within the windows.
      +
      +
      DefaultPlaybackSessionManager() - Constructor for class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
      +
      Creates session manager with a DefaultPlaybackSessionManager.DEFAULT_SESSION_ID_GENERATOR to generate session ids.
      +
      +
      DefaultPlaybackSessionManager(Supplier<String>) - Constructor for class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
      +
      Creates session manager.
      +
      +
      defaultPositionUs - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      defaultPositionUs - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The default position relative to the start of the window at which to begin playback, in + microseconds.
      +
      +
      DefaultRenderersFactory - Class in com.google.android.exoplayer2
      +
      +
      Default RenderersFactory implementation.
      +
      +
      DefaultRenderersFactory(Context) - Constructor for class com.google.android.exoplayer2.DefaultRenderersFactory
      +
       
      +
      DefaultRenderersFactory(Context, int) - Constructor for class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      + +
      +
      DefaultRenderersFactory(Context, int, long) - Constructor for class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      + +
      +
      DefaultRenderersFactory.ExtensionRendererMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Modes for using extension renderers.
      +
      +
      DefaultRenderersFactoryAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Assertions for DefaultRenderersFactory.
      +
      +
      DefaultRenderersFactoryAsserts() - Constructor for class com.google.android.exoplayer2.testutil.DefaultRenderersFactoryAsserts
      +
       
      +
      DefaultSeekTimestampConverter() - Constructor for class com.google.android.exoplayer2.extractor.BinarySearchSeeker.DefaultSeekTimestampConverter
      +
       
      +
      DefaultShuffleOrder(int) - Constructor for class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
      +
      Creates an instance with a specified length.
      +
      +
      DefaultShuffleOrder(int[], long) - Constructor for class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
      +
      Creates an instance with a specified shuffle order and the specified random seed.
      +
      +
      DefaultShuffleOrder(int, long) - Constructor for class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
      +
      Creates an instance with a specified length and the specified random seed.
      +
      +
      DefaultSsChunkSource - Class in com.google.android.exoplayer2.source.smoothstreaming
      +
      +
      A default SsChunkSource implementation.
      +
      +
      DefaultSsChunkSource(LoaderErrorThrower, SsManifest, int, ExoTrackSelection, DataSource) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      DefaultSsChunkSource.Factory - Class in com.google.android.exoplayer2.source.smoothstreaming
      +
       
      +
      DefaultTimeBar - Class in com.google.android.exoplayer2.ui
      +
      +
      A time bar that shows a current position, buffered position, duration and ad markers.
      +
      +
      DefaultTimeBar(Context) - Constructor for class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DefaultTimeBar(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DefaultTimeBar(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DefaultTimeBar(Context, AttributeSet, int, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DefaultTimeBar(Context, AttributeSet, int, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DefaultTrackNameProvider - Class in com.google.android.exoplayer2.ui
      +
      + +
      +
      DefaultTrackNameProvider(Resources) - Constructor for class com.google.android.exoplayer2.ui.DefaultTrackNameProvider
      +
       
      +
      DefaultTrackSelector - Class in com.google.android.exoplayer2.trackselection
      +
      +
      A default TrackSelector suitable for most use cases.
      +
      +
      DefaultTrackSelector() - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Deprecated. + +
      +
      +
      DefaultTrackSelector(Context) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
       
      +
      DefaultTrackSelector(Context, ExoTrackSelection.Factory) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
       
      +
      DefaultTrackSelector(DefaultTrackSelector.Parameters, ExoTrackSelection.Factory) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
       
      +
      DefaultTrackSelector(ExoTrackSelection.Factory) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      + +
      +
      DefaultTrackSelector.AudioTrackScore - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Represents how well an audio track matches the selection DefaultTrackSelector.Parameters.
      +
      +
      DefaultTrackSelector.OtherTrackScore - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Represents how well any other track (non video, audio or text) matches the selection DefaultTrackSelector.Parameters.
      +
      +
      DefaultTrackSelector.Parameters - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Extends TrackSelectionParameters by adding fields that are specific to DefaultTrackSelector.
      +
      +
      DefaultTrackSelector.ParametersBuilder - Class in com.google.android.exoplayer2.trackselection
      +
      + +
      +
      DefaultTrackSelector.SelectionOverride - Class in com.google.android.exoplayer2.trackselection
      +
      +
      A track selection override.
      +
      +
      DefaultTrackSelector.TextTrackScore - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Represents how well a text track matches the selection DefaultTrackSelector.Parameters.
      +
      +
      DefaultTrackSelector.VideoTrackScore - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Represents how well a video track matches the selection DefaultTrackSelector.Parameters.
      +
      +
      DefaultTsPayloadReaderFactory - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Default TsPayloadReader.Factory implementation.
      +
      +
      DefaultTsPayloadReaderFactory() - Constructor for class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
       
      +
      DefaultTsPayloadReaderFactory(int) - Constructor for class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
       
      +
      DefaultTsPayloadReaderFactory(int, List<Format>) - Constructor for class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
       
      +
      DefaultTsPayloadReaderFactory.Flags - Annotation Type in com.google.android.exoplayer2.extractor.ts
      +
      +
      Flags controlling elementary stream readers' behavior.
      +
      +
      Definition(TrackGroup, int...) - Constructor for class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
       
      +
      Definition(TrackGroup, int[], int, Object) - Constructor for class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
       
      +
      delay(long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay between executing any previous actions and any subsequent ones.
      +
      +
      delete() - Method in class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Delete the atomic file.
      +
      +
      delete(File, DatabaseProvider) - Static method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Deletes all content belonging to a cache instance.
      +
      +
      deltaPicOrderAlwaysZeroFlag - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      DeltaUpdateException() - Constructor for exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.DeltaUpdateException
      +
       
      +
      depth - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The color depth of the picture in bits-per-pixel.
      +
      +
      dequeueInputBuffer() - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Dequeues the next input buffer to be filled and queued to the decoder.
      +
      +
      dequeueInputBuffer() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      dequeueInputBufferIndex() - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Returns the next available input buffer index from the underlying MediaCodec or MediaCodec.INFO_TRY_AGAIN_LATER if no such buffer exists.
      +
      +
      dequeueInputBufferIndex() - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      dequeueOutputBuffer() - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Dequeues the next output buffer from the decoder.
      +
      +
      dequeueOutputBuffer() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      dequeueOutputBuffer() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      dequeueOutputBufferIndex(MediaCodec.BufferInfo) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Returns the next available output buffer index from the underlying MediaCodec.
      +
      +
      dequeueOutputBufferIndex(MediaCodec.BufferInfo) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.id3.Id3Frame
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceCommand
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
       
      +
      describeContents() - Method in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      A description of the picture.
      +
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      description - Variable in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      Descriptor - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A descriptor, as defined by ISO 23009-1, 2nd edition, 5.8.2.
      +
      +
      Descriptor(String, String, String) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
       
      +
      descriptorBytes - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
      +
       
      +
      DEVICE - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      Like Build.DEVICE, but in a place where it can be conveniently overridden for local + testing.
      +
      +
      DEVICE_CHARGING - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Requirement that the device is charging.
      +
      +
      DEVICE_DEBUG_INFO - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      A concise description of the device that it can be useful to log for debugging purposes.
      +
      +
      DEVICE_IDLE - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Requirement that the device is idle.
      +
      +
      DEVICE_STORAGE_NOT_LOW - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Requirement that the device's internal storage is not low.
      +
      +
      DeviceInfo - Class in com.google.android.exoplayer2.device
      +
      +
      Information about the playback device.
      +
      +
      DeviceInfo(@com.google.android.exoplayer2.device.DeviceInfo.PlaybackType int, int, int) - Constructor for class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      Creates device information.
      +
      +
      DeviceInfo.PlaybackType - Annotation Type in com.google.android.exoplayer2.device
      +
      +
      Types of playback.
      +
      +
      DeviceListener - Interface in com.google.android.exoplayer2.device
      +
      +
      A listener for changes of Player.DeviceComponent.
      +
      +
      diagnosticInfo - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException
      +
      +
      An optional developer-readable diagnostic information string.
      +
      +
      diagnosticInfo - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
      +
      An optional developer-readable diagnostic information string.
      +
      +
      DIMEN_UNSET - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      An unset position, width or size.
      +
      +
      disable() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      disable() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      disable() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Disable the renderer, transitioning it to the Renderer.STATE_DISABLED state.
      +
      +
      disable() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      disable() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      disable() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      disable() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Disables this track selection.
      +
      +
      disable(MediaSource.MediaSourceCaller) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      disable(MediaSource.MediaSourceCaller) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Disables the source for the creation of MediaPeriods.
      +
      +
      disableChildSource(T) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Disables a child source.
      +
      +
      disabled(DecoderCounters) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      disabled(DecoderCounters) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      disabledTextTrackSelectionFlags - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      Bitmask of selection flags that are disabled for text track selections.
      +
      +
      disableInternal() - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      + +
      +
      disableInternal() - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
       
      +
      disableInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      disableRenderer(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a renderer disable action.
      +
      +
      disableSeeking() - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
      +
      Disables the extractor from being able to seek through the media.
      +
      +
      disableSeeking() - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Overrides future received SeekMaps with non-seekable instances.
      +
      +
      disableTunneling() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Disables tunneling.
      +
      +
      disableTunneling() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      disableTunneling() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      DISCARD_REASON_APP_OVERRIDE - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      Decoder reuse is disabled by overriding behavior in application code.
      +
      +
      DISCARD_REASON_AUDIO_CHANNEL_COUNT_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The audio channel count is changing.
      +
      +
      DISCARD_REASON_AUDIO_ENCODING_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The audio encoding is changing.
      +
      +
      DISCARD_REASON_AUDIO_SAMPLE_RATE_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The audio sample rate is changing.
      +
      +
      DISCARD_REASON_DRM_SESSION_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The DRM session is changing.
      +
      +
      DISCARD_REASON_INITIALIZATION_DATA_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The format initialization data is changing.
      +
      +
      DISCARD_REASON_MAX_INPUT_SIZE_EXCEEDED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The new format may exceed the decoder's configured maximum sample size, in bytes.
      +
      +
      DISCARD_REASON_MIME_TYPE_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The sample MIME type is changing.
      +
      +
      DISCARD_REASON_OPERATING_RATE_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The codec's operating rate is changing.
      +
      +
      DISCARD_REASON_REUSE_NOT_IMPLEMENTED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      Decoder reuse is not implemented.
      +
      +
      DISCARD_REASON_VIDEO_COLOR_INFO_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The video ColorInfo is changing.
      +
      +
      DISCARD_REASON_VIDEO_MAX_RESOLUTION_EXCEEDED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The new format may exceed the decoder's configured maximum resolution.
      +
      +
      DISCARD_REASON_VIDEO_RESOLUTION_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The video resolution is changing.
      +
      +
      DISCARD_REASON_VIDEO_ROTATION_CHANGED - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The video rotation is changing.
      +
      +
      DISCARD_REASON_WORKAROUND - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      Decoder reuse is disabled by a workaround.
      +
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Discards buffered media up to the specified position.
      +
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      discardBuffer(long, boolean) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Discards buffered media up to the specified position.
      +
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      discardBuffer(long, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      discardReasons - Variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      Reasons why the decoder cannot be reused.
      +
      +
      discardSampleMetadataToRead() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      discardTo(long, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Discards data from the queue.
      +
      +
      discardTo(long, boolean, boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Discards up to but not including the sample immediately before or at the specified time.
      +
      +
      discardToEnd() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Discards all samples in the queue and advances the read position.
      +
      +
      discardToRead() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Discards up to but not including the read position.
      +
      +
      discardToSps(ByteBuffer) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Discards data from the buffer up to the first SPS, where data.position() is interpreted + as the length of the buffer.
      +
      +
      discardUpstreamFrom(long) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Discards samples from the write side of the queue.
      +
      +
      discardUpstreamSamples(int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Discards samples from the write side of the queue.
      +
      +
      DISCONTINUITY_REASON_AD_INSERTION - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Discontinuity to or from an ad within one period in the timeline.
      +
      +
      DISCONTINUITY_REASON_INTERNAL - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Discontinuity introduced internally by the source.
      +
      +
      DISCONTINUITY_REASON_PERIOD_TRANSITION - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Automatic playback transition from one period in the timeline to the next.
      +
      +
      DISCONTINUITY_REASON_SEEK - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Seek within the current period or to another period.
      +
      +
      DISCONTINUITY_REASON_SEEK_ADJUSTMENT - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Seek adjustment due to being unable to seek to the requested position or because the seek was + permitted to be inexact.
      +
      +
      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 + #EXT-X-DISCONTINUITY-SEQUENCE.
      +
      +
      dispatch(RecordedRequest) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher
      +
       
      +
      dispatchFastForward(Player) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a fast forward operation.
      +
      +
      dispatchFastForward(Player) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      dispatchKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      dispatchKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      dispatchKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      dispatchMediaKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Called to process media key events.
      +
      +
      dispatchMediaKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Called to process media key events.
      +
      +
      dispatchMediaKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Called to process media key events.
      +
      +
      dispatchMediaKeyEvent(KeyEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Called to process media key events.
      +
      +
      dispatchNext(Player) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.next() operation.
      +
      +
      dispatchNext(Player) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchPrepare(Player) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.prepare() operation.
      +
      +
      dispatchPrepare(Player) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchPrevious(Player) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.previous() operation.
      +
      +
      dispatchPrevious(Player) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchRewind(Player) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a rewind operation.
      +
      +
      dispatchRewind(Player) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchSeekTo(Player, int, long) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.seekTo(int, long) operation.
      +
      +
      dispatchSeekTo(Player, int, long) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchSetPlaybackParameters(Player, PlaybackParameters) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      + +
      +
      dispatchSetPlaybackParameters(Player, PlaybackParameters) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchSetPlayWhenReady(Player, boolean) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.setPlayWhenReady(boolean) operation.
      +
      +
      dispatchSetPlayWhenReady(Player, boolean) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchSetRepeatMode(Player, int) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.setRepeatMode(int) operation.
      +
      +
      dispatchSetRepeatMode(Player, int) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchSetShuffleModeEnabled(Player, boolean) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      + +
      +
      dispatchSetShuffleModeEnabled(Player, boolean) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchStop(Player, boolean) - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Dispatches a Player.stop() operation.
      +
      +
      dispatchStop(Player, boolean) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      dispatchTouchEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      displayHeight - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      displayWidth - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      DO_NOT_OFFSET - Static variable in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      A special firstSampleTimestampUs value indicating that presentation timestamps should + not be offset.
      +
      +
      doActionAndScheduleNext(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action
      +
      +
      Executes the action and schedules the next.
      +
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action
      +
      + +
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.PlayUntilPosition
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForIsLoading
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForMessage
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPendingPlayerCommands
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPlaybackState
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPlayWhenReady
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPositionDiscontinuity
      +
       
      +
      doActionAndScheduleNextImpl(SimpleExoPlayer, DefaultTrackSelector, Surface, HandlerWrapper, ActionSchedule.ActionNode) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForTimelineChanged
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.AddMediaItems
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.ClearMediaItems
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.ClearVideoSurface
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action
      +
      + +
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.ExecuteRunnable
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.MoveMediaItem
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.PlayUntilPosition
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.Prepare
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.RemoveMediaItem
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.RemoveMediaItems
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.Seek
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SendMessages
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetAudioAttributes
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetMediaItems
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetMediaItemsResetPosition
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetPlaybackParameters
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetPlayWhenReady
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetRendererDisabled
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetRepeatMode
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetShuffleModeEnabled
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetShuffleOrder
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.SetVideoSurface
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.Stop
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.ThrowPlaybackException
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForIsLoading
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForMessage
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPendingPlayerCommands
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPlaybackState
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPlayWhenReady
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForPositionDiscontinuity
      +
       
      +
      doActionImpl(SimpleExoPlayer, DefaultTrackSelector, Surface) - Method in class com.google.android.exoplayer2.testutil.Action.WaitForTimelineChanged
      +
       
      +
      DolbyVisionConfig - Class in com.google.android.exoplayer2.video
      +
      +
      Dolby Vision configuration data.
      +
      +
      domain - Variable in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      DONT_RETRY - Static variable in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Discards the failed Loader.Loadable and ignores any errors that have occurred.
      +
      +
      DONT_RETRY_FATAL - Static variable in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Discards the failed Loader.Loadable.
      +
      +
      download(Downloader.ProgressListener) - Method in interface com.google.android.exoplayer2.offline.Downloader
      +
      +
      Downloads the content.
      +
      +
      download(Downloader.ProgressListener) - Method in class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
       
      +
      download(Downloader.ProgressListener) - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
       
      +
      Download - Class in com.google.android.exoplayer2.offline
      +
      +
      Represents state of a download.
      +
      +
      Download(DownloadRequest, int, long, long, long, int, int) - Constructor for class com.google.android.exoplayer2.offline.Download
      +
       
      +
      Download(DownloadRequest, int, long, long, long, int, int, DownloadProgress) - Constructor for class com.google.android.exoplayer2.offline.Download
      +
       
      +
      Download.FailureReason - Annotation Type in com.google.android.exoplayer2.offline
      +
      +
      Failure reasons.
      +
      +
      Download.State - Annotation Type in com.google.android.exoplayer2.offline
      +
      +
      Download states.
      +
      +
      DownloadBuilder - Class in com.google.android.exoplayer2.testutil
      +
      +
      Builder for Download.
      +
      +
      DownloadBuilder(DownloadRequest) - Constructor for class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
      +
      Creates a download builder based on the attributes of the specified request.
      +
      +
      DownloadBuilder(String) - Constructor for class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
      +
      Creates a download builder for "uri" and no stream keys.
      +
      +
      DownloadCursor - Interface in com.google.android.exoplayer2.offline
      +
      +
      Provides random read-write access to the result set returned by a database query.
      +
      +
      Downloader - Interface in com.google.android.exoplayer2.offline
      +
      +
      Downloads and removes a piece of content.
      +
      +
      Downloader.ProgressListener - Interface in com.google.android.exoplayer2.offline
      +
      +
      Receives progress updates during download operations.
      +
      +
      DownloaderFactory - Interface in com.google.android.exoplayer2.offline
      +
      +
      Creates Downloaders for given DownloadRequests.
      +
      +
      DownloadException - Exception in com.google.android.exoplayer2.offline
      +
      +
      Thrown on an error during downloading.
      +
      +
      DownloadException(String) - Constructor for exception com.google.android.exoplayer2.offline.DownloadException
      +
       
      +
      DownloadException(Throwable) - Constructor for exception com.google.android.exoplayer2.offline.DownloadException
      +
       
      +
      DownloadHelper - Class in com.google.android.exoplayer2.offline
      +
      +
      A helper for initializing and removing downloads.
      +
      +
      DownloadHelper(MediaItem, MediaSource, DefaultTrackSelector.Parameters, RendererCapabilities[]) - Constructor for class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Creates download helper.
      +
      +
      DownloadHelper.Callback - Interface in com.google.android.exoplayer2.offline
      +
      +
      A callback to be notified when the DownloadHelper is prepared.
      +
      +
      DownloadHelper.LiveContentUnsupportedException - Exception in com.google.android.exoplayer2.offline
      +
      +
      Thrown at an attempt to download live content.
      +
      +
      DownloadIndex - Interface in com.google.android.exoplayer2.offline
      +
      +
      An index of Downloads.
      +
      +
      downloadLicense(Format) - Method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Downloads an offline license.
      +
      +
      DownloadManager - Class in com.google.android.exoplayer2.offline
      +
      +
      Manages downloads.
      +
      +
      DownloadManager(Context, DatabaseProvider, Cache, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.offline.DownloadManager
      +
      + +
      +
      DownloadManager(Context, DatabaseProvider, Cache, DataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Constructs a DownloadManager.
      +
      +
      DownloadManager(Context, WritableDownloadIndex, DownloaderFactory) - Constructor for class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Constructs a DownloadManager.
      +
      +
      DownloadManager.Listener - Interface in com.google.android.exoplayer2.offline
      +
      +
      Listener for DownloadManager events.
      +
      +
      DownloadNotificationHelper - Class in com.google.android.exoplayer2.ui
      +
      +
      Helper for creating download notifications.
      +
      +
      DownloadNotificationHelper(Context, String) - Constructor for class com.google.android.exoplayer2.ui.DownloadNotificationHelper
      +
       
      +
      DownloadNotificationUtil - Class in com.google.android.exoplayer2.ui
      +
      +
      Deprecated. +
      Using this class can cause notifications to flicker on devices with Util.SDK_INT < 21. Use DownloadNotificationHelper instead.
      +
      +
      +
      DownloadProgress - Class in com.google.android.exoplayer2.offline
      +
      +
      Mutable Download progress.
      +
      +
      DownloadProgress() - Constructor for class com.google.android.exoplayer2.offline.DownloadProgress
      +
       
      +
      DownloadRequest - Class in com.google.android.exoplayer2.offline
      +
      +
      Defines content to be downloaded.
      +
      +
      DownloadRequest.Builder - Class in com.google.android.exoplayer2.offline
      +
      +
      A builder for download requests.
      +
      +
      DownloadRequest.UnsupportedRequestException - Exception in com.google.android.exoplayer2.offline
      +
      +
      Thrown when the encoded request data belongs to an unsupported request type.
      +
      +
      DownloadService - Class in com.google.android.exoplayer2.offline
      +
      +
      A Service for downloading media.
      +
      +
      DownloadService(int) - Constructor for class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Creates a DownloadService.
      +
      +
      DownloadService(int, long) - Constructor for class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Creates a DownloadService.
      +
      +
      DownloadService(int, long, String, int) - Constructor for class com.google.android.exoplayer2.offline.DownloadService
      +
      + +
      +
      DownloadService(int, long, String, int, int) - Constructor for class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Creates a DownloadService.
      +
      +
      downstreamFormatChanged(int, Format, int, Object, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      downstreamFormatChanged(MediaLoadData) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      doWork() - Method in class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler.SchedulerWorker
      +
       
      +
      doWork() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
      +
      Performs the work or computation.
      +
      +
      DRAW_MODE_TRIANGLES - Static variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Triangle draw mode.
      +
      +
      DRAW_MODE_TRIANGLES_FAN - Static variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Triangle fan draw mode.
      +
      +
      DRAW_MODE_TRIANGLES_STRIP - Static variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Triangle strip draw mode.
      +
      +
      drawableStateChanged() - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      DRM_UNSUPPORTED - Static variable in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      +
      An instance that supports no DRM schemes.
      +
      +
      drmConfiguration - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional MediaItem.DrmConfiguration for the media.
      +
      +
      drmInitData - Variable in class com.google.android.exoplayer2.Format
      +
      +
      DRM initialization data if the stream is protected, or null otherwise.
      +
      +
      drmInitData - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      DRM initialization data for sample decryption, or null if the segment does not use CDM-DRM + protection.
      +
      +
      DrmInitData - Class in com.google.android.exoplayer2.drm
      +
      +
      Initialization data for one or more DRM schemes.
      +
      +
      DrmInitData(DrmInitData.SchemeData...) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      DrmInitData(String, DrmInitData.SchemeData...) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      DrmInitData(String, List<DrmInitData.SchemeData>) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      DrmInitData(List<DrmInitData.SchemeData>) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      DrmInitData.SchemeData - Class in com.google.android.exoplayer2.drm
      +
      +
      Scheme initialization data.
      +
      +
      drmKeysLoaded() - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      drmKeysRemoved() - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      drmKeysRestored() - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      drmSchemeDatas - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      drmSchemeType - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      drmSession - Variable in class com.google.android.exoplayer2.FormatHolder
      +
      +
      An accompanying context for decrypting samples in the format.
      +
      +
      DrmSession - Interface in com.google.android.exoplayer2.drm
      +
      +
      A DRM session.
      +
      +
      DrmSession.DrmSessionException - Exception in com.google.android.exoplayer2.drm
      +
      +
      Wraps the throwable which is the cause of the error state.
      +
      +
      DrmSession.State - Annotation Type in com.google.android.exoplayer2.drm
      +
      +
      The state of the DRM session.
      +
      +
      drmSessionAcquired() - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      DrmSessionEventListener - Interface in com.google.android.exoplayer2.drm
      +
      +
      Listener of DrmSessionManager events.
      +
      +
      DrmSessionEventListener.EventDispatcher - Class in com.google.android.exoplayer2.drm
      +
      +
      Dispatches events to DrmSessionEventListeners.
      +
      +
      DrmSessionException(Throwable) - Constructor for exception com.google.android.exoplayer2.drm.DrmSession.DrmSessionException
      +
       
      +
      DrmSessionManager - Interface in com.google.android.exoplayer2.drm
      +
      +
      Manages a DRM session.
      +
      +
      drmSessionManagerError(Exception) - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      DrmSessionManagerProvider - Interface in com.google.android.exoplayer2.drm
      +
      +
      A provider to obtain a DrmSessionManager suitable for playing the content described by a + MediaItem.
      +
      +
      drmSessionReleased() - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      + +
      +
      dropOutputBuffer(MediaCodecAdapter, int, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Drops the output buffer with the specified index.
      +
      +
      dropOutputBuffer(VideoDecoderOutputBuffer) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Drops the specified output buffer and releases it.
      +
      +
      droppedBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of dropped buffers.
      +
      +
      droppedFrames(int, long) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      droppedToKeyframeCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of times all buffers to a keyframe were dropped.
      +
      +
      DTS_HD_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Maximum rate for a DTS-HD audio stream, in bytes per second.
      +
      +
      DTS_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Maximum rate for a DTS audio stream, in bytes per second.
      +
      +
      DtsReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous DTS byte stream and extracts individual samples.
      +
      +
      DtsReader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
      +
      Constructs a new reader for DTS elementary streams.
      +
      +
      DtsUtil - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for parsing DTS frames.
      +
      +
      Dummy() - Constructor for class com.google.android.exoplayer2.upstream.LoaderErrorThrower.Dummy
      +
       
      +
      DUMMY - Static variable in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      + +
      +
      DummyDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource which provides no data.
      +
      +
      DummyExoMediaDrm - Class in com.google.android.exoplayer2.drm
      +
      +
      An ExoMediaDrm that does not support any protection schemes.
      +
      +
      DummyExoMediaDrm() - Constructor for class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      DummyExtractorOutput - Class in com.google.android.exoplayer2.extractor
      +
      +
      A fake ExtractorOutput implementation.
      +
      +
      DummyExtractorOutput() - Constructor for class com.google.android.exoplayer2.extractor.DummyExtractorOutput
      +
       
      +
      DummyMainThread - Class in com.google.android.exoplayer2.testutil
      +
      +
      Helper class to simulate main/UI thread in tests.
      +
      +
      DummyMainThread() - Constructor for class com.google.android.exoplayer2.testutil.DummyMainThread
      +
       
      +
      DummyMainThread.TestRunnable - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Runnable variant which can throw a checked exception.
      +
      +
      DummySurface - Class in com.google.android.exoplayer2.video
      +
      +
      A dummy Surface.
      +
      +
      DummyTrackOutput - Class in com.google.android.exoplayer2.extractor
      +
      +
      A fake TrackOutput implementation.
      +
      +
      DummyTrackOutput() - Constructor for class com.google.android.exoplayer2.extractor.DummyTrackOutput
      +
       
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.robolectric.PlaybackOutput
      +
       
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.testutil.CapturingRenderersFactory
      +
       
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.testutil.DumpableFormat
      +
       
      +
      dump(Dumper) - Method in interface com.google.android.exoplayer2.testutil.Dumper.Dumpable
      +
      +
      Dumps the fields of the object using the dumper.
      +
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      dump(Dumper) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      DumpableFormat - Class in com.google.android.exoplayer2.testutil
      +
      +
      Wraps a Format to allow dumping it.
      +
      +
      DumpableFormat(Format, int) - Constructor for class com.google.android.exoplayer2.testutil.DumpableFormat
      +
       
      +
      Dumper - Class in com.google.android.exoplayer2.testutil
      +
      +
      Helper utility to dump field values.
      +
      +
      Dumper() - Constructor for class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      Dumper.Dumpable - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Provides custom dump method.
      +
      +
      DumpFileAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Helper class to enable assertions based on golden-data dump files.
      +
      +
      dumpFilesPrefix - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig
      +
      +
      The prefix prepended to the dump files path.
      +
      +
      durationMs - Variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      The duration of the event in milliseconds.
      +
      +
      durationMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The duration of the presentation in milliseconds, or C.TIME_UNSET if not applicable.
      +
      +
      durationsUs - Variable in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      The chunk durations, in microseconds.
      +
      +
      durationsUs - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      The durations of each ad in the ad group, in microseconds.
      +
      +
      durationUs - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      The duration of the track 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.
      +
      +
      durationUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The duration of the segment in microseconds, as defined by #EXTINF or #EXT-X-PART.
      +
      +
      durationUs - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The overall presentation duration of the media in microseconds, or C.TIME_UNSET if the + duration is unknown.
      +
      +
      durationUs - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      durationUs - Variable in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      The duration of this period in microseconds, or C.TIME_UNSET if unknown.
      +
      +
      durationUs - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The duration of this window in microseconds, or C.TIME_UNSET if unknown.
      +
      +
      DvbDecoder - Class in com.google.android.exoplayer2.text.dvb
      +
      +
      A SimpleSubtitleDecoder for DVB subtitles.
      +
      +
      DvbDecoder(List<byte[]>) - Constructor for class com.google.android.exoplayer2.text.dvb.DvbDecoder
      +
       
      +
      DvbSubtitleInfo(String, int, byte[]) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.DvbSubtitleInfo
      +
       
      +
      dvbSubtitleInfos - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
      +
       
      +
      DvbSubtitleReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses DVB subtitle data and extracts individual frames.
      +
      +
      DvbSubtitleReader(List<TsPayloadReader.DvbSubtitleInfo>) - Constructor for class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      dvrWindowLengthUs - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The length of the trailing window for a live broadcast in microseconds, or C.TIME_UNSET + if the stream is not live or if the window length is unspecified.
      +
      +
      dynamic - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      Whether the manifest has value "dynamic" for the type attribute.
      +
      +
      + + + +

      E

      +
      +
      e(String, String) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      e(String, String, Throwable) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      E_AC3_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Maximum rate for an E-AC-3 audio stream, in bytes per second.
      +
      +
      EbmlProcessor - Interface in com.google.android.exoplayer2.extractor.mkv
      +
      +
      Defines EBML element IDs/types and processes events.
      +
      +
      EbmlProcessor.ElementType - Annotation Type in com.google.android.exoplayer2.extractor.mkv
      +
      +
      EBML element types.
      +
      +
      EDGE_TYPE_DEPRESSED - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Edge type value specifying depressed bevel character edges.
      +
      +
      EDGE_TYPE_DROP_SHADOW - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Edge type value specifying drop-shadowed character edges.
      +
      +
      EDGE_TYPE_NONE - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Edge type value specifying no character edges.
      +
      +
      EDGE_TYPE_OUTLINE - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Edge type value specifying uniformly outlined character edges.
      +
      +
      EDGE_TYPE_RAISED - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Edge type value specifying raised bevel character edges.
      +
      +
      edgeColor - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred edge color, if using an edge type other than CaptionStyleCompat.EDGE_TYPE_NONE.
      +
      +
      edgeType - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred edge type.
      +
      +
      editListDurations - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      Durations of edit list segments in the movie timescale.
      +
      +
      editListMediaTimes - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      Media times for edit list segments in the track timescale.
      +
      +
      effectId - Variable in class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
      +
      The identifier of the effect, or AuxEffectInfo.NO_AUX_EFFECT_ID if there is no effect.
      +
      +
      EGLSurfaceTexture - Class in com.google.android.exoplayer2.util
      +
      +
      Generates a SurfaceTexture using EGL/GLES functions.
      +
      +
      EGLSurfaceTexture(Handler) - Constructor for class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
       
      +
      EGLSurfaceTexture(Handler, EGLSurfaceTexture.TextureImageListener) - Constructor for class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
       
      +
      EGLSurfaceTexture.GlException - Exception in com.google.android.exoplayer2.util
      +
      +
      A runtime exception to be thrown if some EGL operations failed.
      +
      +
      EGLSurfaceTexture.SecureMode - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      Secure mode to be used by the EGL surface and context.
      +
      +
      EGLSurfaceTexture.TextureImageListener - Interface in com.google.android.exoplayer2.util
      +
      +
      Listener to be called when the texture image on SurfaceTexture has been updated.
      +
      +
      elapsedRealtime() - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
       
      +
      elapsedRealtime() - Method in interface com.google.android.exoplayer2.util.Clock
      +
       
      +
      elapsedRealtime() - Method in class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      elapsedRealtimeEpochOffsetMs - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The offset between SystemClock.elapsedRealtime() and the time since the Unix epoch + according to the clock of the media origin server, or C.TIME_UNSET if unknown or not + applicable.
      +
      +
      elapsedRealtimeMs - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      The value of SystemClock.elapsedRealtime() at the time of the load event.
      +
      +
      ELEMENT_TYPE_BINARY - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for binary elements.
      +
      +
      ELEMENT_TYPE_FLOAT - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for IEEE floating point value elements of either 4 or 8 bytes.
      +
      +
      ELEMENT_TYPE_MASTER - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for elements that contain child elements.
      +
      +
      ELEMENT_TYPE_STRING - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for string elements.
      +
      +
      ELEMENT_TYPE_UNKNOWN - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for unknown elements.
      +
      +
      ELEMENT_TYPE_UNSIGNED_INT - Static variable in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Type for integer value elements of up to 8 bytes.
      +
      +
      ElementaryStreamReader - Interface in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts individual samples from an elementary media stream, preserving original order.
      +
      +
      elementId - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      elementSet() - Method in class com.google.android.exoplayer2.util.CopyOnWriteMultiset
      +
      +
      Returns a snapshot of the unique elements currently in this multiset.
      +
      +
      EmbeddedSampleStream(ChunkSampleStream<T>, SampleQueue, int) - Constructor for class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Empty playback stats.
      +
      +
      EMPTY - Static variable in interface com.google.android.exoplayer2.extractor.ExtractorsFactory
      +
      +
      Extractor factory that returns an empty list of extractors.
      +
      +
      EMPTY - Static variable in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      An empty media chunk iterator without available data.
      +
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      Represents an empty master playlist, from which no attributes can be inherited.
      +
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.source.TrackGroupArray
      +
      +
      The empty array.
      +
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The empty cue.
      +
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.Timeline
      +
      +
      An empty timeline.
      +
      +
      EMPTY - Static variable in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
      +
      An empty DefaultContentMetadata.
      +
      +
      EMPTY_BUFFER - Static variable in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      An empty, direct ByteBuffer.
      +
      +
      EMPTY_BYTE_ARRAY - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      An empty byte array.
      +
      +
      EmptySampleStream - Class in com.google.android.exoplayer2.source
      +
      +
      An empty SampleStream.
      +
      +
      EmptySampleStream() - Constructor for class com.google.android.exoplayer2.source.EmptySampleStream
      +
       
      +
      enable() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      enable() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      enable() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      enable() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Enables the track selection.
      +
      +
      enable(RendererConfiguration, Format[], SampleStream, long, boolean, boolean, long, long) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      enable(RendererConfiguration, Format[], SampleStream, long, boolean, boolean, long, long) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      enable(RendererConfiguration, Format[], SampleStream, long, boolean, boolean, long, long) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Enables the renderer to consume from the specified SampleStream.
      +
      +
      enable(MediaSource.MediaSourceCaller) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      enable(MediaSource.MediaSourceCaller) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Enables the source for the creation of MediaPeriods.
      +
      +
      enableChildSource(T) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Enables a child source.
      +
      +
      enableCount - Variable in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      enabled(DecoderCounters) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      enabled(DecoderCounters) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      enableInternal() - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      + +
      +
      enableInternal() - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
       
      +
      enableInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      enableRenderer(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a renderer enable action.
      +
      +
      enableTunnelingV21() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Enables tunneling, if possible.
      +
      +
      enableTunnelingV21() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      enableTunnelingV21() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      encode(EventMessage) - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessageEncoder
      +
      +
      Encodes an EventMessage to a byte array that can be decoded by EventMessageDecoder.
      +
      +
      encoderDelay - Variable in class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      +
      The number of samples to trim from the start of the decoded audio stream, or + Format.NO_VALUE if not set.
      +
      +
      encoderDelay - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The number of frames to trim from the start of the decoded audio stream, or 0 if not + applicable.
      +
      +
      encoderPadding - Variable in class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      +
      The number of samples to trim from the end of the decoded audio stream, or + Format.NO_VALUE if not set.
      +
      +
      encoderPadding - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The number of frames to trim from the end of the decoded audio stream, or 0 if not applicable.
      +
      +
      encoding - Variable in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
      +
      The type of linear PCM encoding.
      +
      +
      ENCODING_AAC_ELD - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AAC_ER_BSAC - Static variable in class com.google.android.exoplayer2.C
      +
      +
      AAC Error Resilient Bit-Sliced Arithmetic Coding.
      +
      +
      ENCODING_AAC_HE_V1 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AAC_HE_V2 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AAC_LC - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AAC_XHE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AC3 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_AC4 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_DOLBY_TRUEHD - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_DTS - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_DTS_HD - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_E_AC3 - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_E_AC3_JOC - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_INVALID - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_MP3 - 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
      +
      +
      Like C.ENCODING_PCM_16BIT, but with the bytes in big endian order.
      +
      +
      ENCODING_PCM_24BIT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      PCM encoding with 24 bits per sample.
      +
      +
      ENCODING_PCM_32BIT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      PCM encoding with 32 bits per sample.
      +
      +
      ENCODING_PCM_8BIT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      ENCODING_PCM_FLOAT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      encryptedBlocks - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
       
      +
      encryptedBlocks - Variable in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
      +
      The number of encrypted blocks in the encryption pattern, 0 if pattern encryption does not + apply.
      +
      +
      encryptionIV - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The encryption initialization vector as defined by #EXT-X-KEY, or null if the segment is not + encrypted.
      +
      +
      encryptionKey - Variable in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
      +
      The encryption key associated with the sample.
      +
      +
      END_OF_STREAM_ITEM - Static variable in class com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
      +
      +
      Item that designates the end of stream has been reached.
      +
      +
      endBlock() - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      endData() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Returns the FakeDataSet this FakeData belongs to.
      +
      +
      endedCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks which reached the ended state at least once.
      +
      +
      endMasterElement(int) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when the end of a master element is encountered.
      +
      +
      endMasterElement(int) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when the end of a master element is encountered.
      +
      +
      endOffset - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
      +
      The byte offset of the end of the chapter, or C.POSITION_UNSET if not set.
      +
      +
      endOfStream - Variable in class com.google.android.exoplayer2.source.chunk.ChunkHolder
      +
      +
      Indicates that the end of the stream has been reached.
      +
      +
      endPositionMs - Variable in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
      +
      The end position in milliseconds.
      +
      +
      endSection() - Static method in class com.google.android.exoplayer2.util.TraceUtil
      +
      +
      Writes a trace message to indicate that a given section of code has ended.
      +
      +
      endTimeMs - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      endTimeMs - Variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
      +
      The end time, in milliseconds, of the track segment that is intended to be slow motion.
      +
      +
      endTimeUs - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      The end time of the media contained by the chunk, or C.TIME_UNSET if the data being + loaded does not contain media samples.
      +
      +
      endTimeUs - Variable in class com.google.android.exoplayer2.text.webvtt.WebvttCueInfo
      +
       
      +
      endTracks() - Method in class com.google.android.exoplayer2.extractor.DummyExtractorOutput
      +
       
      +
      endTracks() - Method in interface com.google.android.exoplayer2.extractor.ExtractorOutput
      +
      +
      Called when all tracks have been identified, meaning no new trackId values will be + passed to ExtractorOutput.track(int, int).
      +
      +
      endTracks() - Method in class com.google.android.exoplayer2.extractor.jpeg.StartOffsetExtractorOutput
      +
       
      +
      endTracks() - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      endTracks() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      endWrite(OutputStream) - Method in class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Call when you have successfully finished writing to the stream returned by AtomicFile.startWrite().
      +
      +
      ensureCapacity(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Ensures the backing array is at least requiredCapacity long.
      +
      +
      ensureSpaceForWrite(int) - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Ensures that DecoderInputBuffer.data is large enough to accommodate a write of a given length at its + current position.
      +
      +
      ensureUpdated() - Method in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      Should be called to ensure counter values are made visible across threads.
      +
      +
      entrySet() - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
      +
      Returns the set of metadata entries in their raw byte array form.
      +
      +
      equals(MediaDescriptionCompat, MediaDescriptionCompat) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.MediaIdEqualityChecker
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.device.DeviceInfo
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.extractor.SeekPoint
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.AdsConfiguration
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.MediaMetadata
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.PlaybackParameters
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.RendererConfiguration
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.SeekParameters
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.MediaPeriodId
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.testutil.DumpableFormat
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.Timeline
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.Timeline.Window
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
       
      +
      equals(Object) - Method in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      errorCode - Variable in exception com.google.android.exoplayer2.audio.AudioSink.WriteException
      +
      +
      The error value returned from the sink implementation.
      +
      +
      errorCode - Variable in exception com.google.android.exoplayer2.drm.DecryptionException
      +
      +
      A component specific error code.
      +
      +
      errorCount - Variable in class com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
      +
      +
      The number of errors this load task has encountered, including this one.
      +
      +
      ErrorMessageProvider<T extends Throwable> - Interface in com.google.android.exoplayer2.util
      +
      +
      Converts throwables into error codes and user readable error messages.
      +
      +
      ErrorStateDrmSession - Class in com.google.android.exoplayer2.drm
      +
      +
      A DrmSession that's in a terminal error state.
      +
      +
      ErrorStateDrmSession(DrmSession.DrmSessionException) - Constructor for class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      escapeFileName(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Escapes a string so that it's safe for use as a file or directory name on at least FAT32 + filesystems.
      +
      +
      EsInfo(int, String, List<TsPayloadReader.DvbSubtitleInfo>, byte[]) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
      +
       
      +
      essentialProperties - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      Essential properties in the adaptation set.
      +
      +
      evaluate(int, int, int, int, int) - Method in interface com.google.android.exoplayer2.metadata.id3.Id3Decoder.FramePredicate
      +
      +
      Returns whether a frame with the specified parameters should be decoded.
      +
      +
      evaluateQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      evaluateQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      evaluateQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      evaluateQueueSize(long, List<? extends MediaChunk>) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns the number of chunks that should be retained in the queue.
      +
      +
      EVENT_AUDIO_ATTRIBUTES_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Audio attributes changed.
      +
      +
      EVENT_AUDIO_DECODER_INITIALIZED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio renderer created a decoder.
      +
      +
      EVENT_AUDIO_DECODER_RELEASED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio renderer released a decoder.
      +
      +
      EVENT_AUDIO_DISABLED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio renderer was disabled.
      +
      +
      EVENT_AUDIO_ENABLED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio renderer was enabled.
      +
      +
      EVENT_AUDIO_INPUT_FORMAT_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The format consumed by an audio renderer changed.
      +
      +
      EVENT_AUDIO_POSITION_ADVANCING - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The audio position has increased for the first time since the last pause or position reset.
      +
      +
      EVENT_AUDIO_SESSION_ID - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio session id was set.
      +
      +
      EVENT_AUDIO_SINK_ERROR - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The audio sink encountered a non-fatal error.
      +
      +
      EVENT_AUDIO_UNDERRUN - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      An audio underrun occurred.
      +
      +
      EVENT_BANDWIDTH_ESTIMATE - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The bandwidth estimate has been updated.
      +
      +
      EVENT_DOWNSTREAM_FORMAT_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The downstream format sent to renderers changed.
      +
      +
      EVENT_DRM_KEYS_LOADED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      DRM keys were loaded.
      +
      +
      EVENT_DRM_KEYS_REMOVED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      DRM keys were removed.
      +
      +
      EVENT_DRM_KEYS_RESTORED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      DRM keys were restored.
      +
      +
      EVENT_DRM_SESSION_ACQUIRED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A DRM session has been acquired.
      +
      +
      EVENT_DRM_SESSION_MANAGER_ERROR - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A non-fatal DRM session manager error occurred.
      +
      +
      EVENT_DRM_SESSION_RELEASED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A DRM session has been released.
      +
      +
      EVENT_DROPPED_VIDEO_FRAMES - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Video frames have been dropped.
      +
      +
      EVENT_IS_LOADING_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Player.isLoading() ()} changed.
      +
      +
      EVENT_IS_LOADING_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Player.isLoading() ()} changed.
      +
      +
      EVENT_IS_PLAYING_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_IS_PLAYING_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_KEY_EXPIRED - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Event indicating that keys have expired, and are no longer usable.
      +
      +
      EVENT_KEY_REQUIRED - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Event indicating that keys need to be requested from the license server.
      +
      +
      EVENT_LOAD_CANCELED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A source canceled loading data.
      +
      +
      EVENT_LOAD_COMPLETED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A source started completed loading data.
      +
      +
      EVENT_LOAD_ERROR - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A source had a non-fatal error loading data.
      +
      +
      EVENT_LOAD_STARTED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A source started loading data.
      +
      +
      EVENT_MEDIA_ITEM_TRANSITION - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Player.getCurrentMediaItem() changed or the player started repeating the current item.
      +
      +
      EVENT_MEDIA_ITEM_TRANSITION - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Player.getCurrentMediaItem() changed or the player started repeating the current item.
      +
      +
      EVENT_METADATA - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Metadata associated with the current playback time was reported.
      +
      +
      EVENT_PLAY_WHEN_READY_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_PLAY_WHEN_READY_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_PLAYBACK_PARAMETERS_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_PLAYBACK_PARAMETERS_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_PLAYBACK_STATE_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_PLAYBACK_STATE_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_PLAYER_ERROR - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_PLAYER_ERROR - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_PLAYER_RELEASED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The player was released.
      +
      +
      EVENT_POSITION_DISCONTINUITY - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A position discontinuity occurred.
      +
      +
      EVENT_POSITION_DISCONTINUITY - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      A position discontinuity occurred.
      +
      +
      EVENT_PROVISION_REQUIRED - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Event indicating that a certificate needs to be requested from the provisioning server.
      +
      +
      EVENT_RENDERED_FIRST_FRAME - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The first frame has been rendered since setting the surface, since the renderer was reset or + since the stream changed.
      +
      +
      EVENT_REPEAT_MODE_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_REPEAT_MODE_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_SHUFFLE_MODE_ENABLED_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_SHUFFLE_MODE_ENABLED_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_SKIP_SILENCE_ENABLED_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Skipping silences was enabled or disabled in the audio stream.
      +
      +
      EVENT_STATIC_METADATA_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_STATIC_METADATA_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_SURFACE_SIZE_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The surface size changed.
      +
      +
      EVENT_TIMELINE_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_TIMELINE_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_TRACKS_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      EVENT_TRACKS_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      EVENT_UPSTREAM_DISCARDED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Data was removed from the end of the media buffer.
      +
      +
      EVENT_VIDEO_DECODER_INITIALIZED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A video renderer created a decoder.
      +
      +
      EVENT_VIDEO_DECODER_RELEASED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A video renderer released a decoder.
      +
      +
      EVENT_VIDEO_DISABLED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A video renderer was disabled.
      +
      +
      EVENT_VIDEO_ENABLED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      A video renderer was enabled.
      +
      +
      EVENT_VIDEO_FRAME_PROCESSING_OFFSET - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Video frame processing offset data has been reported.
      +
      +
      EVENT_VIDEO_INPUT_FORMAT_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The format consumed by a video renderer changed.
      +
      +
      EVENT_VIDEO_SIZE_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The video size changed.
      +
      +
      EVENT_VOLUME_CHANGED - Static variable in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      The volume changed.
      +
      +
      EventDispatcher() - Constructor for class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      Creates an event dispatcher.
      +
      +
      EventDispatcher() - Constructor for class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      Creates an event dispatcher.
      +
      +
      EventDispatcher() - Constructor for class com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
      +
      +
      Creates an event dispatcher.
      +
      +
      EventDispatcher(Handler, AudioRendererEventListener) - Constructor for class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
       
      +
      EventDispatcher(Handler, VideoRendererEventListener) - Constructor for class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
       
      +
      EventLogger - Class in com.google.android.exoplayer2.util
      +
      +
      Logs events from Player and other core components using Log.
      +
      +
      EventLogger(MappingTrackSelector) - Constructor for class com.google.android.exoplayer2.util.EventLogger
      +
      +
      Creates event logger.
      +
      +
      EventLogger(MappingTrackSelector, String) - Constructor for class com.google.android.exoplayer2.util.EventLogger
      +
      +
      Creates event logger.
      +
      +
      EventMessage - Class in com.google.android.exoplayer2.metadata.emsg
      +
      +
      An Event Message (emsg) as defined in ISO 23009-1.
      +
      +
      EventMessage(String, String, long, long, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      EventMessageDecoder - Class in com.google.android.exoplayer2.metadata.emsg
      +
      +
      Decodes data encoded by EventMessageEncoder.
      +
      +
      EventMessageDecoder() - Constructor for class com.google.android.exoplayer2.metadata.emsg.EventMessageDecoder
      +
       
      +
      EventMessageEncoder - Class in com.google.android.exoplayer2.metadata.emsg
      +
      +
      Encodes data that can be decoded by EventMessageDecoder.
      +
      +
      EventMessageEncoder() - Constructor for class com.google.android.exoplayer2.metadata.emsg.EventMessageEncoder
      +
       
      +
      eventPlaybackPositionMs - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Position in the window or ad this event belongs to at the time of the event, in milliseconds.
      +
      +
      events - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand
      +
      +
      The list of scheduled events.
      +
      +
      events - Variable in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      EventMessages in the event stream.
      +
      +
      Events() - Constructor for class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Creates the set of event flags.
      +
      +
      Events() - Constructor for class com.google.android.exoplayer2.Player.Events
      +
       
      +
      EventStream - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A DASH in-MPD EventStream element, as defined by ISO/IEC 23009-1, 2nd edition, section 5.10.
      +
      +
      EventStream(String, String, long, long[], EventMessage[]) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
       
      +
      eventStreams - Variable in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      The event stream belonging to the period.
      +
      +
      eventTime - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
      +
      +
      The event time at which the exception occurred.
      +
      +
      eventTime - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
      +
      +
      The event time associated with PlaybackStats.EventTimeAndFormat.format.
      +
      +
      eventTime - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
      +
      +
      The event time at which the playback state became active.
      +
      +
      EventTime(long, Timeline, int, MediaSource.MediaPeriodId, long, Timeline, int, MediaSource.MediaPeriodId, long, long) - Constructor for class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
       
      +
      EventTimeAndException(AnalyticsListener.EventTime, Exception) - Constructor for class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
      +
      +
      Creates a new timed exception event.
      +
      +
      EventTimeAndFormat(AnalyticsListener.EventTime, Format) - Constructor for class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
      +
      +
      Creates a new timed format event.
      +
      +
      EventTimeAndPlaybackState(AnalyticsListener.EventTime, @com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int) - Constructor for class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
      +
      +
      Creates a new timed playback state event.
      +
      +
      EXACT - Static variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Parameters for exact seeking.
      +
      +
      exceedAudioConstraintsIfNecessary - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to exceed the DefaultTrackSelector.Parameters.maxAudioChannelCount and DefaultTrackSelector.Parameters.maxAudioBitrate constraints + when no selection can be made otherwise.
      +
      +
      exceedRendererCapabilitiesIfNecessary - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to exceed renderer capabilities when no selection can be made otherwise.
      +
      +
      exceedVideoConstraintsIfNecessary - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      + +
      +
      exception - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
      +
      +
      The exception that was thrown.
      +
      +
      exception - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      exception - Variable in class com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
      +
      +
      The exception associated to the load error.
      +
      +
      exceptionCleared - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      exceptionThrown - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      execute(RunnableFutureTask<T, ?>, boolean) - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
      +
      Executes the provided RunnableFutureTask.
      +
      +
      executeKeyRequest(UUID, ExoMediaDrm.KeyRequest) - Method in class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
       
      +
      executeKeyRequest(UUID, ExoMediaDrm.KeyRequest) - Method in class com.google.android.exoplayer2.drm.LocalMediaDrmCallback
      +
       
      +
      executeKeyRequest(UUID, ExoMediaDrm.KeyRequest) - Method in interface com.google.android.exoplayer2.drm.MediaDrmCallback
      +
      +
      Executes a key request.
      +
      +
      executeKeyRequest(UUID, ExoMediaDrm.KeyRequest) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm.LicenseServer
      +
       
      +
      executeProvisionRequest(UUID, ExoMediaDrm.ProvisionRequest) - Method in class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
       
      +
      executeProvisionRequest(UUID, ExoMediaDrm.ProvisionRequest) - Method in class com.google.android.exoplayer2.drm.LocalMediaDrmCallback
      +
       
      +
      executeProvisionRequest(UUID, ExoMediaDrm.ProvisionRequest) - Method in interface com.google.android.exoplayer2.drm.MediaDrmCallback
      +
      +
      Executes a provisioning request.
      +
      +
      executeProvisionRequest(UUID, ExoMediaDrm.ProvisionRequest) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm.LicenseServer
      +
       
      +
      executeRunnable(Runnable) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a Runnable.
      +
      +
      ExecuteRunnable(String, Runnable) - Constructor for class com.google.android.exoplayer2.testutil.Action.ExecuteRunnable
      +
       
      +
      exists() - Method in class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Returns whether the file or its backup exists.
      +
      +
      ExoDatabaseProvider - Class in com.google.android.exoplayer2.database
      +
      +
      An SQLiteOpenHelper that provides instances of a standalone ExoPlayer database.
      +
      +
      ExoDatabaseProvider(Context) - Constructor for class com.google.android.exoplayer2.database.ExoDatabaseProvider
      +
      +
      Provides instances of the database located by passing ExoDatabaseProvider.DATABASE_NAME to Context.getDatabasePath(String).
      +
      +
      ExoHostedTest - Class in com.google.android.exoplayer2.testutil
      +
      +
      A HostActivity.HostedTest for ExoPlayer playback tests.
      +
      +
      ExoHostedTest(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      ExoHostedTest(String, long, boolean) - Constructor for class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      ExoMediaCrypto - Interface in com.google.android.exoplayer2.drm
      +
      +
      Enables decoding of encrypted data using keys in a DRM session.
      +
      +
      exoMediaCryptoType - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The type of ExoMediaCrypto that will be associated with the content this format + describes, or null if the content is not encrypted.
      +
      +
      ExoMediaDrm - Interface in com.google.android.exoplayer2.drm
      +
      +
      Used to obtain keys for decrypting protected media streams.
      +
      +
      ExoMediaDrm.AppManagedProvider - Class in com.google.android.exoplayer2.drm
      +
      +
      Provides an ExoMediaDrm instance owned by the app.
      +
      +
      ExoMediaDrm.KeyRequest - Class in com.google.android.exoplayer2.drm
      +
      +
      Contains data used to request keys from a license server.
      +
      +
      ExoMediaDrm.KeyRequest.RequestType - Annotation Type in com.google.android.exoplayer2.drm
      +
      +
      Key request types.
      +
      +
      ExoMediaDrm.KeyStatus - Class in com.google.android.exoplayer2.drm
      +
      +
      Defines the status of a key.
      +
      +
      ExoMediaDrm.OnEventListener - Interface in com.google.android.exoplayer2.drm
      +
      +
      Called when a DRM event occurs.
      +
      +
      ExoMediaDrm.OnExpirationUpdateListener - Interface in com.google.android.exoplayer2.drm
      +
      +
      Called when a session expiration update occurs.
      +
      +
      ExoMediaDrm.OnKeyStatusChangeListener - Interface in com.google.android.exoplayer2.drm
      +
      +
      Called when the keys in a DRM session change state.
      +
      +
      ExoMediaDrm.Provider - Interface in com.google.android.exoplayer2.drm
      +
      +
      Provider for ExoMediaDrm instances.
      +
      +
      ExoMediaDrm.ProvisionRequest - Class in com.google.android.exoplayer2.drm
      +
      +
      Contains data to request a certificate from a provisioning server.
      +
      +
      ExoPlaybackException - Exception in com.google.android.exoplayer2
      +
      +
      Thrown when a non locally recoverable playback failure occurs.
      +
      +
      ExoPlaybackException.Type - Annotation Type in com.google.android.exoplayer2
      +
      +
      The type of source that produced the error.
      +
      +
      ExoPlayer - Interface in com.google.android.exoplayer2
      +
      +
      An extensible media player that plays MediaSources.
      +
      +
      ExoPlayer.Builder - Class in com.google.android.exoplayer2
      +
      +
      A builder for ExoPlayer instances.
      +
      +
      ExoPlayerFactory - Class in com.google.android.exoplayer2
      +
      +
      Deprecated. + +
      +
      +
      ExoPlayerLibraryInfo - Class in com.google.android.exoplayer2
      +
      +
      Information about the ExoPlayer library.
      +
      +
      ExoPlayerTestRunner - Class in com.google.android.exoplayer2.testutil
      +
      +
      Helper class to run an ExoPlayer test.
      +
      +
      ExoPlayerTestRunner.Builder - Class in com.google.android.exoplayer2.testutil
      +
      +
      Builder to set-up a ExoPlayerTestRunner.
      +
      +
      ExoTimeoutException - Exception in com.google.android.exoplayer2
      +
      +
      A timeout of an operation on the ExoPlayer playback thread.
      +
      +
      ExoTimeoutException(int) - Constructor for exception com.google.android.exoplayer2.ExoTimeoutException
      +
      +
      Creates the timeout exception.
      +
      +
      ExoTimeoutException.TimeoutOperation - Annotation Type in com.google.android.exoplayer2
      +
      +
      The operation which produced the timeout error.
      +
      +
      ExoTrackSelection - Interface in com.google.android.exoplayer2.trackselection
      +
      + +
      +
      ExoTrackSelection.Definition - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Contains of a subset of selected tracks belonging to a TrackGroup.
      +
      +
      ExoTrackSelection.Factory - Interface in com.google.android.exoplayer2.trackselection
      +
      +
      Factory for ExoTrackSelection instances.
      +
      +
      EXPECTED_PLAYING_TIME_MEDIA_DURATION_MS - Static variable in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      EXPECTED_PLAYING_TIME_UNSET - Static variable in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      experimentalFlushWithoutAudioTrackRelease() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Flushes the sink, after which it is ready to receive buffers from a new playback position.
      +
      +
      experimentalFlushWithoutAudioTrackRelease() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      experimentalFlushWithoutAudioTrackRelease() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      experimentalIsSleepingForOffload() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns whether the player has paused its main loop to save power in offload scheduling mode.
      +
      +
      experimentalIsSleepingForOffload() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      experimentalIsSleepingForOffload() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      experimentalSetAsynchronousBufferQueueingEnabled(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Enable asynchronous buffer queueing for both MediaCodecAudioRenderer and MediaCodecVideoRenderer instances.
      +
      +
      experimentalSetAsynchronousBufferQueueingEnabled(boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Enable asynchronous input buffer queueing.
      +
      +
      experimentalSetEnableKeepAudioTrackOnSeek(boolean) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Sets whether to enable the experimental feature that keeps and flushes the AudioTrack when a seek occurs, as opposed to releasing and reinitialising.
      +
      +
      experimentalSetEnableKeepAudioTrackOnSeek(boolean) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
      +
      Sets whether to enable the experimental feature that keeps and flushes the AudioTrack when a seek occurs, as opposed to releasing and reinitialising.
      +
      +
      experimentalSetForceAsyncQueueingSynchronizationWorkaround(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Enable the asynchronous queueing synchronization workaround.
      +
      +
      experimentalSetForceAsyncQueueingSynchronizationWorkaround(boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Enable the asynchronous queueing synchronization workaround.
      +
      +
      experimentalSetForegroundModeTimeoutMs(long) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Set a limit on the time a call to ExoPlayer.setForegroundMode(boolean) can spend.
      +
      +
      experimentalSetOffloadSchedulingEnabled(boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Sets whether audio offload scheduling is enabled.
      +
      +
      experimentalSetOffloadSchedulingEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      experimentalSetOffloadSchedulingEnabled(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Enable synchronizing codec interactions with asynchronous buffer queueing.
      +
      +
      experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled(boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Enable synchronizing codec interactions with asynchronous buffer queueing.
      +
      +
      EXTENDED_SAR - Static variable in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Value for aspect_ratio_idc indicating an extended aspect ratio, in H.264 and H.265 SPSs.
      +
      +
      EXTENSION_RENDERER_MODE_OFF - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Do not allow use of extension renderers.
      +
      +
      EXTENSION_RENDERER_MODE_ON - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Allow use of extension renderers.
      +
      +
      EXTENSION_RENDERER_MODE_PREFER - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Allow use of extension renderers.
      +
      +
      EXTRA_FROM_INDEX - Static variable in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      EXTRA_INSTANCE_ID - Static variable in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      The extra key of the instance id of the player notification manager.
      +
      +
      EXTRA_TO_INDEX - Static variable in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      extractAllSamplesFromFile(Extractor, Context, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Extracts all samples from the given file into a FakeTrackOutput.
      +
      +
      Extractor - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Extracts media data from a container format.
      +
      +
      Extractor.ReadResult - Annotation Type in com.google.android.exoplayer2.extractor
      +
      +
      Result values that can be returned by Extractor.read(ExtractorInput, PositionHolder).
      +
      +
      ExtractorAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Assertion methods for Extractor.
      +
      +
      ExtractorAsserts.AssertionConfig - Class in com.google.android.exoplayer2.testutil
      +
      +
      A config for the assertions made (e.g.
      +
      +
      ExtractorAsserts.AssertionConfig.Builder - Class in com.google.android.exoplayer2.testutil
      +
      +
      Builder for ExtractorAsserts.AssertionConfig instances.
      +
      +
      ExtractorAsserts.ExtractorFactory - Interface in com.google.android.exoplayer2.testutil
      +
      +
      A factory for Extractor instances.
      +
      +
      ExtractorAsserts.SimulationConfig - Class in com.google.android.exoplayer2.testutil
      +
      +
      A config of different environments to simulate and extractor behaviours to test.
      +
      +
      ExtractorInput - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Provides data to be consumed by an Extractor.
      +
      +
      ExtractorMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Deprecated. + +
      +
      +
      ExtractorMediaSource(Uri, DataSource.Factory, ExtractorsFactory, Handler, ExtractorMediaSource.EventListener) - Constructor for class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated. + +
      +
      +
      ExtractorMediaSource(Uri, DataSource.Factory, ExtractorsFactory, Handler, ExtractorMediaSource.EventListener, String) - Constructor for class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated. + +
      +
      +
      ExtractorMediaSource(Uri, DataSource.Factory, ExtractorsFactory, Handler, ExtractorMediaSource.EventListener, String, int) - Constructor for class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated. + +
      +
      +
      ExtractorMediaSource.EventListener - Interface in com.google.android.exoplayer2.source
      +
      +
      Deprecated. + +
      +
      +
      ExtractorMediaSource.Factory - Class in com.google.android.exoplayer2.source
      +
      +
      Deprecated. + +
      +
      +
      ExtractorOutput - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Receives stream level data extracted by an Extractor.
      +
      +
      ExtractorsFactory - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Factory for arrays of Extractor instances.
      +
      +
      extractSeekMap(Extractor, FakeExtractorOutput, DataSource, Uri) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Reads from the given input using the given Extractor, until it can produce the SeekMap and all of the track formats have been identified, or until the extractor encounters + EOF.
      +
      +
      EXTRAS_SPEED - Static variable in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      The name of the PlaybackStateCompat float extra with the value of + Player.getPlaybackParameters().speed.
      +
      +
      + + + +

      F

      +
      +
      Factory() - Constructor for class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.Factory
      +
       
      +
      Factory() - Constructor for class com.google.android.exoplayer2.source.SilenceMediaSource.Factory
      +
       
      +
      Factory() - Constructor for class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      Factory() - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
      +
      +
      Creates an adaptive track selection factory with default parameters.
      +
      +
      Factory() - Constructor for class com.google.android.exoplayer2.trackselection.RandomTrackSelection.Factory
      +
       
      +
      Factory() - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
      +
      +
      Creates an instance.
      +
      +
      Factory() - Constructor for class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
       
      +
      Factory() - Constructor for class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Creates an instance.
      +
      +
      Factory() - Constructor for class com.google.android.exoplayer2.upstream.FileDataSource.Factory
      +
       
      +
      Factory(int) - Constructor for class com.google.android.exoplayer2.trackselection.RandomTrackSelection.Factory
      +
       
      +
      Factory(int, int, int, float) - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
      +
      +
      Creates an adaptive track selection factory.
      +
      +
      Factory(int, int, int, float, float, Clock) - Constructor for class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.Factory
      +
      +
      Creates an adaptive track selection factory.
      +
      +
      Factory(long, double) - Constructor for class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Factory
      +
      +
      Set up factory for FakeAdaptiveDataSets with a chunk duration and the standard + deviation of the chunk size.
      +
      +
      Factory(CronetEngineWrapper, Executor) - Constructor for class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Creates an instance.
      +
      +
      Factory(DashChunkSource.Factory, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Creates a new factory for DashMediaSources.
      +
      +
      Factory(HlsDataSourceFactory) - Constructor for class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Creates a new factory for HlsMediaSources.
      +
      +
      Factory(SsChunkSource.Factory, DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Creates a new factory for SsMediaSources.
      +
      +
      Factory(FakeAdaptiveDataSet.Factory, FakeDataSource.Factory) - Constructor for class com.google.android.exoplayer2.testutil.FakeChunkSource.Factory
      +
       
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Creates a new factory for DashMediaSources.
      +
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.Factory
      +
       
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      Creates a new factory for ExtractorMediaSources.
      +
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Creates a new factory for HlsMediaSources.
      +
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      +
      Creates a new factory for ProgressiveMediaSources, using the extractors provided by + DefaultExtractorsFactory.
      +
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      +
      Creates a factory for SingleSampleMediaSources.
      +
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource.Factory
      +
       
      +
      Factory(DataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Creates a new factory for SsMediaSources.
      +
      +
      Factory(DataSource.Factory, int) - Constructor for class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.Factory
      +
       
      +
      Factory(DataSource.Factory, ExtractorsFactory) - Constructor for class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      +
      Creates a new factory for ProgressiveMediaSources.
      +
      +
      Factory(DataSource.Factory, ResolvingDataSource.Resolver) - Constructor for class com.google.android.exoplayer2.upstream.ResolvingDataSource.Factory
      +
       
      +
      Factory(Call.Factory) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      +
      Creates an instance.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
      +
      Factory that returns one extractor which is a FlacExtractor.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
      +
      Factory for AmrExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
      +
      Factory for FlacExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
      +
      Factory for FlvExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Factory for MatroskaExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
      +
      Factory for Mp3Extractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
      +
      Factory for FragmentedMp4Extractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Factory for Mp4Extractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
      +
      Factory for OggExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
      +
      Factory for Ac3Extractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
      +
      Factory for Ac4Extractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
      +
      Factory for AdtsExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
      +
      Factory for PsExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
      +
      Factory for TsExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
      +
      Factory for WavExtractor instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
      +
      HlsExtractorFactory implementation that produces MediaParserHlsMediaChunkExtractor for all container formats except WebVTT, for which a BundledHlsMediaChunkExtractor is returned.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
      +
      Factory for DefaultHlsPlaylistTracker instances.
      +
      +
      FACTORY - Static variable in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
      +
      A factory that produces DummyDataSource.
      +
      +
      failOnSpuriousAudioTimestamp - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      + +
      +
      FAILURE_REASON_NONE - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download isn't failed.
      +
      +
      FAILURE_REASON_UNKNOWN - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download is failed because of unknown reason.
      +
      +
      failureReason - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      If Download.state is Download.STATE_FAILED then this is the cause, otherwise Download.FAILURE_REASON_NONE.
      +
      +
      FAKE_MEDIA_ITEM - Static variable in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      The media item used by the fake media source.
      +
      +
      FAKE_MEDIA_ITEM - Static variable in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      The fake media item used by the fake timeline.
      +
      +
      FAKE_PROVISION_REQUEST - Static variable in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      FakeAdaptiveDataSet - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake data set emulating the data of an adaptive media source.
      +
      +
      FakeAdaptiveDataSet.Factory - Class in com.google.android.exoplayer2.testutil
      +
      +
      Factory for FakeAdaptiveDataSets.
      +
      +
      FakeAdaptiveDataSet.Iterator - Class in com.google.android.exoplayer2.testutil
      +
      +
      MediaChunkIterator for the chunks defined by a fake adaptive data set.
      +
      +
      FakeAdaptiveMediaPeriod - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake MediaPeriod that provides tracks from the given TrackGroupArray.
      +
      +
      FakeAdaptiveMediaPeriod(TrackGroupArray, MediaSourceEventListener.EventDispatcher, Allocator, FakeChunkSource.Factory, long, TransferListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      FakeAdaptiveMediaSource - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake MediaSource that provides a given timeline.
      +
      +
      FakeAdaptiveMediaSource(Timeline, TrackGroupArray, FakeChunkSource.Factory) - Constructor for class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaSource
      +
       
      +
      FakeAudioRenderer - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeAudioRenderer(Handler, AudioRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeAudioRenderer
      +
       
      +
      FakeChunkSource - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake ChunkSource with adaptive media chunks of a given duration.
      +
      +
      FakeChunkSource(ExoTrackSelection, DataSource, FakeAdaptiveDataSet) - Constructor for class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      FakeChunkSource.Factory - Class in com.google.android.exoplayer2.testutil
      +
      +
      Factory for a FakeChunkSource.
      +
      +
      FakeClock - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake Clock implementation that allows to advance the time + manually to trigger pending timed messages.
      +
      +
      FakeClock(long) - Constructor for class com.google.android.exoplayer2.testutil.FakeClock
      +
      +
      Creates a fake clock assuming the system was booted exactly at time 0 (the Unix Epoch) + and initialTimeMs milliseconds have passed since system boot.
      +
      +
      FakeClock(long, long) - Constructor for class com.google.android.exoplayer2.testutil.FakeClock
      +
      +
      Creates a fake clock specifying when the system was booted and how much time has passed since + then.
      +
      +
      fakeDataSet - Variable in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      FakeDataSet - Class in com.google.android.exoplayer2.testutil
      +
      +
      Collection of FakeDataSet.FakeData to be served by a FakeDataSource.
      +
      +
      FakeDataSet() - Constructor for class com.google.android.exoplayer2.testutil.FakeDataSet
      +
       
      +
      FakeDataSet.FakeData - Class in com.google.android.exoplayer2.testutil
      +
      +
      Container of fake data to be served by a FakeDataSource.
      +
      +
      FakeDataSet.FakeData.Segment - Class in com.google.android.exoplayer2.testutil
      +
      +
      A segment of FakeDataSet.FakeData.
      +
      +
      FakeDataSource - Class in com.google.android.exoplayer2.testutil
      +
      +
      A fake DataSource capable of simulating various scenarios.
      +
      +
      FakeDataSource() - Constructor for class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      FakeDataSource(FakeDataSet) - Constructor for class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      FakeDataSource(FakeDataSet, boolean) - Constructor for class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      FakeDataSource.Factory - Class in com.google.android.exoplayer2.testutil
      +
      +
      Factory to create a FakeDataSource.
      +
      +
      FakeExoMediaDrm - Class in com.google.android.exoplayer2.testutil
      +
      +
      A fake implementation of ExoMediaDrm for use in tests.
      +
      +
      FakeExoMediaDrm() - Constructor for class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
      +
      Constructs an instance that returns random and unique sessionIds for subsequent calls + to FakeExoMediaDrm.openSession() with no limit on the number of concurrent open sessions.
      +
      +
      FakeExoMediaDrm(int) - Constructor for class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
      +
      Constructs an instance that returns random and unique sessionIds for subsequent calls + to FakeExoMediaDrm.openSession() with a limit on the number of concurrent open sessions.
      +
      +
      FakeExoMediaDrm.LicenseServer - Class in com.google.android.exoplayer2.testutil
      +
      +
      An license server implementation to interact with FakeExoMediaDrm.
      +
      +
      FakeExtractorInput - Class in com.google.android.exoplayer2.testutil
      +
      +
      A fake ExtractorInput capable of simulating various scenarios.
      +
      +
      FakeExtractorInput.Builder - Class in com.google.android.exoplayer2.testutil
      +
      +
      Builder of FakeExtractorInput instances.
      +
      +
      FakeExtractorInput.SimulatedIOException - Exception in com.google.android.exoplayer2.testutil
      +
      +
      Thrown when simulating an IOException.
      +
      +
      FakeExtractorOutput - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeExtractorOutput() - Constructor for class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      FakeExtractorOutput(FakeTrackOutput.Factory) - Constructor for class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      FakeMediaChunk - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeMediaChunk(Format, long, long) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaChunk
      +
      +
      Creates a fake media chunk.
      +
      +
      FakeMediaChunk(Format, long, long, int) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaChunk
      +
      +
      Creates a fake media chunk.
      +
      +
      FakeMediaChunkIterator - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeMediaChunkIterator(long[], long[]) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaChunkIterator
      +
      +
      Creates a fake MediaChunkIterator.
      +
      +
      FakeMediaClockRenderer - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake abstract Renderer which is also a MediaClock.
      +
      +
      FakeMediaClockRenderer(int) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaClockRenderer
      +
       
      +
      FakeMediaPeriod - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake MediaPeriod that provides tracks from the given TrackGroupArray.
      +
      +
      FakeMediaPeriod(TrackGroupArray, Allocator, long, MediaSourceEventListener.EventDispatcher) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Constructs a FakeMediaPeriod with a single sample for each track in trackGroupArray.
      +
      +
      FakeMediaPeriod(TrackGroupArray, Allocator, long, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, boolean) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Constructs a FakeMediaPeriod with a single sample for each track in trackGroupArray.
      +
      +
      FakeMediaPeriod(TrackGroupArray, Allocator, FakeMediaPeriod.TrackDataFactory, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, boolean) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Constructs a FakeMediaPeriod.
      +
      +
      FakeMediaPeriod.TrackDataFactory - Interface in com.google.android.exoplayer2.testutil
      +
      +
      A factory to create the test data for a particular track.
      +
      +
      FakeMediaSource - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake MediaSource that provides a given timeline.
      +
      +
      FakeMediaSource() - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a FakeMediaSource with a default FakeTimeline.
      +
      +
      FakeMediaSource(Timeline, DrmSessionManager, Format...) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a FakeMediaSource.
      +
      +
      FakeMediaSource(Timeline, DrmSessionManager, FakeMediaPeriod.TrackDataFactory, Format...) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a FakeMediaSource.
      +
      +
      FakeMediaSource(Timeline, DrmSessionManager, FakeMediaPeriod.TrackDataFactory, TrackGroupArray) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a FakeMediaSource.
      +
      +
      FakeMediaSource(Timeline, Format...) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Creates a FakeMediaSource.
      +
      +
      FakeMediaSource.InitialTimeline - Class in com.google.android.exoplayer2.testutil
      +
      +
      A forwarding timeline to provide an initial timeline for fake multi window sources.
      +
      +
      FakeRenderer - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake Renderer that supports any format with the matching track type.
      +
      +
      FakeRenderer(int) - Constructor for class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      FakeSampleStream - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake SampleStream that outputs a given Format and any amount of items.
      +
      +
      FakeSampleStream(Allocator, MediaSourceEventListener.EventDispatcher, DrmSessionManager, DrmSessionEventListener.EventDispatcher, Format, List<FakeSampleStream.FakeSampleStreamItem>) - Constructor for class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Creates a fake sample stream which outputs the given Format followed by the provided + items.
      +
      +
      FakeSampleStream.FakeSampleStreamItem - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeShuffleOrder - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake ShuffleOrder which returns a reverse order.
      +
      +
      FakeShuffleOrder(int) - Constructor for class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      FakeTimeline - Class in com.google.android.exoplayer2.testutil
      +
      +
      Fake Timeline which can be setup to return custom FakeTimeline.TimelineWindowDefinitions.
      +
      +
      FakeTimeline() - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      Create a fake timeline with one seekable, non-dynamic window with one period and a duration of + FakeTimeline.TimelineWindowDefinition.DEFAULT_WINDOW_DURATION_US.
      +
      +
      FakeTimeline(int, Object...) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      Creates a fake timeline with the given number of seekable, non-dynamic windows with one period + with a duration of FakeTimeline.TimelineWindowDefinition.DEFAULT_WINDOW_DURATION_US each.
      +
      +
      FakeTimeline(FakeTimeline.TimelineWindowDefinition...) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      Creates a fake timeline with the given window definitions.
      +
      +
      FakeTimeline(Object[], FakeTimeline.TimelineWindowDefinition...) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline
      +
      +
      Creates a fake timeline with the given window definitions.
      +
      +
      FakeTimeline.TimelineWindowDefinition - Class in com.google.android.exoplayer2.testutil
      +
      +
      Definition used to define a FakeTimeline.
      +
      +
      FakeTrackOutput - Class in com.google.android.exoplayer2.testutil
      +
      +
      A fake TrackOutput.
      +
      +
      FakeTrackOutput(boolean) - Constructor for class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      FakeTrackOutput.Factory - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Factory for FakeTrackOutput instances.
      +
      +
      FakeTrackSelection - Class in com.google.android.exoplayer2.testutil
      +
      +
      A fake ExoTrackSelection that only returns 1 fixed track, and allows querying the number + of calls to its methods.
      +
      +
      FakeTrackSelection(TrackGroup) - Constructor for class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      FakeTrackSelector - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeTrackSelector() - Constructor for class com.google.android.exoplayer2.testutil.FakeTrackSelector
      +
       
      +
      FakeTrackSelector(boolean) - Constructor for class com.google.android.exoplayer2.testutil.FakeTrackSelector
      +
       
      +
      FakeVideoRenderer - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      FakeVideoRenderer(Handler, VideoRendererEventListener) - Constructor for class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      fallbackDecoderInitializationException - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
      +
      If the decoder failed to initialize and another decoder being used as a fallback also failed + to initialize, the MediaCodecRenderer.DecoderInitializationException for the fallback decoder.
      +
      +
      fatalErrorCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of fatal errors.
      +
      +
      fatalErrorHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The history of fatal errors as EventTimeAndExceptions ordered by + EventTime.realTimeMs.
      +
      +
      fatalErrorPlaybackCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of playback with at least one fatal error.
      +
      +
      FEATURE_CACHE_CONTENT_METADATA - Static variable in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Version of tables used for cache content metadata.
      +
      +
      FEATURE_CACHE_FILE_METADATA - Static variable in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Version of tables used for cache file metadata.
      +
      +
      FEATURE_EXTERNAL - Static variable in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Version of tables used from external features.
      +
      +
      FEATURE_OFFLINE - Static variable in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Version of tables used for offline functionality.
      +
      +
      FfmpegAudioRenderer - Class in com.google.android.exoplayer2.ext.ffmpeg
      +
      +
      Decodes and renders audio using FFmpeg.
      +
      +
      FfmpegAudioRenderer() - Constructor for class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      FfmpegAudioRenderer(Handler, AudioRendererEventListener, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
      +
      Creates a new instance.
      +
      +
      FfmpegAudioRenderer(Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
      +
      Creates a new instance.
      +
      +
      FfmpegDecoderException - Exception in com.google.android.exoplayer2.ext.ffmpeg
      +
      +
      Thrown when an FFmpeg decoder error occurs.
      +
      +
      FfmpegLibrary - Class in com.google.android.exoplayer2.ext.ffmpeg
      +
      +
      Configures and queries the underlying native library.
      +
      +
      file - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      The file corresponding to this CacheSpan, or null if CacheSpan.isCached is false.
      +
      +
      FileDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading local files.
      +
      +
      FileDataSource() - Constructor for class com.google.android.exoplayer2.upstream.FileDataSource
      +
       
      +
      FileDataSource.Factory - Class in com.google.android.exoplayer2.upstream
      +
      + +
      +
      FileDataSource.FileDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when a FileDataSource encounters an error reading a file.
      +
      +
      FileDataSourceException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.FileDataSource.FileDataSourceException
      +
       
      +
      FileDataSourceException(String, IOException) - Constructor for exception com.google.android.exoplayer2.upstream.FileDataSource.FileDataSourceException
      +
       
      +
      FileDataSourceFactory - Class in com.google.android.exoplayer2.upstream
      +
      +
      Deprecated. + +
      +
      +
      FileDataSourceFactory() - Constructor for class com.google.android.exoplayer2.upstream.FileDataSourceFactory
      +
      +
      Deprecated.
      +
      FileDataSourceFactory(TransferListener) - Constructor for class com.google.android.exoplayer2.upstream.FileDataSourceFactory
      +
      +
      Deprecated.
      +
      filename - Variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      FileTypes - Class in com.google.android.exoplayer2.util
      +
      +
      Defines common file type constants and helper methods.
      +
      +
      FileTypes.Type - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      File types.
      +
      +
      FilterableManifest<T> - Interface in com.google.android.exoplayer2.offline
      +
      +
      A manifest that can generate copies of itself including only the streams specified by the given + keys.
      +
      +
      FilteringHlsPlaylistParserFactory - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      A HlsPlaylistParserFactory that includes only the streams identified by the given stream + keys.
      +
      +
      FilteringHlsPlaylistParserFactory(HlsPlaylistParserFactory, List<StreamKey>) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.FilteringHlsPlaylistParserFactory
      +
       
      +
      FilteringManifestParser<T extends FilterableManifest<T>> - Class in com.google.android.exoplayer2.offline
      +
      +
      A manifest parser that includes only the streams identified by the given stream keys.
      +
      +
      FilteringManifestParser(ParsingLoadable.Parser<? extends T>, List<StreamKey>) - Constructor for class com.google.android.exoplayer2.offline.FilteringManifestParser
      +
       
      +
      filterRequirements(int) - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Filters the requirements, returning the subset that are enabled by the provided filter.
      +
      +
      findNalUnit(byte[], int, int, boolean[]) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Finds the first NAL unit in data.
      +
      +
      findNextCueHeader(ParsableByteArray) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
      +
      +
      Reads lines up to and including the next WebVTT cue header.
      +
      +
      findSyncBytePosition(byte[], int, int) - Static method in class com.google.android.exoplayer2.extractor.ts.TsUtil
      +
      +
      Returns the position of the first TS_SYNC_BYTE within the range [startPosition, limitPosition) + from the provided data array, or returns limitPosition if sync byte could not be found.
      +
      +
      findTrueHdSyncframeOffset(ByteBuffer) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns the offset relative to the buffer's position of the start of a TrueHD syncframe, or + C.INDEX_UNSET if no syncframe was found.
      +
      +
      finishAllSessions(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      finishAllSessions(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Finishes all existing sessions and calls their respective PlaybackSessionManager.Listener.onSessionFinished(EventTime, String, boolean) callback.
      +
      +
      first - Variable in class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
      +
      The first seek point.
      +
      +
      firstPeriodIndex - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The index of the first period that belongs to this window.
      +
      +
      firstReportedTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The elapsed real-time as returned by SystemClock.elapsedRealtime() of the first + reported playback event, or C.TIME_UNSET if no event has been reported.
      +
      +
      FixedTrackSelection - Class in com.google.android.exoplayer2.trackselection
      +
      +
      A TrackSelection consisting of a single track.
      +
      +
      FixedTrackSelection(TrackGroup, int) - Constructor for class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      FixedTrackSelection(TrackGroup, int, int, Object) - Constructor for class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      fixSmoothStreamingIsmManifestUri(Uri) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      If the provided URI is an ISM Presentation URI, returns the URI with "Manifest" appended to its + path (i.e., the corresponding default manifest URI).
      +
      +
      FLAC - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the FLAC format.
      +
      +
      FlacConstants - Class in com.google.android.exoplayer2.util
      +
      +
      Defines constants used by the FLAC extractor.
      +
      +
      FlacDecoder - Class in com.google.android.exoplayer2.ext.flac
      +
      +
      Flac decoder.
      +
      +
      FlacDecoder(int, int, int, List<byte[]>) - Constructor for class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
      +
      Creates a Flac decoder.
      +
      +
      FlacDecoderException - Exception in com.google.android.exoplayer2.ext.flac
      +
      +
      Thrown when an Flac decoder error occurs.
      +
      +
      FlacExtractor - Class in com.google.android.exoplayer2.ext.flac
      +
      +
      Facilitates the extraction of data from the FLAC container format.
      +
      +
      FlacExtractor - Class in com.google.android.exoplayer2.extractor.flac
      +
      +
      Extracts data from FLAC container format.
      +
      +
      FlacExtractor() - Constructor for class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
      +
      Constructs an instance with flags = 0.
      +
      +
      FlacExtractor() - Constructor for class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
      +
      Constructs an instance with flags = 0.
      +
      +
      FlacExtractor(int) - Constructor for class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
      +
      Constructs an instance.
      +
      +
      FlacExtractor(int) - Constructor for class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
      +
      Constructs an instance.
      +
      +
      FlacExtractor.Flags - Annotation Type in com.google.android.exoplayer2.ext.flac
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      FlacExtractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.flac
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      FlacFrameReader - Class in com.google.android.exoplayer2.extractor
      +
      +
      Reads and peeks FLAC frame elements according to the FLAC format specification.
      +
      +
      FlacFrameReader.SampleNumberHolder - Class in com.google.android.exoplayer2.extractor
      +
      +
      Holds a sample number.
      +
      +
      FlacLibrary - Class in com.google.android.exoplayer2.ext.flac
      +
      +
      Configures and queries the underlying native library.
      +
      +
      FlacMetadataReader - Class in com.google.android.exoplayer2.extractor
      +
      +
      Reads and peeks FLAC stream metadata elements according to the FLAC format specification.
      +
      +
      FlacMetadataReader.FlacStreamMetadataHolder - Class in com.google.android.exoplayer2.extractor
      +
      + +
      +
      FlacSeekTableSeekMap - Class in com.google.android.exoplayer2.extractor
      +
      +
      A SeekMap implementation for FLAC streams that contain a seek table.
      +
      +
      FlacSeekTableSeekMap(FlacStreamMetadata, long) - Constructor for class com.google.android.exoplayer2.extractor.FlacSeekTableSeekMap
      +
      +
      Creates a seek map from the FLAC stream seek table.
      +
      +
      flacStreamMetadata - Variable in class com.google.android.exoplayer2.extractor.FlacMetadataReader.FlacStreamMetadataHolder
      +
      +
      The FLAC stream metadata.
      +
      +
      FlacStreamMetadata - Class in com.google.android.exoplayer2.extractor
      +
      +
      Holder for FLAC metadata.
      +
      +
      FlacStreamMetadata(byte[], int) - Constructor for class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Parses binary FLAC stream info metadata.
      +
      +
      FlacStreamMetadata(int, int, int, int, int, int, int, long, ArrayList<String>, ArrayList<PictureFrame>) - Constructor for class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
       
      +
      FlacStreamMetadata.SeekTable - Class in com.google.android.exoplayer2.extractor
      +
      +
      A FLAC seek table.
      +
      +
      FlacStreamMetadataHolder(FlacStreamMetadata) - Constructor for class com.google.android.exoplayer2.extractor.FlacMetadataReader.FlacStreamMetadataHolder
      +
       
      +
      FLAG_ALLOW_CACHE_FRAGMENTATION - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Allows fragmentation of this request into multiple cache files, meaning a cache eviction policy + will be able to evict individual fragments of the data.
      +
      +
      FLAG_ALLOW_GZIP - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Allows an underlying network stack to request that the server use gzip compression.
      +
      +
      FLAG_ALLOW_NON_IDR_KEYFRAMES - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      When extracting H.264 samples, whether to treat samples consisting of non-IDR I slices as + synchronization samples (key-frames).
      +
      +
      FLAG_AUDIBILITY_ENFORCED - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      FLAG_BLOCK_ON_CACHE - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      A flag indicating whether we will block reads if the cache key is locked.
      +
      +
      FLAG_DATA_ALIGNMENT_INDICATOR - Static variable in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Indicates the presence of the data_alignment_indicator in the PES header.
      +
      +
      FLAG_DETECT_ACCESS_UNITS - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      When extracting H.264 samples, whether to split the input stream into access units (samples) + based on slice headers.
      +
      +
      FLAG_DISABLE_ID3_METADATA - Static variable in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
      +
      Flag to disable parsing of ID3 metadata.
      +
      +
      FLAG_DISABLE_ID3_METADATA - Static variable in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
      +
      Flag to disable parsing of ID3 metadata.
      +
      +
      FLAG_DISABLE_ID3_METADATA - Static variable in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
      +
      Flag to disable parsing of ID3 metadata.
      +
      +
      FLAG_DISABLE_SEEK_FOR_CUES - Static variable in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Flag to disable seeking for cues.
      +
      +
      FLAG_DONT_CACHE_IF_LENGTH_UNKNOWN - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Prevents caching if the length cannot be resolved when the DataSource is opened.
      +
      +
      FLAG_ENABLE_CONSTANT_BITRATE_SEEKING - Static variable in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
      +
      Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible.
      +
      +
      FLAG_ENABLE_CONSTANT_BITRATE_SEEKING - Static variable in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
      +
      Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible.
      +
      +
      FLAG_ENABLE_CONSTANT_BITRATE_SEEKING - Static variable in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
      +
      Flag to force enable seeking using a constant bitrate assumption in cases where seeking would + otherwise not be possible.
      +
      +
      FLAG_ENABLE_EMSG_TRACK - Static variable in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
      +
      Flag to indicate that the extractor should output an event message metadata track.
      +
      +
      FLAG_ENABLE_HDMV_DTS_AUDIO_STREAMS - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      Sets whether HDMV DTS audio streams will be handled.
      +
      +
      FLAG_ENABLE_INDEX_SEEKING - Static variable in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
      +
      Flag to force index seeking, in which a time-to-byte mapping is built as the file is read.
      +
      +
      FLAG_IGNORE_AAC_STREAM - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      Prevents the creation of AdtsReader and LatmReader instances.
      +
      +
      FLAG_IGNORE_CACHE_FOR_UNSET_LENGTH_REQUESTS - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      A flag indicating that the cache should be bypassed for requests whose lengths are unset.
      +
      +
      FLAG_IGNORE_CACHE_ON_ERROR - Static variable in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      A flag indicating whether the cache is bypassed following any cache related error.
      +
      +
      FLAG_IGNORE_H264_STREAM - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      Prevents the creation of H264Reader instances.
      +
      +
      FLAG_IGNORE_SPLICE_INFO_STREAM - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      Prevents the creation of SectionPayloadReaders for splice information sections + (SCTE-35).
      +
      +
      FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Indicates there are known external factors that might prevent the data from being loaded at + full network speed (e.g.
      +
      +
      FLAG_OVERRIDE_CAPTION_DESCRIPTORS - Static variable in class com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory
      +
      +
      Whether the list of closedCaptionFormats passed to DefaultTsPayloadReaderFactory(int, List) should be used in spite + of any closed captions service descriptors.
      +
      +
      FLAG_PAYLOAD_UNIT_START_INDICATOR - Static variable in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Indicates the presence of the payload_unit_start_indicator in the TS packet header.
      +
      +
      FLAG_RANDOM_ACCESS_INDICATOR - Static variable in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Indicates the presence of the random_access_indicator in the TS packet header adaptation field.
      +
      +
      FLAG_READ_MOTION_PHOTO_METADATA - Static variable in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Flag to extract MotionPhotoMetadata from HEIC motion photos following the Google Photos + Motion Photo File Format V1.1.
      +
      +
      FLAG_READ_SEF_DATA - Static variable in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Flag to extract SlowMotionData metadata from Samsung Extension Format (SEF) slow motion + videos.
      +
      +
      FLAG_WORKAROUND_EVERY_VIDEO_FRAME_IS_SYNC_FRAME - Static variable in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
      +
      Flag to work around an issue in some video streams where every frame is marked as a sync frame.
      +
      +
      FLAG_WORKAROUND_IGNORE_EDIT_LISTS - Static variable in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
      +
      Flag to ignore any edit lists in the stream.
      +
      +
      FLAG_WORKAROUND_IGNORE_EDIT_LISTS - Static variable in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Flag to ignore any edit lists in the stream.
      +
      +
      FLAG_WORKAROUND_IGNORE_TFDT_BOX - Static variable in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
      +
      Flag to ignore any tfdt boxes in the stream.
      +
      +
      flags - Variable in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      flags - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Request flags.
      +
      +
      flip() - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Flips DecoderInputBuffer.data and DecoderInputBuffer.supplementalData in preparation for being queued to a decoder.
      +
      +
      floatElement(int, double) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when a float element is encountered.
      +
      +
      floatElement(int, double) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when a float element is encountered.
      +
      +
      flush() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Clears any buffered data and pending output.
      +
      +
      flush() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Flushes the sink, after which it is ready to receive buffers from a new playback position.
      +
      +
      flush() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      flush() - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Flushes the decoder.
      +
      +
      flush() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      flush() - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Flushes the adapter and the underlying MediaCodec.
      +
      +
      flush() - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      flush() - Method in class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      flush(int, int, int) - Method in interface com.google.android.exoplayer2.audio.TeeAudioProcessor.AudioBufferSink
      +
      +
      Called when the audio processor is flushed with a format of subsequent input.
      +
      +
      flush(int, int, int) - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor.WavFileAudioBufferSink
      +
       
      +
      flushDecoder() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Flushes the decoder.
      +
      +
      flushEvents() - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Notifies listeners of events previously enqueued with ListenerSet.queueEvent(int, Event).
      +
      +
      flushOrReinitializeCodec() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Flushes the codec.
      +
      +
      flushOrReleaseCodec() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Flushes the codec.
      +
      +
      FLV - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the FLV format.
      +
      +
      FlvExtractor - Class in com.google.android.exoplayer2.extractor.flv
      +
      +
      Extracts data from the FLV container format.
      +
      +
      FlvExtractor() - Constructor for class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      FMT_FOURCC - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Four character code for "fmt ".
      +
      +
      focusSkipButton() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
      +
      Moves UI focus to the skip button (or other interactive elements), if currently shown.
      +
      +
      FONT_SIZE_UNIT_EM - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      FONT_SIZE_UNIT_PERCENT - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      FONT_SIZE_UNIT_PIXEL - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      forAllSupportedMimeTypes() - Static method in class com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
      +
       
      +
      forceAllowInsecureDecoderComponents - Variable in class com.google.android.exoplayer2.drm.FrameworkMediaCrypto
      +
      +
      Whether to allow use of insecure decoder components even if the underlying platform says + otherwise.
      +
      +
      forceDefaultLicenseUri - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      Whether to force use of MediaItem.DrmConfiguration.licenseUri even if the media specifies its own DRM license + server URI.
      +
      +
      forceHighestSupportedBitrate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to force selection of the highest bitrate audio and video tracks that comply with all + other constraints.
      +
      +
      forceLowestBitrate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to force selection of the single lowest bitrate audio and video tracks that comply + with all other constraints.
      +
      +
      forceStop() - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      forceStop() - Method in interface com.google.android.exoplayer2.testutil.HostActivity.HostedTest
      +
      +
      Called on the main thread to force stop the test (if it is not stopped already).
      +
      +
      forDash(Context, Uri, DataSource.Factory, RenderersFactory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forDash(Uri, DataSource.Factory, RenderersFactory, DrmSessionManager, DefaultTrackSelector.Parameters) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      FOREGROUND_NOTIFICATION_ID_NONE - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Invalid foreground notification id that can be used to run the service in the background.
      +
      +
      foregroundColor - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred foreground color.
      +
      +
      foregroundPlaybackCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks which were the active foreground playback at some point.
      +
      +
      forHls(Context, Uri, DataSource.Factory, RenderersFactory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forHls(Uri, DataSource.Factory, RenderersFactory, DrmSessionManager, DefaultTrackSelector.Parameters) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      format - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
      +
      +
      The format that started being used, or null if no format was used.
      +
      +
      format - Variable in exception com.google.android.exoplayer2.audio.AudioSink.ConfigurationException
      +
      +
      Input Format of the sink when the configuration failure occurs.
      +
      +
      format - Variable in exception com.google.android.exoplayer2.audio.AudioSink.InitializationException
      +
      +
      The input Format of the sink when the error occurs.
      +
      +
      format - Variable in exception com.google.android.exoplayer2.audio.AudioSink.WriteException
      +
      +
      The input Format of the sink when the error occurs.
      +
      +
      format - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      The format.
      +
      +
      format - Variable in class com.google.android.exoplayer2.FormatHolder
      +
      +
      The held Format.
      +
      +
      format - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      format - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      The format of the representation.
      +
      +
      format - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
      +
      +
      Format information associated with this rendition.
      +
      +
      format - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      Format information associated with this variant.
      +
      +
      format - Variable in class com.google.android.exoplayer2.video.VideoDecoderInputBuffer
      +
       
      +
      format - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      The format of the input from which this output buffer was decoded.
      +
      +
      format(Format) - Method in class com.google.android.exoplayer2.extractor.DummyTrackOutput
      +
       
      +
      format(Format) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Called when the Format of the track has been extracted from the stream.
      +
      +
      format(Format) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
       
      +
      format(Format) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      format(Format) - Static method in class com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
      +
      +
      Creates an item representing the provided format.
      +
      +
      format(Format) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      Format - Class in com.google.android.exoplayer2
      +
      +
      Represents a media format.
      +
      +
      FORMAT_EXCEEDS_CAPABILITIES - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Renderer is capable of rendering formats with the same MIME type, but the + properties of the format exceed the renderer's capabilities.
      +
      +
      FORMAT_EXCEEDS_CAPABILITIES - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Deprecated. + +
      +
      +
      FORMAT_HANDLED - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Renderer is capable of rendering the format.
      +
      +
      FORMAT_HANDLED - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Deprecated. +
      Use C.FORMAT_HANDLED instead.
      +
      +
      +
      FORMAT_SUPPORT_MASK - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      A mask to apply to RendererCapabilities.Capabilities to obtain the C.FormatSupport only.
      +
      +
      FORMAT_UNSUPPORTED_DRM - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Renderer is capable of rendering formats with the same MIME type, but is not + capable of rendering the format because the format's drm protection is not supported.
      +
      +
      FORMAT_UNSUPPORTED_DRM - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Deprecated. + +
      +
      +
      FORMAT_UNSUPPORTED_SUBTYPE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Renderer is a general purpose renderer for formats of the same top-level type, but + is not capable of rendering the format or any other format with the same MIME type because the + sub-type is not supported.
      +
      +
      FORMAT_UNSUPPORTED_SUBTYPE - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Deprecated. + +
      +
      +
      FORMAT_UNSUPPORTED_TYPE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Renderer is not capable of rendering the format, either because it does not support + the format's top-level type, or because it's a specialized renderer for a different MIME type.
      +
      +
      FORMAT_UNSUPPORTED_TYPE - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Deprecated. + +
      +
      +
      Format.Builder - Class in com.google.android.exoplayer2
      +
      +
      Builds Format instances.
      +
      +
      FormatHolder - Class in com.google.android.exoplayer2
      +
      +
      Holds a Format.
      +
      +
      FormatHolder() - Constructor for class com.google.android.exoplayer2.FormatHolder
      +
       
      +
      formatInvariant(String, Object...) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Formats a string using Locale.US.
      +
      +
      formats - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      forMediaItem(Context, MediaItem) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Creates a DownloadHelper for the given progressive media item.
      +
      +
      forMediaItem(Context, MediaItem, RenderersFactory, DataSource.Factory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Creates a DownloadHelper for the given media item.
      +
      +
      forMediaItem(MediaItem, DefaultTrackSelector.Parameters, RenderersFactory, DataSource.Factory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Creates a DownloadHelper for the given media item.
      +
      +
      forMediaItem(MediaItem, DefaultTrackSelector.Parameters, RenderersFactory, DataSource.Factory, DrmSessionManager) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Creates a DownloadHelper for the given media item.
      +
      +
      forProgressive(Context, Uri) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forProgressive(Context, Uri, String) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forResources(Iterable<WebServerDispatcher.Resource>) - Static method in class com.google.android.exoplayer2.testutil.WebServerDispatcher
      +
      +
      Constructs a dispatcher that handles requests based the provided WebServerDispatcher.Resource instances.
      +
      +
      forSmoothStreaming(Context, Uri, DataSource.Factory, RenderersFactory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forSmoothStreaming(Uri, DataSource.Factory, RenderersFactory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      forSmoothStreaming(Uri, DataSource.Factory, RenderersFactory, DrmSessionManager, DefaultTrackSelector.Parameters) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      + +
      +
      ForwardingAudioSink - Class in com.google.android.exoplayer2.audio
      +
      +
      An overridable AudioSink implementation forwarding all methods to another sink.
      +
      +
      ForwardingAudioSink(AudioSink) - Constructor for class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      ForwardingExtractorInput - Class in com.google.android.exoplayer2.extractor
      +
      +
      An overridable ExtractorInput implementation forwarding all methods to another input.
      +
      +
      ForwardingExtractorInput(ExtractorInput) - Constructor for class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      ForwardingTimeline - Class in com.google.android.exoplayer2.source
      +
      +
      An overridable Timeline implementation forwarding all methods to another timeline.
      +
      +
      ForwardingTimeline(Timeline) - Constructor for class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      FragmentedMp4Extractor - Class in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Extracts data from the FMP4 container format.
      +
      +
      FragmentedMp4Extractor() - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor(int) - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor(int, TimestampAdjuster) - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor(int, TimestampAdjuster, Track) - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor(int, TimestampAdjuster, Track, List<Format>) - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor(int, TimestampAdjuster, Track, List<Format>, TrackOutput) - Constructor for class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      FragmentedMp4Extractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      frameMbsOnlyFlag - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      frameNumLength - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      frameRate - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The frame rate in frames per second, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      FrameRotationQueue - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      This class serves multiple purposes: + + + Queues the rotation metadata extracted from camera motion track.
      +
      +
      FrameRotationQueue() - Constructor for class com.google.android.exoplayer2.video.spherical.FrameRotationQueue
      +
       
      +
      frameSize - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      The size of the frame.
      +
      +
      frameSize - Variable in class com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
      +
      +
      The size of the frame.
      +
      +
      frameSize - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      Size of the frame associated with this header, in bytes.
      +
      +
      FrameworkMediaCrypto - Class in com.google.android.exoplayer2.drm
      +
      +
      An ExoMediaCrypto implementation that contains the necessary information to build or + update a framework MediaCrypto.
      +
      +
      FrameworkMediaCrypto(UUID, byte[], boolean) - Constructor for class com.google.android.exoplayer2.drm.FrameworkMediaCrypto
      +
       
      +
      FrameworkMediaDrm - Class in com.google.android.exoplayer2.drm
      +
      +
      An ExoMediaDrm implementation that wraps the framework MediaDrm.
      +
      +
      framingFlag - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The framing_flag field.
      +
      +
      fromUri(Uri) - Static method in class com.google.android.exoplayer2.MediaItem
      +
      +
      Creates a MediaItem for the given URI.
      +
      +
      fromUri(String) - Static method in class com.google.android.exoplayer2.MediaItem
      +
      +
      Creates a MediaItem for the given URI.
      +
      +
      fromUtf8Bytes(byte[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a new String constructed by decoding UTF-8 encoded bytes.
      +
      +
      fromUtf8Bytes(byte[], int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a new String constructed by decoding UTF-8 encoded bytes in a subarray.
      +
      +
      fullSegmentEncryptionKeyUri - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The encryption identity key uri as defined by #EXT-X-KEY, or null if the segment does not use + full segment encryption with identity key.
      +
      +
      + + + +

      G

      +
      +
      GaplessInfoHolder - Class in com.google.android.exoplayer2.extractor
      +
      +
      Holder for gapless playback information.
      +
      +
      GaplessInfoHolder() - Constructor for class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      +
      Creates a new holder for gapless playback information.
      +
      +
      Gav1Decoder - Class in com.google.android.exoplayer2.ext.av1
      +
      +
      Gav1 decoder.
      +
      +
      Gav1Decoder(int, int, int, int) - Constructor for class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
      +
      Creates a Gav1Decoder.
      +
      +
      Gav1DecoderException - Exception in com.google.android.exoplayer2.ext.av1
      +
      +
      Thrown when a libgav1 decoder error occurs.
      +
      +
      Gav1Library - Class in com.google.android.exoplayer2.ext.av1
      +
      +
      Configures and queries the underlying native library.
      +
      +
      generateAudioSessionIdV21(Context) - Static method in class com.google.android.exoplayer2.C
      +
      +
      Returns a newly generated audio session identifier, or AudioManager.ERROR if an error + occurred in which case audio playback may fail.
      +
      +
      generateCurrentPlayerMediaPeriodEventTime() - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Generates an AnalyticsListener.EventTime for the currently playing item in the player.
      +
      +
      generateEventTime(Timeline, int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Returns a new AnalyticsListener.EventTime for the specified timeline, window and media period id.
      +
      +
      generateNewId() - Method in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
      +
      +
      Generates a new set of track and track format ids.
      +
      +
      genre - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      The genre (icy-genre).
      +
      +
      GeobFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      GEOB (General Encapsulated Object) ID3 frame.
      +
      +
      GeobFrame(String, String, String, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      get() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      get(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Returns the event at the given index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
      +
      Retrieves the DrmInitData.SchemeData at a given index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
      +
      Returns the entry at the specified index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.Player.Events
      +
      +
      Returns the event at the given index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
      +
      Returns the group at a given index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
      +
      Returns the selection at a given index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.util.LongArray
      +
      +
      Returns the value at a specified index.
      +
      +
      get(int) - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Returns the flag at the given index.
      +
      +
      get(long, TimeUnit) - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      get(MediaItem) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManagerProvider
      +
       
      +
      get(MediaItem) - Method in interface com.google.android.exoplayer2.drm.DrmSessionManagerProvider
      +
      +
      Returns a DrmSessionManager for the given media item.
      +
      +
      get(String, byte[]) - Method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns a metadata value.
      +
      +
      get(String, byte[]) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      get(String, long) - Method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns a metadata value.
      +
      +
      get(String, long) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      get(String, String) - Method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns a metadata value.
      +
      +
      get(String, String) - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      getAbandonedBeforeReadyRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of foreground playbacks which were abandoned before they were ready to play, + or 0.0 if no playback has been in foreground.
      +
      +
      getAc4SampleHeader(int, ParsableByteArray) - Static method in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Populates buffer with an AC-4 sample header for a sample of the specified size.
      +
      +
      getActionIndicesForCompactView(List<String>, Player) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Gets an array with the indices of the buttons to be shown in compact mode.
      +
      +
      getActions(Player) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Gets the names and order of the actions to be included in the notification at the current + player state.
      +
      +
      getActiveQueueItemId(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      Gets the id of the currently active queue item, or MediaSessionCompat.QueueItem.UNKNOWN_ID if the active item is unknown.
      +
      +
      getActiveQueueItemId(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      getAdaptationSetIndex(int) - Method in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      Returns the index of the first adaptation set of a given type, or C.INDEX_UNSET if no + adaptation set of the specified type exists.
      +
      +
      getAdaptiveMimeTypeForContentType(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the MIME type corresponding to the given adaptive C.ContentType, or null + if the content type is C.TYPE_OTHER.
      +
      +
      getAdaptiveSupport(int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      getAdaptiveSupport(int, int, boolean) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the extent to which a renderer supports adaptation between supported tracks in a + specified TrackGroup.
      +
      +
      getAdaptiveSupport(int, int, int[]) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the extent to which a renderer supports adaptation between specified tracks within a + TrackGroup.
      +
      +
      getAdCountInAdGroup(int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the number of ads in the ad group at index adGroupIndex, or + C.LENGTH_UNSET if not yet known.
      +
      +
      getAdDisplayContainer() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
      +
      Returns the AdDisplayContainer used by this loader, or null if ads have not + been requested yet.
      +
      +
      getAdditionalSessionProviders(Context) - Method in class com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider
      +
       
      +
      getAdDurationUs(int, int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the duration of the ad at index adIndexInAdGroup in the ad group at + adGroupIndex, in microseconds, or C.TIME_UNSET if not yet known.
      +
      +
      getAdGroupCount() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the number of ad groups in the period.
      +
      +
      getAdGroupIndexAfterPositionUs(long) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the index of the next ad group after positionUs in the period that has ads + remaining to be played.
      +
      +
      getAdGroupIndexAfterPositionUs(long, long) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns the index of the next ad group after positionUs that has ads remaining to be + played.
      +
      +
      getAdGroupIndexForPositionUs(long) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the index of the ad group at or before positionUs in the period, if that ad + group is unplayed.
      +
      +
      getAdGroupIndexForPositionUs(long, long) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns the index of the ad group at or before positionUs, if that ad group is + unplayed.
      +
      +
      getAdGroupTimeUs(int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the time of the ad group at index adGroupIndex in the period, in + microseconds.
      +
      +
      getAdjustedPlaybackSpeed(long, long) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
       
      +
      getAdjustedPlaybackSpeed(long, long) - Method in interface com.google.android.exoplayer2.LivePlaybackSpeedControl
      +
      +
      Returns the adjusted playback speed in order get closer towards the target live offset.
      +
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Adjusts a seek position given the specified SeekParameters.
      +
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Adjusts a seek position given the specified SeekParameters.
      +
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns the position to which a seek will be performed, given the specified seek position and + SeekParameters.
      +
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      getAdjustedSeekPositionUs(long, SeekParameters) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      getAdjustedUpstreamFormat(Format) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Adjusts the upstream Format (i.e., the Format that was most recently passed to + SampleQueue.format(Format)).
      +
      +
      getAdjuster(int) - Method in class com.google.android.exoplayer2.source.hls.TimestampAdjusterProvider
      +
      +
      Returns a TimestampAdjuster suitable for adjusting the pts timestamps contained in + a chunk with a given discontinuity sequence.
      +
      +
      getAdOverlayInfos() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.AdViewProvider
      +
      +
      Returns a list of AdsLoader.OverlayInfo instances describing views that are on top of the ad + view group, but that are essential for controlling playback and should be excluded from ad + viewability measurements by the AdsLoader (if it supports this).
      +
      +
      getAdOverlayInfos() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      getAdOverlayInfos() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      getAdOverlayViews() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.AdViewProvider
      +
      + +
      +
      getAdResumePositionUs() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the position offset in the first unplayed ad at which to begin playback, in + microseconds.
      +
      +
      getAdsId() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the opaque identifier for ads played with this period, or null if unset.
      +
      +
      getAdsLoader() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
      +
      Returns the underlying AdsLoader wrapped by this + instance, or null if ads have not been requested yet.
      +
      +
      getAdsLoader(MediaItem.AdsConfiguration) - Method in interface com.google.android.exoplayer2.source.DefaultMediaSourceFactory.AdsLoaderProvider
      +
      +
      Returns an AdsLoader for the given ads configuration, or null if no ads + loader is available for the given ads configuration.
      +
      +
      getAdViewGroup() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.AdViewProvider
      +
      +
      Returns the ViewGroup on top of the player that will show any ad UI, or null + if playing audio-only ads.
      +
      +
      getAdViewGroup() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      getAdViewGroup() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      getAll() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
      +
      Returns the selections in a newly allocated array.
      +
      +
      getAllData() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Returns a list of all data including defaultData.
      +
      +
      getAllocator() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      getAllocator() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Returns the Allocator that should be used to obtain media buffer allocations.
      +
      +
      getAllOutputBytes() - Method in class com.google.android.exoplayer2.robolectric.RandomizedMp3Decoder
      +
      +
      Returns all arrays of bytes output from the decoder.
      +
      +
      getAllowedCommands(MediaSession, MediaSession.ControllerInfo, SessionCommandGroup) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.AllowedCommandProvider
      +
      +
      Called to query allowed commands in following cases: + + + A MediaController requests to connect, and allowed commands is required to tell + initial allowed commands.
      +
      +
      getAllowedCommands(MediaSession, MediaSession.ControllerInfo, SessionCommandGroup) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
      +
       
      +
      getAllTrackSelections() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelector
      +
      +
      Returns list of all FakeTrackSelections that this track selector has made so far.
      +
      +
      getAnalyticsCollector() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Returns the AnalyticsCollector used for collecting analytics events.
      +
      +
      getAndClearOpenedDataSpecs() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
      +
      Returns the DataSpec instances passed to FakeDataSource.open(DataSpec) since the last call to + this method.
      +
      +
      getAndResetSeekPosition() - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
      +
      Returns the last value passed to InputReaderAdapterV30.seekToPosition(long) and sets the stored value to + C.POSITION_UNSET.
      +
      +
      getApplicationLooper() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getApplicationLooper() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the Looper associated with the application thread that's used to access the + manager, and on which the manager will call its Listeners.
      +
      +
      getApplicationLooper() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the Looper associated with the application thread that's used to access the + player and on which player events are received.
      +
      +
      getApplicationLooper() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getApplicationLooper() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getApplicationLooper() - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Returns the Looper associated with the application thread that's used to access the + transformer and on which transformer events are received.
      +
      +
      getApproxBytesPerFrame() - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns the approximate number of bytes per frame for the current FLAC stream.
      +
      +
      getAttributes(int) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Returns the GlUtil.Attributes in the specified program.
      +
      +
      getAttributeValue(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns the value of an attribute of the current start tag.
      +
      +
      getAttributeValueIgnorePrefix(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns the value of an attribute of the current start tag.
      +
      +
      getAudioAttributes() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getAudioAttributes() - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Returns the attributes for audio playback.
      +
      +
      getAudioAttributes() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getAudioAttributesV21() - Method in class com.google.android.exoplayer2.audio.AudioAttributes
      +
      +
      Returns a AudioAttributes from this instance.
      +
      +
      getAudioComponent() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getAudioComponent() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the component of this player for audio output, or null if audio is not supported.
      +
      +
      getAudioComponent() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getAudioComponent() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getAudioContentTypeForStreamType(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the C.AudioContentType corresponding to the specified C.StreamType.
      +
      +
      getAudioDecoderCounters() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Returns DecoderCounters for audio, or null if no audio is being played.
      +
      +
      getAudioFormat() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Returns the audio format currently being played, or null if no audio is being played.
      +
      +
      getAudioMediaMimeType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the first audio MIME type derived from an RFC 6381 codecs string.
      +
      +
      getAudioProcessors() - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain
      +
      +
      Returns the fixed chain of audio processors that will process audio.
      +
      +
      getAudioProcessors() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
       
      +
      getAudioSessionId() - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Returns the audio session identifier, or C.AUDIO_SESSION_ID_UNSET if not set.
      +
      +
      getAudioSessionId() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getAudioString() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Returns a string containing audio debugging information.
      +
      +
      getAudioTrackChannelConfig(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the audio track channel configuration for the given channel count, or AudioFormat.CHANNEL_INVALID if output is not possible.
      +
      +
      getAudioUnderrunRate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean rate at which audio underruns occurred, in underruns per play time second, or + 0.0 if no time was spent playing.
      +
      +
      getAudioUsageForStreamType(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the C.AudioUsage corresponding to the specified C.StreamType.
      +
      +
      getAvailableSegmentCount(long, long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the number of available segments in the index.
      +
      +
      getAvailableSegmentCount(long, long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getAvailableSegmentCount(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getAvailableSegmentCount(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getBackBufferDurationUs() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      getBackBufferDurationUs() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Returns the duration of media to retain in the buffer prior to the current playback position, + for fast backward seeking.
      +
      +
      getBackgroundColor() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getBandwidthMeter() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the bandwidth meter used by the player.
      +
      +
      getBandwidthMeter() - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
      +
      +
      Returns a bandwidth meter which can be used by track selections to select tracks.
      +
      +
      getBigEndianInt(ByteBuffer, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Absolute get method for reading an int value in ByteOrder.BIG_ENDIAN in a ByteBuffer.
      +
      +
      getBitmap() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the cue image.
      +
      +
      getBitmap(Context, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns a Bitmap read from an asset file.
      +
      +
      getBitmapHeight() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the bitmap height as a fraction of the viewport size.
      +
      +
      getBitrateEstimate() - Method in interface com.google.android.exoplayer2.upstream.BandwidthMeter
      +
      +
      Returns the estimated bitrate.
      +
      +
      getBitrateEstimate() - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      getBlacklistDurationMsFor(int, long, IOException, int) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      + +
      +
      getBlacklistDurationMsFor(LoadErrorHandlingPolicy.LoadErrorInfo) - Method in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      Returns the exclusion duration, given by DefaultLoadErrorHandlingPolicy.DEFAULT_TRACK_BLACKLIST_MS, if the load error + was an HttpDataSource.InvalidResponseCodeException with response code HTTP 404, 410 or 416, or C.TIME_UNSET otherwise.
      +
      +
      getBlacklistDurationMsFor(LoadErrorHandlingPolicy.LoadErrorInfo) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      +
      Returns the number of milliseconds for which a resource associated to a provided load error + should be excluded, or C.TIME_UNSET if the resource should not be excluded.
      +
      +
      getBufferedPercentage() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getBufferedPercentage() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns an estimate of the percentage in the current content window or ad up to which data is + buffered, or 0 if no estimate is available.
      +
      +
      getBufferedPosition() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getBufferedPosition() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      getBufferedPosition() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getBufferedPosition() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns an estimate of the position in the current content window or ad up to which data is + buffered, in milliseconds.
      +
      +
      getBufferedPosition() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getBufferedPosition() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Returns an estimate of the position up to which data is buffered.
      +
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      getBufferedPositionUs() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns an estimate of the position up to which data is buffered for the enabled tracks.
      +
      +
      getBufferedPositionUs() - Method in interface com.google.android.exoplayer2.source.SequenceableLoader
      +
      +
      Returns an estimate of the position up to which data is buffered.
      +
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      getBufferedPositionUs() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      getBufferingState() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getBuildConfig() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Returns the configuration string with which the underlying library was built if available, or + null otherwise.
      +
      +
      getByteArray(Context, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns the bytes of an asset file.
      +
      +
      getBytePosition() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Returns the current byte offset.
      +
      +
      getBytesDownloaded() - Method in class com.google.android.exoplayer2.offline.Download
      +
      +
      Returns the total number of downloaded bytes.
      +
      +
      getBytesFromHexString(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a byte array containing values parsed from the hex string provided.
      +
      +
      getBytesRead() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
      +
      Returns the total number of bytes that have been read from the data source.
      +
      +
      getCache() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Returns the cache that will be used, or null if CacheDataSource.Factory.setCache(com.google.android.exoplayer2.upstream.cache.Cache) has yet to be + called.
      +
      +
      getCache() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Returns the Cache used by this instance.
      +
      +
      getCachedBytes(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns the total number of cached bytes between position (inclusive) and + (position + length) (exclusive) of a resource.
      +
      +
      getCachedBytes(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getCachedLength(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns the length of continuously cached data starting from position, up to a maximum + of maxLength, of a resource.
      +
      +
      getCachedLength(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getCachedSpans(String) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns the cached spans for a given resource.
      +
      +
      getCachedSpans(String) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getCacheKey() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Returns a cache key for the representation if set, or null.
      +
      +
      getCacheKey() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getCacheKey() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
       
      +
      getCacheKeyFactory() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Returns the CacheKeyFactory that will be used.
      +
      +
      getCacheKeyFactory() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
      +
      Returns the CacheKeyFactory used by this instance.
      +
      +
      getCacheSpace() - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns the total disk space in bytes used by the cache.
      +
      +
      getCacheSpace() - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getCapabilities() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getCapabilities() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getCapabilities() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the capabilities of the renderer.
      +
      +
      getCapabilities(Context) - Static method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
      +
      Returns the current audio capabilities for the device.
      +
      +
      getCastOptions(Context) - Method in class com.google.android.exoplayer2.ext.cast.DefaultCastOptionsProvider
      +
       
      +
      getChannelCount(byte[]) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
      +
      +
      Parses the channel count from an Opus Identification Header.
      +
      +
      getChildIndexByChildUid(Object) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the index of the child timeline with the given UID or C.INDEX_UNSET if not + found.
      +
      +
      getChildIndexByPeriodIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the index of the child timeline containing the given period index.
      +
      +
      getChildIndexByWindowIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the index of the child timeline containing the given window index.
      +
      +
      getChildPeriodUidFromConcatenatedUid(Object) - Static method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns UID of the period in the child timeline from a concatenated period UID.
      +
      +
      getChildTimelineUidFromConcatenatedUid(Object) - Static method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns UID of child timeline from a concatenated period UID.
      +
      +
      getChildUidByChildIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the UID of the child timeline with the given index.
      +
      +
      getChunkCount() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet
      +
       
      +
      getChunkDuration(int) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet
      +
       
      +
      getChunkDurationUs(int) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
      +
      Returns the duration of the specified chunk.
      +
      +
      getChunkEndTimeUs() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Returns the media end time of the chunk, in microseconds.
      +
      +
      getChunkEndTimeUs() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationSegmentIterator
      +
       
      +
      getChunkEndTimeUs() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Iterator
      +
       
      +
      getChunkEndTimeUs() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunkIterator
      +
       
      +
      getChunkIndex() - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      getChunkIndex() - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor
      +
      +
      Returns the ChunkIndex most recently obtained from the chunks, or null if a ChunkIndex has not been obtained.
      +
      +
      getChunkIndex() - Method in class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
       
      +
      getChunkIndex() - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Returns the most recently output ChunkIndex, or null if none has been output.
      +
      +
      getChunkIndex(long) - Method in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      Obtains the index of the chunk corresponding to a given time.
      +
      +
      getChunkIndex(long) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
      +
      Returns the index of the chunk that contains the specified time.
      +
      +
      getChunkIndexByPosition(long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet
      +
       
      +
      getChunkSource() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Returns the ChunkSource used by this stream.
      +
      +
      getChunkStartTimeUs() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Returns the media start time of the chunk, in microseconds.
      +
      +
      getChunkStartTimeUs() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationSegmentIterator
      +
       
      +
      getChunkStartTimeUs() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Iterator
      +
       
      +
      getChunkStartTimeUs() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunkIterator
      +
       
      +
      getClock() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns the Clock used for playback.
      +
      +
      getClock() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getClock() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getClock() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the clock used by the player.
      +
      +
      getCodec() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      getCodecCountOfType(String, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the number of codec strings in codecs whose type matches trackType.
      +
      +
      getCodecInfo() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      getCodecMaxInputSize(MediaCodecInfo, Format, Format[]) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
      +
      Returns a maximum input size suitable for configuring a codec for format in a way that + will allow possible adaptation to other compatible formats in streamFormats.
      +
      +
      getCodecMaxValues(MediaCodecInfo, Format, Format[]) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns MediaCodecVideoRenderer.CodecMaxValues suitable for configuring a codec for format in a way + that will allow possible adaptation to other compatible formats in streamFormats.
      +
      +
      getCodecNeedsEosPropagation() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns whether the codec needs the renderer to propagate the end-of-stream signal directly, + rather than by using an end-of-stream buffer queued to the codec.
      +
      +
      getCodecNeedsEosPropagation() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      getCodecOperatingRate() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns the operating rate used by the current codec
      +
      +
      getCodecOperatingRateV23(float, Format, Format[]) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getCodecOperatingRateV23(float, Format, Format[]) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns the MediaFormat.KEY_OPERATING_RATE value for a given playback speed, current + Format and set of possible stream formats.
      +
      +
      getCodecOperatingRateV23(float, Format, Format[]) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      getCodecOutputMediaFormat() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      getCodecProfileAndLevel(Format) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Returns profile and level (as defined by MediaCodecInfo.CodecProfileLevel) corresponding to the codec + description string (as defined by RFC 6381) of the given format.
      +
      +
      getCodecsCorrespondingToMimeType(String, String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns a subsequence of codecs containing the codec strings that correspond to the + given mimeType.
      +
      +
      getCodecsOfType(String, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a copy of codecs without the codecs whose track type doesn't match + trackType.
      +
      +
      getCombinedPlaybackStats() - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
      +
      Returns the combined PlaybackStats for all playback sessions this listener was and is + listening to.
      +
      +
      getCombineUpright() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getCommaDelimitedSimpleClassNames(Object[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a string with comma delimited simple names of each object's class.
      +
      +
      getCompressibleDataSpec(Uri) - Static method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
       
      +
      getConcatenatedUid(Object, Object) - Static method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns a concatenated UID for a period or window in a child timeline.
      +
      +
      getConfiguration() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Returns the configuration set when the renderer was most recently enabled.
      +
      +
      getConfiguration() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Returns the configuration set when the renderer was most recently enabled, or null if + the renderer has never been enabled.
      +
      +
      getConnection() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Returns the current connection, or null if the source is not currently opened.
      +
      +
      getContentBufferedPosition() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getContentBufferedPosition() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      If Player.isPlayingAd() returns true, returns an estimate of the content position in + the current content window up to which data is buffered, in milliseconds.
      +
      +
      getContentBufferedPosition() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getContentBufferedPosition() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getContentDuration() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getContentDuration() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      If Player.isPlayingAd() returns true, returns the duration of the current content + window in milliseconds, or C.TIME_UNSET if the duration is not known.
      +
      +
      getContentLength(ContentMetadata) - Static method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns the value stored under ContentMetadata.KEY_CONTENT_LENGTH, or C.LENGTH_UNSET if not + set.
      +
      +
      getContentMetadata(String) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns a ContentMetadata for the given resource.
      +
      +
      getContentMetadata(String) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getContentPosition() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getContentPosition() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      If Player.isPlayingAd() returns true, returns the content position that will be + played once all ads in the ad group have finished playing, in milliseconds.
      +
      +
      getContentPosition() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getContentPosition() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getControllerAutoShow() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns whether the playback controls are automatically shown when playback starts, pauses, + ends, or fails.
      +
      +
      getControllerAutoShow() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns whether the playback controls are automatically shown when playback starts, pauses, + ends, or fails.
      +
      +
      getControllerHideOnTouch() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns whether the playback controls are hidden by touch events.
      +
      +
      getControllerHideOnTouch() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns whether the playback controls are hidden by touch events.
      +
      +
      getControllerShowTimeoutMs() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns the playback controls timeout.
      +
      +
      getControllerShowTimeoutMs() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns the playback controls timeout.
      +
      +
      getCount() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns the numbers of downloads in the cursor.
      +
      +
      getCount() - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      getCountryCode(Context) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the upper-case ISO 3166-1 alpha-2 country code of the current registered operator's MCC + (Mobile Country Code), or the country code of the default Locale if not available.
      +
      +
      getCreatedMediaPeriods() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Returns a list of MediaSource.MediaPeriodIds, with one element for each created media period.
      +
      +
      getCronetEngineSource() - Method in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Returns the source of the wrapped CronetEngine.
      +
      +
      getCues(long) - Method in interface com.google.android.exoplayer2.text.Subtitle
      +
      +
      Retrieve the cues that should be displayed at a given time.
      +
      +
      getCues(long) - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      getCurrentAdGroupIndex() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentAdGroupIndex() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      If Player.isPlayingAd() returns true, returns the index of the ad group in the period + currently being played.
      +
      +
      getCurrentAdGroupIndex() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentAdGroupIndex() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentAdIndexInAdGroup() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentAdIndexInAdGroup() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      If Player.isPlayingAd() returns true, returns the index of the ad in its ad group.
      +
      +
      getCurrentAdIndexInAdGroup() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentAdIndexInAdGroup() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentContentText(Player) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter
      +
      +
      Gets the content text for the current media item.
      +
      +
      getCurrentContentTitle(Player) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter
      +
      +
      Gets the content title for the current media item.
      +
      +
      getCurrentCues() - Method in interface com.google.android.exoplayer2.Player.TextComponent
      +
      +
      Returns the current Cues.
      +
      +
      getCurrentCues() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentDisplayModeSize(Context) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Gets the size of the current mode of the default display, in pixels.
      +
      +
      getCurrentDisplayModeSize(Context, Display) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Gets the size of the current mode of the specified display, in pixels.
      +
      +
      getCurrentDownloads() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns current downloads.
      +
      +
      getCurrentIndex() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
      +
      Returns the current index this iterator is pointing to.
      +
      +
      getCurrentLargeIcon(Player, PlayerNotificationManager.BitmapCallback) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter
      +
      +
      Gets the large icon for the current media item.
      +
      +
      getCurrentLiveOffset() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getCurrentLiveOffset() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the offset of the current playback position from the live edge in milliseconds, or + C.TIME_UNSET if the current window isn't live or the + offset is unknown.
      +
      +
      getCurrentManifest() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getCurrentManifest() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current manifest.
      +
      +
      getCurrentMappedTrackInfo() - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector
      +
      +
      Returns the mapping information for the currently active track selection, or null if no + selection is currently active.
      +
      +
      getCurrentMediaItem() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getCurrentMediaItem() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getCurrentMediaItem() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the media item of the current window in the timeline.
      +
      +
      getCurrentMediaItemIndex() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getCurrentOrMainLooper() - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the Looper associated with the current thread, or the Looper of the + application's main thread if the current thread doesn't have a Looper.
      +
      +
      getCurrentPeriodIndex() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentPeriodIndex() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the index of the period currently being played.
      +
      +
      getCurrentPeriodIndex() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentPeriodIndex() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentPosition() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentPosition() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      getCurrentPosition() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getCurrentPosition() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the playback position in the current content window or ad, in milliseconds, or the + prospective position in milliseconds if the current timeline is + empty.
      +
      +
      getCurrentPosition() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentPosition() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentPositionUs(boolean) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns the playback position in the stream starting at zero, in microseconds, or AudioSink.CURRENT_POSITION_NOT_SET if it is not yet available.
      +
      +
      getCurrentPositionUs(boolean) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      getCurrentPositionUs(boolean) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      getCurrentStaticMetadata() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentStaticMetadata() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current static metadata for the track selections.
      +
      +
      getCurrentStaticMetadata() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentStaticMetadata() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentSubText(Player) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.MediaDescriptionAdapter
      +
      +
      Gets the content sub text for the current media item.
      +
      +
      getCurrentTag() - Method in class com.google.android.exoplayer2.BasePlayer
      +
      + +
      +
      getCurrentTag() - Method in interface com.google.android.exoplayer2.Player
      +
      + +
      +
      getCurrentTimeline() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentTimeline() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current Timeline.
      +
      +
      getCurrentTimeline() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentTimeline() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentTrackGroups() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentTrackGroups() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the available track groups.
      +
      +
      getCurrentTrackGroups() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentTrackGroups() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentTrackSelections() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentTrackSelections() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current track selections for each renderer.
      +
      +
      getCurrentTrackSelections() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentTrackSelections() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCurrentUnixTimeMs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the current time in milliseconds since the Unix epoch.
      +
      +
      getCurrentUrlRequest() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Returns current UrlRequest.
      +
      +
      getCurrentUrlResponseInfo() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Returns current UrlResponseInfo.
      +
      +
      getCurrentWindowIndex() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getCurrentWindowIndex() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the index of the current window in the timeline, or the prospective window index if the current timeline is empty.
      +
      +
      getCurrentWindowIndex() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getCurrentWindowIndex() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getCustomAction(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.CustomActionProvider
      +
      +
      Returns a PlaybackStateCompat.CustomAction which will be published to the media + session by the connector or null if this action should not be published at the given + player state.
      +
      +
      getCustomAction(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
      +
       
      +
      getCustomActions(Player) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.CustomActionReceiver
      +
      +
      Gets the actions to be included in the notification given the current player state.
      +
      +
      getCustomCommands(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.CustomCommandProvider
      +
      +
      Returns a SessionCommandGroup with custom commands to publish to the controller, or + null if no custom commands should be published.
      +
      +
      getData() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Returns the opaque key request data.
      +
      +
      getData() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
      +
      +
      Returns the opaque provisioning request data.
      +
      +
      getData() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Returns the whole data added by FakeDataSet.FakeData.appendReadData(byte[]).
      +
      +
      getData() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns the data served by this resource.
      +
      +
      getData() - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSink
      +
      +
      Returns the data written to the sink since the last call to ByteArrayDataSink.open(DataSpec), or null if + ByteArrayDataSink.open(DataSpec) has never been called.
      +
      +
      getData() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Returns the underlying array.
      +
      +
      getData(int) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      getData(Uri) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Returns the data for the given uri, or defaultData if no data is set.
      +
      +
      getData(String) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Returns the data for the given uri, or defaultData if no data is set.
      +
      +
      getDataHolder() - Method in class com.google.android.exoplayer2.source.chunk.DataChunk
      +
      +
      Returns the array in which the data is held.
      +
      +
      getDataSet() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      getDataSpec() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Returns the DataSpec used to load the media chunk.
      +
      +
      getDataSpec() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationSegmentIterator
      +
       
      +
      getDataSpec() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Iterator
      +
       
      +
      getDataSpec() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunkIterator
      +
       
      +
      getDataSpec(int) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      getDataUriForString(String, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a data URI with the specified MIME type and data.
      +
      +
      getDebugString() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Returns the debugging information string to be shown by the target TextView.
      +
      +
      getDecodedBitrate() - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns the bitrate of the stream after it's decoded into PCM.
      +
      +
      getDecoderInfo(String, boolean, boolean) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Returns information about the preferred decoder for a given mime type.
      +
      +
      getDecoderInfos(MediaCodecSelector, Format, boolean) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getDecoderInfos(MediaCodecSelector, Format, boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns a list of decoders that can decode media in the specified format, in priority order.
      +
      +
      getDecoderInfos(MediaCodecSelector, Format, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      getDecoderInfos(String, boolean, boolean) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecSelector
      +
      +
      Returns a list of decoders that can decode media in the specified MIME type, in priority order.
      +
      +
      getDecoderInfos(String, boolean, boolean) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
       
      +
      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.
      +
      +
      getDecryptOnlyDecoderInfo() - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Returns information about a decoder that will only decrypt data, without decoding it.
      +
      +
      getDefaultArtwork() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns the default artwork to display.
      +
      +
      getDefaultArtwork() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns the default artwork to display.
      +
      +
      getDefaultPositionMs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the default position relative to the start of the window at which to begin playback, + in milliseconds.
      +
      +
      getDefaultPositionUs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the default position relative to the start of the window at which to begin playback, + in microseconds.
      +
      +
      getDefaultRequestProperties() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      + +
      +
      getDefaultRequestProperties() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      + +
      +
      getDefaultRequestProperties() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      + +
      +
      getDefaultRequestProperties() - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
      +
      + +
      +
      getDefaultRequestProperties() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource.Factory
      +
      + +
      +
      getDefaults(Context) - Static method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Returns an instance configured with default values.
      +
      +
      getDefaults(Context) - Static method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      Returns an instance configured with default values.
      +
      +
      getDefaultTrackSelectorParameters(Context) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns the default parameters used for track selection for downloading.
      +
      +
      getDefaultUrl() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
      +
      +
      Returns the default URL of the provisioning server to which the request can be made, or the + empty string if not known.
      +
      +
      getDeleteAfterDelivery() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns whether the message will be deleted after delivery.
      +
      +
      getDeviceComponent() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getDeviceComponent() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the component of this player for playback device, or null if it's not supported.
      +
      +
      getDeviceComponent() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getDeviceComponent() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getDeviceInfo() - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Gets the device information.
      +
      +
      getDeviceInfo() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getDeviceVolume() - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Gets the current volume of the device.
      +
      +
      getDeviceVolume() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getDownload() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns the download at the current position.
      +
      +
      getDownload(String) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      getDownload(String) - Method in interface com.google.android.exoplayer2.offline.DownloadIndex
      +
      +
      Returns the Download with the given id, or null.
      +
      +
      getDownloadIndex() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the used DownloadIndex.
      +
      +
      getDownloadManager() - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Returns a DownloadManager to be used to downloaded content.
      +
      +
      getDownloadRequest(byte[]) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Builds a DownloadRequest for downloading the selected tracks.
      +
      +
      getDownloadRequest(String, byte[]) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Builds a DownloadRequest for downloading the selected tracks.
      +
      +
      getDownloads(int...) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      getDownloads(int...) - Method in interface com.google.android.exoplayer2.offline.DownloadIndex
      +
      +
      Returns a DownloadCursor to Downloads with the given states.
      +
      +
      getDownloadsPaused() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns whether downloads are currently paused.
      +
      +
      getDrmUuid(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Derives a DRM UUID from drmScheme.
      +
      +
      getDroppedFramesRate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean rate at which video frames are dropped, in dropped frames per play time + second, or 0.0 if no time was spent playing.
      +
      +
      getDtsFrameSize(byte[]) - Static method in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Returns the size in bytes of the given DTS frame.
      +
      +
      getDummyDrmSessionManager() - Static method in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      + +
      +
      getDummySeekMap() - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Returns a dummy MediaParser.SeekMap, or null if not available.
      +
      +
      getDuration() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getDuration() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      getDuration() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getDuration() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the duration of the current content window or ad in milliseconds, or C.TIME_UNSET if the duration is not known.
      +
      +
      getDuration() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getDuration() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getDurationMs() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the duration of the period in milliseconds, or C.TIME_UNSET if unknown.
      +
      +
      getDurationMs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the duration of the window in milliseconds, or C.TIME_UNSET if unknown.
      +
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.FlacSeekTableSeekMap
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns the duration of the FLAC stream in microseconds, or C.TIME_UNSET if the total + number of samples if unknown.
      +
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.IndexSeekMap
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      getDurationUs() - Method in interface com.google.android.exoplayer2.extractor.SeekMap
      +
      +
      Returns the duration of the stream in microseconds.
      +
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.extractor.SeekMap.Unseekable
      +
       
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      Returns the duration of the chunk in microseconds.
      +
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the duration of this period in microseconds, or C.TIME_UNSET if unknown.
      +
      +
      getDurationUs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the duration of this window in microseconds, or C.TIME_UNSET if unknown.
      +
      +
      getDurationUs(long, long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the duration of a segment.
      +
      +
      getDurationUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getDurationUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getEditedValues() - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Returns a map of metadata name, value pairs to be set.
      +
      +
      getElapsedRealtimeOffsetMs() - Static method in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      Returns the offset between SystemClock.elapsedRealtime() and the NTP server time in + milliseconds, or C.TIME_UNSET if SntpClient.isInitialized() returns false.
      +
      +
      getElementType(int) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Maps an element ID to a corresponding type.
      +
      +
      getElementType(int) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Maps an element ID to a corresponding type.
      +
      +
      getEncoding(String, String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the C.Encoding constant corresponding to the specified audio MIME type and RFC + 6381 codec string, or C.ENCODING_INVALID if the corresponding C.Encoding cannot + be determined.
      +
      +
      getEncodingForAudioObjectType(int) - Static method in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Returns the encoding for a given AAC audio object type.
      +
      +
      getEndedRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of foreground playbacks which reached the ended state at least once, or + 0.0 if no playback has been in foreground.
      +
      +
      getEndTimeUs() - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Returns the result of adding the duration of the playlist to its start time.
      +
      +
      getError() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns the cause of the error state, or null if DrmSession.getState() is not DrmSession.STATE_ERROR.
      +
      +
      getError() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      getErrorMessage(T) - Method in interface com.google.android.exoplayer2.util.ErrorMessageProvider
      +
      +
      Returns a pair consisting of an error code and a user readable error message for the given + throwable.
      +
      +
      getEventTime(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Returns the AnalyticsListener.EventTime for the specified event.
      +
      +
      getEventTime(int) - Method in interface com.google.android.exoplayer2.text.Subtitle
      +
      +
      Returns the event time at a specified index.
      +
      +
      getEventTime(int) - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      getEventTimeCount() - Method in interface com.google.android.exoplayer2.text.Subtitle
      +
      +
      Returns the number of event times, where events are defined as points in time at which the cues + returned by Subtitle.getCues(long) changes.
      +
      +
      getEventTimeCount() - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      getExoMediaCryptoType() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getExoMediaCryptoType() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      + +
      +
      getExoMediaCryptoType() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getExoMediaCryptoType() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getExoMediaCryptoType(Format) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
       
      +
      getExoMediaCryptoType(Format) - Method in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      +
      Returns the ExoMediaCrypto type associated to sessions acquired for the given Format.
      +
      +
      getExpectedBytes() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource
      +
      +
      Returns the expected contents of this resource.
      +
      +
      getExtractorInputFromPosition(DataSource, long, Uri) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns an ExtractorInput to read from the given input at given position.
      +
      +
      getFastForwardIncrementMs() - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Returns the fast forward increment in milliseconds.
      +
      +
      getFatalErrorRate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the rate of fatal errors, in errors per play time second, or 0.0 if no time was + spend playing.
      +
      +
      getFatalErrorRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of foreground playbacks which experienced fatal errors, or 0.0 if no + playback has been in foreground.
      +
      +
      getFirstAdIndexToPlay() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns the index of the first ad in the ad group that should be played, or AdPlaybackState.AdGroup.count if + no ads should be played.
      +
      +
      getFirstAdIndexToPlay(int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the index of the first ad in the specified ad group that should be played, or the + number of ads in the ad group if no ads should be played.
      +
      +
      getFirstAvailableSegmentNum(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getFirstAvailableSegmentNum(long, long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the segment number of the first available segment in the index.
      +
      +
      getFirstAvailableSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getFirstAvailableSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getFirstAvailableSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getFirstIndex() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the current absolute start index.
      +
      +
      getFirstIndex() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      getFirstIndex() - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns the first index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
      +
      +
      getFirstIndex() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      getFirstIndex() - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      getFirstPeriodIndexByChildIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the first period index belonging to the child timeline with the given index.
      +
      +
      getFirstSampleIndex(int) - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
      +
      Returns the index of the first sample in the specified track of the output that will originate + from this chunk.
      +
      +
      getFirstSampleNumber(ExtractorInput, FlacStreamMetadata) - Static method in class com.google.android.exoplayer2.extractor.FlacFrameReader
      +
      +
      Returns the number of the first sample in the given frame.
      +
      +
      getFirstSampleTimestampUs() - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Returns the value of the first adjusted sample timestamp in microseconds, or TimestampAdjuster.DO_NOT_OFFSET if timestamps will not be offset.
      +
      +
      getFirstSegmentNum() - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the segment number of the first defined segment in the index.
      +
      +
      getFirstSegmentNum() - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getFirstSegmentNum() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getFirstSegmentNum() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getFirstSegmentNum() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getFirstTimestampUs() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the timestamp of the first sample, or Long.MIN_VALUE if the queue is empty.
      +
      +
      getFirstWindowIndex(boolean) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getFirstWindowIndex(boolean) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getFirstWindowIndex(boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the first window in the playback order depending on whether shuffling is + enabled.
      +
      +
      getFirstWindowIndexByChildIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the first window index belonging to the child timeline with the given index.
      +
      +
      getFlag(int) - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Returns whether the specified flag has been set on this buffer.
      +
      +
      getFontColor() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getFontFamily() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getFontSize() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getFontSizeUnit() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getForegroundNotification(List<Download>) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Returns a notification to be displayed when this service running in the foreground.
      +
      +
      getFormat(byte[], Metadata) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns a Format extracted from the FLAC stream metadata.
      +
      +
      getFormat(int) - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
      +
      Returns the format of the track at a given index.
      +
      +
      getFormat(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getFormat(int) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      getFormat(int) - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the format of the track at a given index in the selection.
      +
      +
      getFormatHolder() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Returns a clear FormatHolder.
      +
      +
      getFormatId() - Method in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
      +
      +
      Returns the last generated format id, with the format "programNumber/trackId".
      +
      +
      getFormatLanguageScore(Format, String, boolean) - Static method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Returns a score for how well a language specified in a Format matches a given language.
      +
      +
      getFormatsRead() - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
      +
      Returns the list of formats read by the renderer.
      +
      +
      getFormatSupport(int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Returns the C.FormatSupport from the combined RendererCapabilities.Capabilities.
      +
      +
      getFormatSupport(Format) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns the level of support that the sink provides for a given Format.
      +
      +
      getFormatSupport(Format) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      getFormatSupport(Format) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      getFormatSupportString(int) - Static method in class com.google.android.exoplayer2.C
      +
      +
      Returns string representation of a C.FormatSupport flag.
      +
      +
      getFrameSize(int) - Static method in class com.google.android.exoplayer2.audio.MpegAudioUtil
      +
      +
      Returns the size of the frame associated with header, or C.LENGTH_UNSET if it + is invalid.
      +
      +
      getFrameStartMarker(ExtractorInput) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Returns the frame start marker, consisting of the 2 first bytes of the first frame.
      +
      +
      getFrameworkCryptoInfo() - Method in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      Returns an equivalent MediaCodec.CryptoInfo instance.
      +
      +
      getFrameworkCryptoInfoV16() - Method in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      + +
      +
      getGzipSupport() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns the level of gzip support the server should provide for this resource.
      +
      +
      getH265NalUnitType(byte[], int) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Returns the type of the H.265 NAL unit in data that starts at offset.
      +
      +
      getHttpMethodString() - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns the uppercase HTTP method name (e.g., "GET", "POST", "HEAD") corresponding to the + DataSpec.httpMethod.
      +
      +
      getId(DownloadRequest) - Method in interface com.google.android.exoplayer2.offline.ActionFileUpgradeUtil.DownloadIdProvider
      +
      +
      Returns a download id for given request.
      +
      +
      getIndex() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Returns the index of the renderer within the player.
      +
      +
      getIndex() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Returns the index of the renderer within the player.
      +
      +
      getIndex() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Returns an index if the representation provides one directly, or null otherwise.
      +
      +
      getIndex() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getIndex() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
       
      +
      getIndex() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SingleSegmentBase
      +
       
      +
      getIndexInTrackGroup(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getIndexInTrackGroup(int) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      getIndexInTrackGroup(int) - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the index in the track group of the track at a given index in the selection.
      +
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getIndexOfPeriod(Object) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the period identified by its unique Timeline.Period.uid, or C.INDEX_UNSET if the period is not in the timeline.
      +
      +
      getIndexUri() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Returns a RangedUri defining the location of the representation's segment index, or + null if the representation provides an index directly.
      +
      +
      getIndexUri() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getIndexUri() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
       
      +
      getIndividualAllocationLength() - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Returns the length of each individual Allocation.
      +
      +
      getIndividualAllocationLength() - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      getInitialization(Representation) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase
      +
      +
      Returns the RangedUri defining the location of initialization data for a given + representation, or null if no initialization data exists.
      +
      +
      getInitialization(Representation) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate
      +
       
      +
      getInitializationUri() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Returns a RangedUri defining the location of the representation's initialization data, + or null if no initialization data exists.
      +
      +
      getInitialStartTimeUs() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      getInitialStartTimeUs() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Returns the start time of the first loaded primary playlist, or C.TIME_UNSET if no + media playlist has been loaded.
      +
      +
      getInitialTimeline() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      getInitialTimeline() - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      getInitialTimeline() - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Returns the initial placeholder timeline that is returned immediately when the real timeline is + not yet known, or null to let the player create an initial timeline.
      +
      +
      getInitialTimeline() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      getInMemoryDatabaseProvider() - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns a DatabaseProvider that provides an in-memory database.
      +
      +
      getInputBuffer(int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Returns a writable ByteBuffer object for a dequeued input buffer index.
      +
      +
      getInputBuffer(int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      getInputBufferPaddingSize() - Static method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
      +
      +
      Returns the required amount of padding for input buffers in bytes, or C.LENGTH_UNSET if + the underlying library is not available.
      +
      +
      getInputStream(Context, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns an InputStream for reading from an asset file.
      +
      +
      getInstance() - Static method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
      +
      Returns a new instance.
      +
      +
      getIntegerCodeForString(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the integer equal to the big-endian concatenation of the characters in string + as bytes.
      +
      +
      getIsDisabled() - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Returns whether the renderer is disabled.
      +
      +
      getItem(int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Returns the item that corresponds to the period with the given id, or null if no media queue or + period with id periodId exist.
      +
      +
      getJoinTimeRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of foreground join time to the total time spent playing and waiting, or + 0.0 if no time was spend playing or waiting.
      +
      +
      getKeyId() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyStatus
      +
      +
      Returns the ID of the key.
      +
      +
      getKeyRequest(byte[], List<DrmInitData.SchemeData>, int, HashMap<String, String>) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getKeyRequest(byte[], List<DrmInitData.SchemeData>, int, HashMap<String, String>) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Generates a key request.
      +
      +
      getKeyRequest(byte[], List<DrmInitData.SchemeData>, int, HashMap<String, String>) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getKeyRequest(byte[], List<DrmInitData.SchemeData>, int, HashMap<String, String>) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getKeys() - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns the cache keys of all of the resources that are at least partially cached.
      +
      +
      getKeys() - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getKeySetId() - Method in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      Returns the key set ID of the offline license.
      +
      +
      getLargestQueuedTimestampUs() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the largest sample timestamp that has been queued since the last SampleQueue.reset().
      +
      +
      getLargestQueuedTimestampUs() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Returns the timestamp of the largest queued sample in the queue, or Long.MIN_VALUE if + no samples are queued.
      +
      +
      getLargestReadTimestampUs() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the largest sample timestamp that has been read since the last SampleQueue.reset().
      +
      +
      getLastAdjustedTimestampUs() - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Returns the last value obtained from TimestampAdjuster.adjustSampleTimestamp(long).
      +
      +
      getLastAvailableSegmentNum(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getLastIndex() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      getLastIndex() - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns the last index in the shuffle order, or C.INDEX_UNSET if the shuffle order is + empty.
      +
      +
      getLastIndex() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      getLastIndex() - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      getLastOpenedUri() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
      +
      Returns the Uri associated with the last StatsDataSource.open(DataSpec) call.
      +
      +
      getLastResetPositionUs() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      + +
      +
      getLastResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
      +
      Returns the response headers associated with the last StatsDataSource.open(DataSpec) call.
      +
      +
      getLastWindowIndex(boolean) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getLastWindowIndex(boolean) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getLastWindowIndex(boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the last window in the playback order depending on whether shuffling is + enabled.
      +
      +
      getLength() - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      getLength() - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Returns the length of the source stream, or C.LENGTH_UNSET if it is unknown.
      +
      +
      getLength() - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      getLength() - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
       
      +
      getLength() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      getLength() - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns length of shuffle order.
      +
      +
      getLength() - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      getLength() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      getLength() - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      getLicenseDurationRemainingSec(byte[]) - Method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Returns the remaining license and playback durations in seconds, for an offline license.
      +
      +
      getLicenseDurationRemainingSec(DrmSession) - Static method in class com.google.android.exoplayer2.drm.WidevineUtil
      +
      +
      Returns license and playback durations remaining in seconds.
      +
      +
      getLicenseServerUrl() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Returns the URL of the license server to which the request should be made.
      +
      +
      getLine() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the position of the lineAnchor of the cue box within the viewport in the + direction orthogonal to the writing direction.
      +
      +
      getLineAnchor() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the cue box anchor positioned by line.
      +
      +
      getLineType() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the type of the value of Cue.Builder.getLine().
      +
      +
      getLoadControl() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the LoadControl that will be used by the player.
      +
      +
      getLocaleLanguageTag(Locale) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the language tag for a Locale.
      +
      +
      getLocalPort() - Method in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
      +
      Returns the local port number opened for the UDP connection, or UdpDataSource.UDP_PORT_UNSET if no + connection is open
      +
      +
      getLogLevel() - Static method in class com.google.android.exoplayer2.util.Log
      +
      +
      Returns current Log.LogLevel for ExoPlayer logcat logging.
      +
      +
      getLogStackTraces() - Method in class com.google.android.exoplayer2.util.Log
      +
      +
      Returns whether stack traces of Throwables will be logged to logcat.
      +
      +
      getLooper() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns the Looper the message is delivered on.
      +
      +
      getLooper() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the Looper that will be used by the player, or null if no Looper has + been set yet and no default is available.
      +
      +
      getLooper() - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      getManifest() - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns the manifest, or null if no manifest is loaded.
      +
      +
      getManifest(DataSource, DataSpec, boolean) - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
      +
      Loads and parses a manifest.
      +
      +
      getMappedTrackInfo(int) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns the mapped track info for the given period.
      +
      +
      getMasterPlaylist() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      getMasterPlaylist() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Returns the master playlist.
      +
      +
      getMaxChannelCount() - Method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
      +
      Returns the maximum number of channels the device can play at the same time.
      +
      +
      getMaxDecodedFrameSize() - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns the maximum size for a decoded frame from the FLAC stream.
      +
      +
      getMaxInputSize(MediaCodecInfo, Format) - Static method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns a maximum input buffer size for a given MediaCodec and Format.
      +
      +
      getMaxParallelDownloads() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the maximum number of parallel downloads.
      +
      +
      getMaxSupportedInstances() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Returns an upper bound on the maximum number of supported instances, or MediaCodecInfo.MAX_SUPPORTED_INSTANCES_UNKNOWN if unknown.
      +
      +
      getMeanAudioFormatBitrate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean audio format bitrate, in bits per second, or C.LENGTH_UNSET if no + audio format data is available.
      +
      +
      getMeanBandwidth() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean network bandwidth based on transfer measurements, in bits per second, or + C.LENGTH_UNSET if no transfer data is available.
      +
      +
      getMeanElapsedTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time covered by any playback state per playback, in milliseconds, or C.TIME_UNSET if no playback was recorded.
      +
      +
      getMeanInitialAudioFormatBitrate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean initial audio format bitrate, in bits per second, or C.LENGTH_UNSET if + no audio format data is available.
      +
      +
      getMeanInitialVideoFormatBitrate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean initial video format bitrate, in bits per second, or C.LENGTH_UNSET if + no video format data is available.
      +
      +
      getMeanInitialVideoFormatHeight() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean initial video format height, in pixels, or C.LENGTH_UNSET if no video + format data is available.
      +
      +
      getMeanJoinTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent joining the playback, in milliseconds, or C.TIME_UNSET if + no valid join time is available.
      +
      +
      getMeanNonFatalErrorCount() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean number of non-fatal errors per foreground playback, or 0.0 if no + playback has been in foreground.
      +
      +
      getMeanPauseBufferCount() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean number of times a playback has been paused while rebuffering per foreground + playback, or 0.0 if no playback has been in foreground.
      +
      +
      getMeanPauseCount() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean number of times a playback has been paused per foreground playback, or + 0.0 if no playback has been in foreground.
      +
      +
      getMeanPausedTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent in a paused state per foreground playback, in milliseconds, or + C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMeanPlayAndWaitTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent playing or actively waiting for playback per foreground playback, + in milliseconds, or C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMeanPlayTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent actively playing per foreground playback, in milliseconds, or + C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMeanRebufferCount() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean number of times a rebuffer occurred per foreground playback, or 0.0 if + no playback has been in foreground.
      +
      +
      getMeanRebufferTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent rebuffering per foreground playback, in milliseconds, or C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMeanSeekCount() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean number of times a seek occurred per foreground playback, or 0.0 if no + playback has been in foreground.
      +
      +
      getMeanSeekTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent per foreground playback from the start of a seek until playback is + ready again, in milliseconds, or C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMeanSingleRebufferTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent during a single rebuffer, in milliseconds, or C.TIME_UNSET + if no rebuffer was recorded.
      +
      +
      getMeanSingleSeekTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent from the start of a single seek until playback is ready again, in + milliseconds, or C.TIME_UNSET if no seek occurred.
      +
      +
      getMeanTimeBetweenFatalErrors() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean play time between fatal errors, in seconds.
      +
      +
      getMeanTimeBetweenNonFatalErrors() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean play time between non-fatal errors, in seconds.
      +
      +
      getMeanTimeBetweenRebuffers() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean play time between rebuffer events, in seconds.
      +
      +
      getMeanVideoFormatBitrate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean video format bitrate, in bits per second, or C.LENGTH_UNSET if no + video format data is available.
      +
      +
      getMeanVideoFormatHeight() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean video format height, in pixels, or C.LENGTH_UNSET if no video format + data is available.
      +
      +
      getMeanWaitTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the mean time spent actively waiting for playback per foreground playback, in + milliseconds, or C.TIME_UNSET if no playback has been in foreground.
      +
      +
      getMediaClock() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      getMediaClock() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getMediaClock() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getMediaClock() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getMediaClock() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      If the renderer advances its own playback position then this method returns a corresponding + MediaClock.
      +
      +
      getMediaClock() - Method in class com.google.android.exoplayer2.testutil.FakeMediaClockRenderer
      +
       
      +
      getMediaCrypto() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns an ExoMediaCrypto for the open session, or null if called before the session + has been opened or after it's been released.
      +
      +
      getMediaCrypto() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      getMediaDescription(Player, int) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
      +
      Gets the MediaDescriptionCompat for a given timeline window index.
      +
      +
      getMediaDuration(long) - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain
      +
      +
      Returns the media duration corresponding to the specified playout duration, taking speed + adjustment due to audio processing into account.
      +
      +
      getMediaDuration(long) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
       
      +
      getMediaDuration(long) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Returns the media duration corresponding to the specified playout duration, taking speed + adjustment into account.
      +
      +
      getMediaDurationForPlayoutDuration(long, float) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the duration of media that will elapse in playoutDuration.
      +
      +
      getMediaFormat(Format, String, int, float) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
      +
      Returns the framework MediaFormat that can be used to configure a MediaCodec + for decoding the given Format for playback.
      +
      +
      getMediaFormat(Format, String, MediaCodecVideoRenderer.CodecMaxValues, float, boolean, int) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns the framework MediaFormat that should be used to configure the decoder.
      +
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated.
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      getMediaItem() - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Returns the MediaItem whose media is provided by the source.
      +
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      getMediaItem() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      getMediaItemAt(int) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getMediaItemAt(int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the MediaItem at the given index.
      +
      +
      getMediaItemCount() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getMediaItemCount() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the number of media items in the playlist.
      +
      +
      getMediaMimeType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the MIME type corresponding to an RFC 6381 codec string, or null if it could + not be determined.
      +
      +
      getMediaPeriodIdForChildMediaPeriodId(ConcatenatingMediaSource.MediaSourceHolder, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      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.MergingMediaSource
      +
       
      +
      getMediaPeriodIdForChildMediaPeriodId(Void, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      getMediaPeriodIdForChildMediaPeriodId(Void, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      getMediaPeriodIdForChildMediaPeriodId(T, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Returns the MediaSource.MediaPeriodId in the composite source corresponding to the specified MediaSource.MediaPeriodId in a child source.
      +
      +
      getMediaSource(int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Returns the MediaSource at a specified index.
      +
      +
      getMediaTimeForChildMediaTime(Void, long) - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      getMediaTimeForChildMediaTime(T, long) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Returns the media time in the composite source corresponding to the specified media time in a + child source.
      +
      +
      getMediaTimeMsAtRealtimeMs(long) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the estimated media time at the given realtime, in milliseconds, or C.TIME_UNSET if the media time history is unknown.
      +
      +
      getMediaTimeUsForPlayoutTimeMs(long) - Method in class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      Returns the media time in microseconds that will elapse in timeMs milliseconds of + wallclock time.
      +
      +
      getMetadata(MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.DefaultMediaItemConverter
      +
      +
      Returns a MediaMetadata corresponding to the given ExoPlayer MediaItem.
      +
      +
      getMetadata(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.DefaultMediaMetadataProvider
      +
       
      +
      getMetadata(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.MediaMetadataProvider
      +
      +
      Gets the MediaMetadataCompat to be published to the session.
      +
      +
      getMetadataComponent() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getMetadataComponent() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the component of this player for metadata output, or null if metadata is not supported.
      +
      +
      getMetadataComponent() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getMetadataComponent() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getMetadataCopyWithAppendedEntriesFrom(Metadata) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns a copy of the content metadata with entries from other appended.
      +
      +
      getMetrics() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getMetrics() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Returns metrics data for this ExoMediaDrm instance, or null if metrics are unavailable.
      +
      +
      getMetrics() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getMetrics() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getMimeTypeFromMp4ObjectType(int) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the MIME type corresponding to an MP4 object type identifier, as defined in RFC 6381 + and https://mp4ra.org/#/object_types.
      +
      +
      getMinDurationToRetainAfterDiscardUs() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
      +
      Called from AdaptiveTrackSelection.evaluateQueueSize(long, List) to determine the minimum duration of buffer + to retain after discarding chunks.
      +
      +
      getMinimumLoadableRetryCount(int) - Method in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      +
      See DefaultLoadErrorHandlingPolicy() and DefaultLoadErrorHandlingPolicy(int) + for documentation about the behavior of this method.
      +
      +
      getMinimumLoadableRetryCount(int) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      +
      Returns the minimum number of times to retry a load in the case of a load error, before + propagating the error.
      +
      +
      getMinRetryCount() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the minimum number of times that a download will be retried.
      +
      +
      getNalUnitType(byte[], int) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Returns the type of the NAL unit in data that starts at offset.
      +
      +
      getName() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getName() - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Returns the name of the decoder.
      +
      +
      getName() - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      getName() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the name of this renderer, for logging and debugging purposes.
      +
      +
      getName() - Method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Returns the name of the Renderer.
      +
      +
      getName() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource
      +
      +
      Returns a human-readable name for the resource, for use in test failure messages.
      +
      +
      getName() - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      getName() - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      getNetworkType(Context) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the C.NetworkType of the current network connection.
      +
      +
      getNewId() - Static method in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      Returns an non-negative identifier which is unique to the JVM instance.
      +
      +
      getNextAdIndexToPlay(int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns the index of the next ad in the ad group that should be played after playing + lastPlayedAdIndex, or AdPlaybackState.AdGroup.count if no later ads should be played.
      +
      +
      getNextAdIndexToPlay(int, int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the index of the next ad in the specified ad group that should be played after + playing adIndexInAdGroup, or the number of ads in the ad group if no later ads should + be played.
      +
      +
      getNextChunk(long, long, List<? extends MediaChunk>, ChunkHolder) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Returns the next chunk to load.
      +
      +
      getNextChunk(long, long, List<? extends MediaChunk>, ChunkHolder) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      getNextChunk(long, long, List<? extends MediaChunk>, ChunkHolder) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      getNextChunk(long, long, List<? extends MediaChunk>, ChunkHolder) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      getNextChunkIndex() - Method in class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
       
      +
      getNextChunkIndex() - Method in class com.google.android.exoplayer2.source.chunk.MediaChunk
      +
      +
      Returns the next chunk index or C.INDEX_UNSET if it is not known.
      +
      +
      getNextEventTimeIndex(long) - Method in interface com.google.android.exoplayer2.text.Subtitle
      +
      +
      Returns the index of the first event that occurs after a given time (exclusive).
      +
      +
      getNextEventTimeIndex(long) - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      getNextIndex(int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      getNextIndex(int) - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns the next index in the shuffle order.
      +
      +
      getNextIndex(int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      getNextIndex(int) - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      getNextLoadPositionUs() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns the next load time, or C.TIME_END_OF_SOURCE if loading has finished.
      +
      +
      getNextLoadPositionUs() - Method in interface com.google.android.exoplayer2.source.SequenceableLoader
      +
      +
      Returns the next load time, or C.TIME_END_OF_SOURCE if loading has finished.
      +
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      getNextLoadPositionUs() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      getNextMediaItemIndex() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getNextPeriodIndex(int, Timeline.Period, Timeline.Window, int, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the period after the period at index periodIndex depending on the + repeatMode and whether shuffling is enabled.
      +
      +
      getNextRepeatMode(int, int) - Static method in class com.google.android.exoplayer2.util.RepeatModeUtil
      +
      +
      Gets the next repeat mode out of enabledModes starting from currentMode.
      +
      +
      getNextSegmentAvailableTimeUs(long, long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the time, in microseconds, at which a new segment becomes available, or C.TIME_UNSET if not applicable.
      +
      +
      getNextSegmentAvailableTimeUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getNextSegmentAvailableTimeUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getNextSegmentAvailableTimeUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getNextWindowIndex() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getNextWindowIndex() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the index of the window that will be played if Player.next() is called, which may + depend on the current repeat mode and whether shuffle mode is enabled.
      +
      +
      getNextWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getNextWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getNextWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the window after the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
      +
      +
      getNonexistentUrl() - Method in class com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
      +
       
      +
      getNonFatalErrorRate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the rate of non-fatal errors, in errors per play time second, or 0.0 if no time + was spend playing.
      +
      +
      getNotFoundUri() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
      +
      Returns a Uri that doesn't resolve.
      +
      +
      getNotMetRequirements() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the requirements needed for downloads to progress that are not currently met.
      +
      +
      getNotMetRequirements(Context) - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns requirements that are not met, or 0.
      +
      +
      getNowUnixTimeMs(long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the current time in milliseconds since the epoch.
      +
      +
      getNtpHost() - Static method in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      Returns the NTP host address used to retrieve SntpClient.getElapsedRealtimeOffsetMs().
      +
      +
      getOfflineLicenseKeySetId() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns the key set id of the offline license loaded into this session, or null if there isn't + one.
      +
      +
      getOfflineLicenseKeySetId() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      getOngoing(Player) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Returns whether the generated notification should be ongoing.
      +
      +
      getOutput() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Returns a buffer containing processed output data between its position and limit.
      +
      +
      getOutput() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      getOutput() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      getOutput() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      getOutput() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
      +
      Returns the output most recently passed to BaseMediaChunk.init(BaseMediaChunkOutput).
      +
      +
      getOutputBuffer(int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Returns a read-only ByteBuffer for a dequeued output buffer index.
      +
      +
      getOutputBuffer(int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      getOutputFormat() - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Gets the MediaFormat that was output from the MediaCodec.
      +
      +
      getOutputFormat() - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      getOutputFormat(FfmpegAudioDecoder) - Method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      getOutputFormat(FlacDecoder) - Method in class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
       
      +
      getOutputFormat(OpusDecoder) - Method in class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
       
      +
      getOutputFormat(T) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Returns the format of audio buffers output by the decoder.
      +
      +
      getOutputStreamOffsetUs() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns the offset that should be subtracted from bufferPresentationTimeUs in MediaCodecRenderer.processOutputBuffer(long, long, MediaCodecAdapter, ByteBuffer, int, int, int, long, boolean, + boolean, Format) to get the playback position with respect to the media.
      +
      +
      getOverlayFrameLayout() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Gets the overlay FrameLayout, which can be populated with UI elements to show on top of + the player.
      +
      +
      getOverlayFrameLayout() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Gets the overlay FrameLayout, which can be populated with UI elements to show on top of + the player.
      +
      +
      getOverrides() - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Returns the list of selected track selection overrides.
      +
      +
      getParameters() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Gets the current selection parameters.
      +
      +
      getPath() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns the path this resource is available at.
      +
      +
      getPauseAtEndOfMediaItems() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns whether the player pauses playback at the end of each media item.
      +
      +
      getPauseAtEndOfMediaItems() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPauseAtEndOfMediaItems() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPayload() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns the message payload forwarded to PlayerMessage.Target.handleMessage(int, Object).
      +
      +
      getPcmEncoding(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Converts a sample bit depth to a corresponding PCM encoding constant.
      +
      +
      getPcmEncodingForType(int, int) - Static method in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Returns the C.PcmEncoding for the given WAVE format type value, or C.ENCODING_INVALID if the type is not a known PCM type.
      +
      +
      getPcmFormat(int, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Gets a PCM Format with the specified parameters.
      +
      +
      getPcmFrameSize(int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the frame size for audio with channelCount channels in the specified encoding.
      +
      +
      getPeekPosition() - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      getPeekPosition() - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Returns the current peek position (byte offset) in the stream.
      +
      +
      getPeekPosition() - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      getPeekPosition() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      getPercentDownloaded() - Method in class com.google.android.exoplayer2.offline.Download
      +
      +
      Returns the estimated download percentage, or C.PERCENTAGE_UNSET if no estimate is + available.
      +
      +
      getPercentile(float) - Method in class com.google.android.exoplayer2.util.SlidingPercentile
      +
      +
      Computes a percentile by integration.
      +
      +
      getPeriod(int) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      getPeriod(int, Timeline.Period) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Populates a Timeline.Period with data for the period at the specified index.
      +
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.source.ads.SinglePeriodAdTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.testutil.NoUidTimeline
      +
       
      +
      getPeriod(int, Timeline.Period, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Populates a Timeline.Period with data for the period at the specified index.
      +
      +
      getPeriodByUid(Object, Timeline.Period) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getPeriodByUid(Object, Timeline.Period) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Populates a Timeline.Period with data for the period with the specified unique identifier.
      +
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns the number of periods for which media is available.
      +
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getPeriodCount() - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the number of periods in the timeline.
      +
      +
      getPeriodDurationMs(int) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      getPeriodDurationUs(int) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
       
      +
      getPeriodPosition(Timeline.Window, Timeline.Period, int, long) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Calls Timeline.getPeriodPosition(Window, Period, int, long, long) with a zero default position + projection.
      +
      +
      getPeriodPosition(Timeline.Window, Timeline.Period, int, long, long) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Converts (windowIndex, windowPositionUs) to the corresponding (periodUid, periodPositionUs).
      +
      +
      getPixelCount() - Method in class com.google.android.exoplayer2.Format
      +
      +
      Returns the number of pixels if this is a video format whose Format.width and Format.height + are known, or Format.NO_VALUE otherwise
      +
      +
      getPlaybackError() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated.
      +
      +
      getPlaybackError() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Deprecated. + +
      +
      +
      getPlaybackError() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      getPlaybackError() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      getPlaybackLooper() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns the Looper associated with the playback thread.
      +
      +
      getPlaybackLooper() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlaybackLooper() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPlaybackParameters() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns the active PlaybackParameters.
      +
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getPlaybackParameters() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the currently active playback parameters.
      +
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPlaybackParameters() - Method in interface com.google.android.exoplayer2.util.MediaClock
      +
      +
      Returns the active playback parameters.
      +
      +
      getPlaybackParameters() - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
       
      +
      getPlaybackSpeed() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getPlaybackSpeed() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns the current playback speed, as set by MediaCodecRenderer.setPlaybackSpeed(float, float).
      +
      +
      getPlaybackState() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getPlaybackState() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current playback state of the player.
      +
      +
      getPlaybackState() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlaybackState() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPlaybackStateAtTime(long) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the PlaybackStats.PlaybackState at the given time.
      +
      +
      getPlaybackStateDurationMs(@com.google.android.exoplayer2.analytics.PlaybackStats.PlaybackState int) - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent in a given PlaybackStats.PlaybackState, in milliseconds.
      +
      +
      getPlaybackStats() - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
      +
      Returns the PlaybackStats for the currently playback session, or null if no session is + active.
      +
      +
      getPlaybackSuppressionReason() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getPlaybackSuppressionReason() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the reason why playback is suppressed even though Player.getPlayWhenReady() is + true, or Player.PLAYBACK_SUPPRESSION_REASON_NONE if playback is not suppressed.
      +
      +
      getPlaybackSuppressionReason() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlaybackSuppressionReason() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPlayer() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns the Player currently being controlled by this view, or null if no player is + set.
      +
      +
      getPlayer() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns the player currently set on this view, or null if no player is set.
      +
      +
      getPlayer() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns the Player currently being controlled by this view, or null if no player is + set.
      +
      +
      getPlayer() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns the player currently set on this view, or null if no player is set.
      +
      +
      getPlayerError() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getPlayerError() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the error that caused playback to fail.
      +
      +
      getPlayerError() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlayerError() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPlayerState() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getPlayerStateString() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Returns a string containing player state debugging information.
      +
      +
      getPlaylist() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getPlaylistMetadata() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getPlaylistSnapshot(Uri, boolean) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      getPlaylistSnapshot(Uri, boolean) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Returns the most recent snapshot available of the playlist referenced by the provided Uri.
      +
      +
      getPlayoutDurationForMediaDuration(long, float) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the playout duration of mediaDuration of media.
      +
      +
      getPlayWhenReady() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getPlayWhenReady() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Whether playback will proceed when Player.getPlaybackState() == Player.STATE_READY.
      +
      +
      getPlayWhenReady() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getPlayWhenReady() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getPosition() - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      getPosition() - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Returns the current read position (byte offset) in the stream.
      +
      +
      getPosition() - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      getPosition() - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Returns the reading position in bits.
      +
      +
      getPosition() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns the current position of the cursor in the download set.
      +
      +
      getPosition() - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
       
      +
      getPosition() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      getPosition() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the fractional position of the positionAnchor of the cue + box within the viewport in the direction orthogonal to line.
      +
      +
      getPosition() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Returns the current bit offset.
      +
      +
      getPosition() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Returns the current offset in the array, in bytes.
      +
      +
      getPositionAnchor() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the cue box anchor positioned by position.
      +
      +
      getPositionInFirstPeriodMs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the position of the start of this window relative to the start of the first period + belonging to it, in milliseconds.
      +
      +
      getPositionInFirstPeriodUs() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns the position of the start of this window relative to the start of the first period + belonging to it, in microseconds.
      +
      +
      getPositionInWindowMs() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the position of the start of this period relative to the start of the window to which + it belongs, in milliseconds.
      +
      +
      getPositionInWindowUs() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns the position of the start of this period relative to the start of the window to which + it belongs, in microseconds.
      +
      +
      getPositionMs() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns position in window at PlayerMessage.getWindowIndex() at which the message will be delivered, + in milliseconds.
      +
      +
      getPositionUs() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      getPositionUs() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      getPositionUs() - Method in interface com.google.android.exoplayer2.util.MediaClock
      +
      +
      Returns the current media position in microseconds.
      +
      +
      getPositionUs() - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
       
      +
      getPreferredQueueSize(long, List<? extends MediaChunk>) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Evaluates whether MediaChunks should be removed from the back of the queue.
      +
      +
      getPreferredQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      getPreferredQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      getPreferredQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      getPreferredUpdateDelay() - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      getPreferredUpdateDelay() - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Returns the preferred delay in milliseconds of media time after which the time bar position + should be updated.
      +
      +
      getPreparePositionOverrideUs() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Returns the prepare position override set by MaskingMediaPeriod.overridePreparePositionUs(long).
      +
      +
      getPreparePositionUs() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Returns the position at which the masking media period was prepared, in microseconds.
      +
      +
      getPresentationTimeOffsetUs() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase
      +
      +
      Returns the presentation time offset, in microseconds.
      +
      +
      getPreSkipSamples(List<byte[]>) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
      +
      +
      Returns the number of pre-skip samples specified by the given Opus codec initialization data.
      +
      +
      getPreviousIndex(int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.DefaultShuffleOrder
      +
       
      +
      getPreviousIndex(int) - Method in interface com.google.android.exoplayer2.source.ShuffleOrder
      +
      +
      Returns the previous index in the shuffle order.
      +
      +
      getPreviousIndex(int) - Method in class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
       
      +
      getPreviousIndex(int) - Method in class com.google.android.exoplayer2.testutil.FakeShuffleOrder
      +
       
      +
      getPreviousMediaItemIndex() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getPreviousWindowIndex() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      getPreviousWindowIndex() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the index of the window that will be played if Player.previous() is called, which may + depend on the current repeat mode and whether shuffle mode is enabled.
      +
      +
      getPreviousWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getPreviousWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getPreviousWindowIndex(int, int, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the index of the window before the window at index windowIndex depending on the + repeatMode and whether shuffling is enabled.
      +
      +
      getProfileLevels() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The profile levels supported by the decoder.
      +
      +
      getProgress(ProgressHolder) - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Returns the current Transformer.ProgressState and updates progressHolder with the current + progress if it is available.
      +
      +
      getPropertyByteArray(String) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getPropertyByteArray(String) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Returns the value of a byte array property.
      +
      +
      getPropertyByteArray(String) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getPropertyByteArray(String) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getPropertyString(String) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getPropertyString(String) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Returns the value of a string property.
      +
      +
      getPropertyString(String) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getPropertyString(String) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getProvisionRequest() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      getProvisionRequest() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Generates a provisioning request.
      +
      +
      getProvisionRequest() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      getProvisionRequest() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      getReadableDatabase() - Method in interface com.google.android.exoplayer2.database.DatabaseProvider
      +
      +
      Creates and/or opens a database.
      +
      +
      getReadableDatabase() - Method in class com.google.android.exoplayer2.database.DefaultDatabaseProvider
      +
       
      +
      getReadIndex() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the current absolute read index.
      +
      +
      getReadingPositionUs() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getReadingPositionUs() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getReadingPositionUs() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the + current SampleStream to the end.
      +
      +
      getRebufferRate() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the rate of rebuffer events, in rebuffers per play time second, or 0.0 if no + time was spend playing.
      +
      +
      getRebufferTimeRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of rebuffer time to the total time spent playing and waiting, or 0.0 + if no time was spend playing or waiting.
      +
      +
      getReceivedSchemeDatas() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm.LicenseServer
      +
       
      +
      getRedirectedUri(ContentMetadata) - Static method in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Returns the value stored under ContentMetadata.KEY_REDIRECTED_URI as a Uri, or {code null} if + not set.
      +
      +
      getRegionEndTimeMs(long) - Method in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
      +
      When provided with a byte offset, this method locates the cached region within which the + offset falls, and returns the approximate end position in milliseconds of that region.
      +
      +
      getRemovedValues() - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Returns a list of names of metadata values to be removed.
      +
      +
      getRendererCapabilities(RenderersFactory) - Static method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Extracts renderer capabilities for the renderers created by the provided renderers factory.
      +
      +
      getRendererCount() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getRendererCount() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the number of renderers.
      +
      +
      getRendererCount() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getRendererCount() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getRendererCount() - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the number of renderers.
      +
      +
      getRendererDisabled(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Returns whether the renderer is disabled.
      +
      +
      getRendererException() - Method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Retrieves the underlying error when ExoPlaybackException.type is ExoPlaybackException.TYPE_RENDERER.
      +
      +
      getRendererName(int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the name of the renderer at a given index.
      +
      +
      getRenderers() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the Renderers that have been set with TestExoPlayerBuilder.setRenderers(com.google.android.exoplayer2.Renderer...) or null if + no Renderers have been explicitly set.
      +
      +
      getRenderersFactory() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the RenderersFactory that has been set with TestExoPlayerBuilder.setRenderersFactory(com.google.android.exoplayer2.RenderersFactory) or + null if no factory has been explicitly set.
      +
      +
      getRendererSupport(int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the extent to which a renderer can play the tracks that are mapped to it.
      +
      +
      getRendererType(int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getRendererType(int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the track type that the renderer at a given index handles.
      +
      +
      getRendererType(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getRendererType(int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getRendererType(int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the track type that the renderer at a given index handles.
      +
      +
      getRepeatMode() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getRepeatMode() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getRepeatMode() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the current Player.RepeatMode used for playback.
      +
      +
      getRepeatMode() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getRepeatMode() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getRepeatToggleModes() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns which repeat toggle modes are enabled.
      +
      +
      getRepeatToggleModes() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns which repeat toggle modes are enabled.
      +
      +
      getRequestType() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Returns the type of the request, or ExoMediaDrm.KeyRequest.REQUEST_TYPE_UNKNOWN if the underlying key + request does not specify a type.
      +
      +
      getRequirements() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns the requirements needed to be met to progress.
      +
      +
      getRequirements() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns the requirements.
      +
      +
      getRequirements() - Method in class com.google.android.exoplayer2.scheduler.RequirementsWatcher
      +
      +
      Returns watched Requirements.
      +
      +
      getResizeMode() - Method in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      + +
      +
      getResizeMode() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      getResizeMode() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      getResponseCode() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      getResponseCode() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      getResponseCode() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      getResponseCode() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      When the source is open, returns the HTTP response status code associated with the last HttpDataSource.open(com.google.android.exoplayer2.upstream.DataSpec) call.
      +
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      Returns the response headers associated with the last DataSource.open(com.google.android.exoplayer2.upstream.DataSpec) call.
      +
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      getResponseHeaders() - Method in interface com.google.android.exoplayer2.upstream.DataSource
      +
      +
      When the source is open, returns the response headers associated with the last DataSource.open(com.google.android.exoplayer2.upstream.DataSpec) + call.
      +
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      getResponseHeaders() - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Returns the response headers associated with the load.
      +
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      getResponseHeaders() - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      getResult() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Returns the loaded object, or null if an object has not been loaded.
      +
      +
      getRetryDelayMsFor(int, long, IOException, int) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      + +
      +
      getRetryDelayMsFor(LoadErrorHandlingPolicy.LoadErrorInfo) - Method in class com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy
      +
      + +
      +
      getRetryDelayMsFor(LoadErrorHandlingPolicy.LoadErrorInfo) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      +
      Returns the number of milliseconds to wait before attempting the load again, or C.TIME_UNSET if the error is fatal and should not be retried.
      +
      +
      getRewindIncrementMs() - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Returns the rewind increment in milliseconds.
      +
      +
      getRubyPosition() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      getRuntimeExceptionForUnexpected() - Method in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Returns the RuntimeException that caused the exception if its type is AdsMediaSource.AdLoadException.TYPE_UNEXPECTED.
      +
      +
      getSampleCount() - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getSampleCryptoData(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getSampleData(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getSampleDescriptionEncryptionBox(int) - Method in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      Returns the TrackEncryptionBox for the given sample description index.
      +
      +
      getSampleDurationUs() - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
      +
      Returns the duration in microseconds per sample, or C.TIME_UNSET if the sample duration + is not available.
      +
      +
      getSampleFlags(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getSampleFormats() - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      getSampleFormats() - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor
      +
      +
      Returns the sample Formats for the tracks identified by the extractor, or null if the + extractor has not finished identifying tracks.
      +
      +
      getSampleFormats() - Method in class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
       
      +
      getSampleFormats() - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Returns the last output format for each track, or null if not all the tracks have been + identified.
      +
      +
      getSampleNumber(long) - Method in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Returns the sample number of the sample at a given time.
      +
      +
      getSampleTimesUs() - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getSampleTimeUs(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      getScheduler() - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Returns a Scheduler to restart the service when requirements allowing downloads to take + place are met.
      +
      +
      getSchemeUuid() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns the DRM scheme UUID for this session.
      +
      +
      getSchemeUuid() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      getSeekMap() - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
      +
      Returns the seek map for the stream.
      +
      +
      getSeekParameters() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns the currently active SeekParameters of the player.
      +
      +
      getSeekParameters() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getSeekParameters() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.FlacSeekTableSeekMap
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.IndexSeekMap
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      getSeekPoints(long) - Method in interface com.google.android.exoplayer2.extractor.SeekMap
      +
      +
      Obtains seek points for the specified seek time in microseconds.
      +
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.extractor.SeekMap.Unseekable
      +
       
      +
      getSeekPoints(long) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Returns the MediaParser.SeekPoint instances corresponding to the given timestamp.
      +
      +
      getSeekPreRollSamples(List<byte[]>) - Static method in class com.google.android.exoplayer2.audio.OpusUtil
      +
      +
      Returns the number of seek per-roll samples specified by the given Opus codec initialization + data.
      +
      +
      getSeekTimeRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of seek time to the total time spent playing and waiting, or 0.0 if + no time was spend playing or waiting.
      +
      +
      getSegmentCount() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getSegmentCount(long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the number of segments defined in the index, or DashSegmentIndex.INDEX_UNBOUNDED.
      +
      +
      getSegmentCount(long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getSegmentCount(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getSegmentCount(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getSegmentCount(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentList
      +
       
      +
      getSegmentCount(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate
      +
       
      +
      getSegmentDurationUs(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getSegmentEndTimeUs(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getSegmentNum(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getSegmentNum(long, long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns getFirstSegmentNum() if the index has no segments or if the given media time is + earlier than the start of the first segment.
      +
      +
      getSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getSegmentNum(long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getSegments() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Returns the list of FakeDataSet.FakeData.Segments.
      +
      +
      getSegments(DataSource, DashManifest, boolean) - Method in class com.google.android.exoplayer2.source.dash.offline.DashDownloader
      +
       
      +
      getSegments(DataSource, HlsPlaylist, boolean) - Method in class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
       
      +
      getSegments(DataSource, SsManifest, boolean) - Method in class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
       
      +
      getSegments(DataSource, M, boolean) - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
      +
      Returns a list of all downloadable SegmentDownloader.Segments for a given manifest.
      +
      +
      getSegmentStartTimeUs(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getSegmentTimeUs(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      getSegmentUrl(long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns a RangedUri defining the location of a segment.
      +
      +
      getSegmentUrl(long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getSegmentUrl(long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      getSegmentUrl(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getSegmentUrl(Representation, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      +
      Returns a RangedUri defining the location of a segment for the given index in the + given representation.
      +
      +
      getSegmentUrl(Representation, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentList
      +
       
      +
      getSegmentUrl(Representation, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate
      +
       
      +
      getSelectedFormat() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getSelectedFormat() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      getSelectedFormat() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns the Format of the individual selected track.
      +
      +
      getSelectedIndex() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getSelectedIndex() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      getSelectedIndex() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns the index of the selected track.
      +
      +
      getSelectedIndex() - Method in class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      getSelectedIndex() - Method in class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      getSelectedIndexInTrackGroup() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getSelectedIndexInTrackGroup() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      getSelectedIndexInTrackGroup() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns the index in the track group of the individual selected track.
      +
      +
      getSelectionData() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getSelectionData() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      getSelectionData() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns optional data associated with the current track selection.
      +
      +
      getSelectionData() - Method in class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      getSelectionData() - Method in class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      getSelectionOverride(int, TrackGroupArray) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Returns the override for the specified renderer and TrackGroupArray.
      +
      +
      getSelectionReason() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getSelectionReason() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      getSelectionReason() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns the reason for the current track selection.
      +
      +
      getSelectionReason() - Method in class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      getSelectionReason() - Method in class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      getServedResources() - Method in class com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
      +
       
      +
      getSessionForMediaPeriodId(Timeline, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      getSessionForMediaPeriodId(Timeline, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Returns the session identifier for the given media period id.
      +
      +
      getShowShuffleButton() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns whether the shuffle button is shown.
      +
      +
      getShowShuffleButton() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether the shuffle button is shown.
      +
      +
      getShowSubtitleButton() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether the subtitle button is shown.
      +
      +
      getShowTimeoutMs() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns the playback controls timeout.
      +
      +
      getShowTimeoutMs() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns the playback controls timeout.
      +
      +
      getShowVrButton() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns whether the VR button is shown.
      +
      +
      getShowVrButton() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether the VR button is shown.
      +
      +
      getShuffleMode() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      getShuffleModeEnabled() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getShuffleModeEnabled() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether shuffling of windows is enabled.
      +
      +
      getShuffleModeEnabled() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getShuffleModeEnabled() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getSingletonInstance(Context) - Static method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Returns a singleton instance of a DefaultBandwidthMeter with default configuration.
      +
      +
      getSinkFormatSupport(Format) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Returns the level of support that the renderer's AudioSink provides for a given Format.
      +
      +
      getSize() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Returns the number of media sources in the playlist.
      +
      +
      getSize() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the size of the cue box in the writing direction specified as a fraction of the viewport + size in that direction.
      +
      +
      getSkipCount(long, boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the number of samples that need to be skipped to advance the read + position to the keyframe before or at the specified time.
      +
      +
      getSkippedFrames() - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      Returns the total number of frames of input audio that were skipped due to being classified as + silence since the last call to BaseAudioProcessor.flush().
      +
      +
      getSkippedOutputFrameCount() - Method in interface com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain
      +
      +
      Returns the number of output audio frames skipped since the audio processors were last + flushed.
      +
      +
      getSkippedOutputFrameCount() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain
      +
       
      +
      getSkipSilenceEnabled() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns whether silences are skipped in the audio stream.
      +
      +
      getSkipSilenceEnabled() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      getSkipSilenceEnabled() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      getSkipSilenceEnabled() - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Returns whether skipping silences in the audio stream is enabled.
      +
      +
      getSkipSilenceEnabled() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getSnapshot() - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Gets a snapshot of the request properties.
      +
      +
      getSourceException() - Method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Retrieves the underlying error when ExoPlaybackException.type is ExoPlaybackException.TYPE_SOURCE.
      +
      +
      getSpecificityScore(String, String, Set<String>, String) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
      +
      Returns a value in a score system compliant with the CSS Specificity rules.
      +
      +
      getStartTime(int) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet
      +
       
      +
      getStartTimeUs(int) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
      +
      Returns the start time of the specified chunk.
      +
      +
      getState() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getState() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      + +
      +
      getState() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      getState() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getState() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the current state of the renderer.
      +
      +
      getStatusCode() - Method in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyStatus
      +
      +
      Returns the status of the key, as defined by MediaDrm.KeyStatus.getStatusCode().
      +
      +
      getStream() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getStream() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getStream() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the SampleStream being consumed, or null if the renderer is disabled.
      +
      +
      getStreamFormats() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Returns the formats of the currently enabled stream.
      +
      +
      getStreamKeys(List<ExoTrackSelection>) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      getStreamKeys(List<ExoTrackSelection>) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns a list of StreamKeys which allow to filter the media in this period + to load only the parts needed to play the provided TrackSelections.
      +
      +
      getStreamMetadata() - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
      +
      Returns the FlacStreamMetadata decoded from the initialization data.
      +
      +
      getStreamTypeForAudioUsage(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the C.StreamType corresponding to the specified C.AudioUsage.
      +
      +
      getString(Context, String) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Returns a String read from an asset file.
      +
      +
      getStringForHttpMethod(int) - Static method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns an uppercase HTTP method name (e.g., "GET", "POST", "HEAD") corresponding to the given + DataSpec.HttpMethod.
      +
      +
      getStringForTime(StringBuilder, Formatter, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the specified millisecond time formatted as a string.
      +
      +
      getStyle() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
      +
      Returns the style or WebvttCssStyle.UNSPECIFIED when no style information is given.
      +
      +
      getSubFrame(int) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
      +
      Returns the sub-frame at index.
      +
      +
      getSubFrame(int) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
      +
      Returns the sub-frame at index.
      +
      +
      getSubFrameCount() - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
      +
      Returns the number of sub-frames.
      +
      +
      getSubFrameCount() - Method in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
      +
      Returns the number of sub-frames.
      +
      +
      getSubMesh(int) - Method in class com.google.android.exoplayer2.video.spherical.Projection.Mesh
      +
      +
      Returns the SubMesh for the given index.
      +
      +
      getSubMeshCount() - Method in class com.google.android.exoplayer2.video.spherical.Projection.Mesh
      +
      +
      Returns the number of sub meshes.
      +
      +
      getSubtitleView() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Gets the SubtitleView.
      +
      +
      getSubtitleView() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Gets the SubtitleView.
      +
      +
      getSupportedPrepareActions() - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
      +
      Returns the actions which are supported by the preparer.
      +
      +
      getSupportedQueueNavigatorActions(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      Returns the actions which are supported by the navigator.
      +
      +
      getSupportedQueueNavigatorActions(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      getSupportedRequirements(Requirements) - Method in class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler
      +
      +
      Deprecated.
      +
      getSupportedRequirements(Requirements) - Method in class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
      +
       
      +
      getSupportedRequirements(Requirements) - Method in class com.google.android.exoplayer2.scheduler.PlatformScheduler
      +
       
      +
      getSupportedRequirements(Requirements) - Method in interface com.google.android.exoplayer2.scheduler.Scheduler
      +
      +
      Checks whether this Scheduler supports the provided Requirements.
      +
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
       
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
       
      +
      getSupportedTypes() - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Returns the content types supported by media sources created by this + factory.
      +
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
       
      +
      getSupportedTypes() - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
       
      +
      getSurface() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      getSurfaceTexture() - Method in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      Returns the wrapped SurfaceTexture.
      +
      +
      getSystemLanguageCodes() - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a non-empty array of normalized IETF BCP 47 language tags for the system languages + ordered by preference.
      +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
      + +
      +
      getTag() - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
      + +
      +
      getTag() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      + +
      +
      getTarget() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns the target the message is sent to.
      +
      +
      getTargetLiveOffsetUs() - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
       
      +
      getTargetLiveOffsetUs() - Method in interface com.google.android.exoplayer2.LivePlaybackSpeedControl
      +
      +
      Returns the current target live offset, in microseconds, or C.TIME_UNSET if no target + live offset is defined for the current media.
      +
      +
      getTestResources() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
      + +
      +
      getText() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the cue text.
      +
      +
      getTextAlignment() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the alignment of the cue text within the cue box, or null if the alignment is undefined.
      +
      +
      getTextComponent() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getTextComponent() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the component of this player for text output, or null if text is not supported.
      +
      +
      getTextComponent() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getTextComponent() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getTextMediaMimeType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the first text MIME type derived from an RFC 6381 codecs string.
      +
      +
      getTextSize() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the default text size for this cue's text.
      +
      +
      getTextSizeType() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the default text size type for this cue's text.
      +
      +
      getThrowableString(Throwable) - Static method in class com.google.android.exoplayer2.util.Log
      +
      +
      Returns a string representation of a Throwable suitable for logging, taking into + account whether Log.setLogStackTraces(boolean) stack trace logging} is enabled.
      +
      +
      getTimeline() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns the timeline used for setting the position with PlayerMessage.setPosition(long).
      +
      +
      getTimeline() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
      +
      Returns the Timeline.
      +
      +
      getTimeline() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      getTimelineByChildIndex(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
      +
      Returns the child timeline for the child with the given index.
      +
      +
      getTimestampOffsetUs() - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Returns the offset between the input of TimestampAdjuster.adjustSampleTimestamp(long) and its output.
      +
      +
      getTimeUs(long) - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns the start time of a segment.
      +
      +
      getTimeUs(long) - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      getTimeUs(long) - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      getTimeUsAtPosition(long) - Method in class com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
      +
      +
      Returns the stream time in microseconds for a given position.
      +
      +
      getTotalBufferCount(DecoderCounters) - Static method in class com.google.android.exoplayer2.testutil.DecoderCountersUtil
      +
      +
      Returns the sum of the skipped, dropped and rendered buffers.
      +
      +
      getTotalBufferedDuration() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getTotalBufferedDuration() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns an estimate of the total buffered duration from the current position, in milliseconds.
      +
      +
      getTotalBufferedDuration() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getTotalBufferedDuration() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getTotalBytesAllocated() - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Returns the total number of bytes currently allocated.
      +
      +
      getTotalBytesAllocated() - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      getTotalElapsedTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time covered by any playback state, in milliseconds.
      +
      +
      getTotalJoinTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent joining the playback in foreground, in milliseconds.
      +
      +
      getTotalPausedTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent in a paused state, in milliseconds.
      +
      +
      getTotalPlayAndWaitTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent playing or actively waiting for playback, in milliseconds.
      +
      +
      getTotalPlayTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent actively playing, in milliseconds.
      +
      +
      getTotalRebufferTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent rebuffering, in milliseconds.
      +
      +
      getTotalSeekTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent from the start of a seek until playback is ready again, in + milliseconds.
      +
      +
      getTotalWaitTimeMs() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the total time spent actively waiting for playback, in milliseconds.
      +
      +
      getTrackGroup() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      getTrackGroup() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      getTrackGroup() - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the TrackGroup to which the selected tracks belong.
      +
      +
      getTrackGroups() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      getTrackGroups() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      getTrackGroups() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      getTrackGroups() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns the TrackGroups exposed by the period.
      +
      +
      getTrackGroups() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      getTrackGroups() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      getTrackGroups(int) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns the track groups for the given period.
      +
      +
      getTrackGroups(int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the TrackGroups mapped to the renderer at the specified index.
      +
      +
      getTrackId() - Method in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
      +
      +
      Returns the last generated track id.
      +
      +
      getTrackName(Format) - Method in class com.google.android.exoplayer2.ui.DefaultTrackNameProvider
      +
       
      +
      getTrackName(Format) - Method in interface com.google.android.exoplayer2.ui.TrackNameProvider
      +
      +
      Returns a user readable track name for the given Format.
      +
      +
      getTrackOutputProvider(BaseMediaChunkOutput) - Method in class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
      +
      Returns the ChunkExtractor.TrackOutputProvider to be used by the wrapped extractor.
      +
      +
      getTrackSelections(int, int) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Returns all track selections for a period and renderer.
      +
      +
      getTrackSelector() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Returns the track selector that this player uses, or null if track selection is not supported.
      +
      +
      getTrackSelector() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getTrackSelector() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getTrackSelector() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns the track selector used by the player.
      +
      +
      getTrackSupport(int, int, int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the extent to which an individual track is supported by the renderer.
      +
      +
      getTrackType() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      getTrackType() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      getTrackType() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns the track type that the renderer handles.
      +
      +
      getTrackType() - Method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Returns the track type that the Renderer handles.
      +
      +
      getTrackType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the C.TRACK_TYPE_* constant corresponding to a specified MIME type, or + C.TRACK_TYPE_UNKNOWN if it could not be determined.
      +
      +
      getTrackTypeOfCodec(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Equivalent to getTrackType(getMediaMimeType(codec)).
      +
      +
      getTrackTypeString(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a string representation of a TRACK_TYPE_* constant defined in C.
      +
      +
      getTransferListener() - Method in interface com.google.android.exoplayer2.upstream.BandwidthMeter
      +
      +
      Returns the TransferListener that this instance uses to gather bandwidth information + from data transfers.
      +
      +
      getTransferListener() - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      getTunnelingSupport(int) - Static method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      getType() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns the message type forwarded to PlayerMessage.Target.handleMessage(int, Object).
      +
      +
      getTypeForPcmEncoding(int) - Static method in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Returns the WAVE format type value for the given C.PcmEncoding.
      +
      +
      getTypeSupport(int) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns the extent to which tracks of a specified type are supported.
      +
      +
      getUid() - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns a non-negative unique identifier for the cache, or Cache.UID_UNSET if initialization + failed before the unique identifier was determined.
      +
      +
      getUid() - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getUidOfPeriod(int) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the unique id of the period identified by its index in the timeline.
      +
      +
      getUnexpectedException() - Method in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      Retrieves the underlying error when ExoPlaybackException.type is ExoPlaybackException.TYPE_UNEXPECTED.
      +
      +
      getUniforms(int) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Returns the GlUtil.Uniforms in the specified program.
      +
      +
      getUnmappedTrackGroups() - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      Returns TrackGroups not mapped to any renderer.
      +
      +
      getUpstreamFormat() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the upstream Format in which samples are being queued.
      +
      +
      getUpstreamPriorityTaskManager() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Returns the PriorityTaskManager that will bs used when requesting data from upstream, + or null if there is none.
      +
      +
      getUri() - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      + +
      +
      getUri() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource
      +
      +
      Returns the URI where the resource is available.
      +
      +
      getUri() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.AssetDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.ContentDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      getUri() - Method in interface com.google.android.exoplayer2.upstream.DataSource
      +
      +
      When the source is open, returns the Uri from which data is being read.
      +
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.FileDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Returns the Uri from which data was read.
      +
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      getUri() - Method in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      getUri(int) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet
      +
       
      +
      getUseArtwork() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns whether artwork is displayed if present in the media.
      +
      +
      getUseArtwork() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns whether artwork is displayed if present in the media.
      +
      +
      getUseController() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns whether the playback controls can be shown.
      +
      +
      getUseController() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns whether the playback controls can be shown.
      +
      +
      getUseLazyPreparation() - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Returns whether the player will use lazy preparation.
      +
      +
      getUserAgent(Context, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a user agent string based on the given application name and the library version.
      +
      +
      getUtf8Bytes(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a new byte array containing the code points of a String encoded using UTF-8.
      +
      +
      getVersion() - Static method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
      +
      +
      Returns the version of the underlying library if available, or null otherwise.
      +
      +
      getVersion() - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
      +
      Returns the version of the underlying library if available, or null otherwise.
      +
      +
      getVersion() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Returns the version of the underlying library if available, or null otherwise.
      +
      +
      getVersion(SQLiteDatabase, int, String) - Static method in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Returns the version of a specified instance of a feature, or VersionTable.VERSION_UNSET if no + version is set.
      +
      +
      getVertexCount() - Method in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      Returns the SubMesh vertex count.
      +
      +
      getVerticalType() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the vertical formatting for this Cue.
      +
      +
      getVideoComponent() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      getVideoComponent() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns the component of this player for video output, or null if video is not supported.
      +
      +
      getVideoComponent() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getVideoComponent() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      getVideoDecoderCounters() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Returns DecoderCounters for video, or null if no video is being played.
      +
      +
      getVideoDecoderOutputBufferRenderer() - Method in class com.google.android.exoplayer2.video.VideoDecoderGLSurfaceView
      +
      +
      Returns the VideoDecoderOutputBufferRenderer that will render frames in this view.
      +
      +
      getVideoFormat() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Returns the video format currently being played, or null if no video is being played.
      +
      +
      getVideoMediaMimeType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns the first video MIME type derived from an RFC 6381 codecs string.
      +
      +
      getVideoScalingMode() - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Returns the C.VideoScalingMode.
      +
      +
      getVideoScalingMode() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getVideoString() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Returns a string containing video debugging information.
      +
      +
      getVideoSurfaceView() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Gets the view onto which video is rendered.
      +
      +
      getVideoSurfaceView() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Gets the view onto which video is rendered.
      +
      +
      getVolume() - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Returns the audio volume, with 0 being silence and 1 being unity gain.
      +
      +
      getVolume() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      getWaitTimeRatio() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the ratio of wait times to the total time spent playing and waiting, or 0.0 if + no time was spend playing or waiting.
      +
      +
      getWindow(int, Timeline.Window) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Populates a Timeline.Window with data for the window at the specified index.
      +
      +
      getWindow(int, Timeline.Window, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Deprecated. +
      Use Timeline.getWindow(int, Window) instead. Tags will always be set.
      +
      +
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.AbstractConcatenatedTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource.InitialTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.testutil.NoUidTimeline
      +
       
      +
      getWindow(int, Timeline.Window, long) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Populates a Timeline.Window with data for the window at the specified index.
      +
      +
      getWindowColor() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Gets the fill color of the window.
      +
      +
      getWindowCount() - Method in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      getWindowCount() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
       
      +
      getWindowCount() - Method in class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
       
      +
      getWindowCount() - Method in class com.google.android.exoplayer2.testutil.FakeTimeline
      +
       
      +
      getWindowCount() - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns the number of windows in the timeline.
      +
      +
      getWindowIndex() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns window index at which the message will be delivered.
      +
      +
      getWindowIndexForChildWindowIndex(ConcatenatingMediaSource.MediaSourceHolder, int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      getWindowIndexForChildWindowIndex(T, int) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Returns the window index in the composite source corresponding to the specified window index in + a child source.
      +
      +
      getWrappedMetadataBytes() - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      getWrappedMetadataBytes() - Method in interface com.google.android.exoplayer2.metadata.Metadata.Entry
      +
      +
      Returns the bytes of the wrapped metadata in this Entry, or null if it doesn't contain + wrapped metadata.
      +
      +
      getWrappedMetadataFormat() - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      getWrappedMetadataFormat() - Method in interface com.google.android.exoplayer2.metadata.Metadata.Entry
      +
      +
      Returns the Format that can be used to decode the wrapped metadata in Metadata.Entry.getWrappedMetadataBytes(), or null if this Entry doesn't contain wrapped metadata.
      +
      +
      getWritableDatabase() - Method in interface com.google.android.exoplayer2.database.DatabaseProvider
      +
      +
      Creates and/or opens a database that will be used for reading and writing.
      +
      +
      getWritableDatabase() - Method in class com.google.android.exoplayer2.database.DefaultDatabaseProvider
      +
       
      +
      getWriteIndex() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns the current absolute write index.
      +
      +
      getWriteIndices() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkOutput
      +
      +
      Returns the current absolute write indices of the individual sample queues.
      +
      +
      GL_ASSERTIONS_ENABLED - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Whether an exception should be thrown in case of an OpenGl error.
      +
      +
      GlUtil - Class in com.google.android.exoplayer2.util
      +
      +
      GL utilities.
      +
      +
      GlUtil.Attribute - Class in com.google.android.exoplayer2.util
      +
      +
      GL attribute, which can be attached to a buffer with GlUtil.Attribute.setBuffer(float[], int).
      +
      +
      GlUtil.Uniform - Class in com.google.android.exoplayer2.util
      +
      +
      GL uniform, which can be attached to a sampler using GlUtil.Uniform.setSamplerTexId(int, int).
      +
      +
      group - Variable in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
      +
      The selected TrackGroup.
      +
      +
      group - Variable in class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
      +
      The TrackGroup which tracks belong to.
      +
      +
      GROUP_INDEX_AUDIO - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
       
      +
      GROUP_INDEX_SUBTITLE - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
       
      +
      GROUP_INDEX_VARIANT - Static variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
       
      +
      groupId - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
      +
      The GROUP-ID value of this track, if the track is derived from an EXT-X-MEDIA tag.
      +
      +
      groupId - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
      +
      +
      The group to which this rendition belongs.
      +
      +
      groupIndex - Variable in class com.google.android.exoplayer2.offline.StreamKey
      +
      +
      The group index.
      +
      +
      groupIndex - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      GvrAudioProcessor - Class in com.google.android.exoplayer2.ext.gvr
      +
      +
      Deprecated. +
      If you still need this component, please contact us by filing an issue on our issue tracker.
      +
      +
      +
      GvrAudioProcessor() - Constructor for class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      Creates a new GVR audio processor.
      +
      +
      gzip(byte[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Compresses input using gzip and returns the result in a newly allocated byte array.
      +
      +
      GZIP_SUPPORT_DISABLED - Static variable in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      The server doesn't support gzip.
      +
      +
      GZIP_SUPPORT_ENABLED - Static variable in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      The server supports gzip.
      +
      +
      GZIP_SUPPORT_FORCED - Static variable in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      The server supports gzip.
      +
      +
      gzipFlagDoesntAffectReturnedData() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
      +
      DataSpec.FLAG_ALLOW_GZIP should either be ignored by DataSource + implementations, or correctly handled (i.e.
      +
      +
      + + + +

      H

      +
      +
      H262Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous H262 byte stream and extracts individual frames.
      +
      +
      H262Reader() - Constructor for class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      H263Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses an ISO/IEC 14496-2 (MPEG-4 Part 2) or ITU-T Recommendation H.263 byte stream and extracts + individual frames.
      +
      +
      H263Reader() - Constructor for class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
      +
      Creates a new reader.
      +
      +
      H264Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous H264 byte stream and extracts individual frames.
      +
      +
      H264Reader(SeiReader, boolean, boolean) - Constructor for class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      H265Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous H.265 byte stream and extracts individual frames.
      +
      +
      H265Reader(SeiReader) - Constructor for class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      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
      +
       
      +
      handleBuffer(ByteBuffer) - Method in interface com.google.android.exoplayer2.audio.TeeAudioProcessor.AudioBufferSink
      +
      +
      Called when data is written to the audio processor.
      +
      +
      handleBuffer(ByteBuffer) - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor.WavFileAudioBufferSink
      +
       
      +
      handleBuffer(ByteBuffer, long, int) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Attempts to process data from a ByteBuffer, starting from its current position and + ending at its limit (exclusive).
      +
      +
      handleBuffer(ByteBuffer, long, int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      handleBuffer(ByteBuffer, long, int) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      handleBuffer(ByteBuffer, long, int) - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      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.
      +
      +
      handleDiscontinuity() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      handleDiscontinuity() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      handleDiscontinuity() - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      handleInputBufferSupplementalData(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Handles supplemental data associated with an input buffer.
      +
      +
      handleInputBufferSupplementalData(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      handleMessage(int, Object) - Method in interface com.google.android.exoplayer2.PlayerMessage.Target
      +
      +
      Handles a message delivered to the target.
      +
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      handleMessage(int, Object) - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      handleMessage(Message) - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      handleMessage(Message) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
      +
       
      +
      handleMessage(Message) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      handleMessage(SimpleExoPlayer, int, Object) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget
      +
      +
      Handles the message send to the component and additionally provides access to the player.
      +
      +
      handlePendingSeek(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
      +
      Continues to handle the pending seek operation.
      +
      +
      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
      +
      +
      Notifies the ads loader that preparation of an ad media period is complete.
      +
      +
      handlePrepareError(AdsMediaSource, int, int, IOException) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      handlePrepareError(AdsMediaSource, int, int, IOException) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Notifies the ads loader that the player was not able to prepare media for a given ad.
      +
      +
      HandlerWrapper - Interface in com.google.android.exoplayer2.util
      +
      +
      An interface to call through to a Handler.
      +
      +
      hardwareAccelerated - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the codec is hardware accelerated.
      +
      +
      hasAbsoluteSizeSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a AbsoluteSizeSpan from start to end.
      +
      +
      hasAlignmentSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a AlignmentSpan from start to end.
      +
      +
      hasBackgroundColor() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      hasBackgroundColorSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a BackgroundColorSpan from start to end.
      +
      +
      hasBoldItalicSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has bold and italic styling from start to end.
      +
      +
      hasBoldSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a bold span from start to end.
      +
      +
      hasCaptions(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.CaptionCallback
      +
      +
      Returns whether the media currently being played has captions.
      +
      +
      hasData() - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      Returns whether DrmInitData.SchemeData.data is non-null.
      +
      +
      hasDiscontinuitySequence - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Whether the playlist contains the #EXT-X-DISCONTINUITY-SEQUENCE tag.
      +
      +
      hasEndTag - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Whether the playlist contains the #EXT-X-ENDLIST tag.
      +
      +
      hasFatalError() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      + +
      +
      hasFontColor() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      hasForegroundColorSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a ForegroundColorSpan from start to end.
      +
      +
      hasGaplessInfo() - Method in class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      + +
      +
      hasGapTag - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      Whether the segment is marked as a gap.
      +
      +
      hashCode() - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndException
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndFormat
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.device.DeviceInfo
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.extractor.SeekPoint
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.extractor.TrackOutput.CryptoData
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.AdsConfiguration
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.MediaMetadata
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.PlaybackParameters
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.RendererConfiguration
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.SeekParameters
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.MediaPeriodId
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.testutil.DumpableFormat
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.Timeline
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.Timeline.Period
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.upstream.cache.DefaultContentMetadata
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
       
      +
      hashCode() - Method in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      hasHorizontalTextInVerticalContextSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has an HorizontalTextInVerticalContextSpan from start + to end.
      +
      +
      hasIndependentSegments - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist
      +
      +
      Whether the media is formed of independent segments, as defined by the + #EXT-X-INDEPENDENT-SEGMENTS tag.
      +
      +
      hasItalicSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has an italic span from start to end.
      +
      +
      hasMessages(int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      hasNext() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      hasNext() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether a next window exists, which may depend on the current repeat mode and whether + shuffle mode is enabled.
      +
      +
      hasNoAbsoluteSizeSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no AbsoluteSizeSpans on any of the text between + start and end.
      +
      +
      hasNoAlignmentSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no AlignmentSpans on any of the text between start + and end.
      +
      +
      hasNoBackgroundColorSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no BackgroundColorSpans on any of the text between + start and end.
      +
      +
      hasNoForegroundColorSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no ForegroundColorSpans on any of the text between + start and end.
      +
      +
      hasNoHorizontalTextInVerticalContextSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no HorizontalTextInVerticalContextSpans on any of the text + between start and end.
      +
      +
      hasNoRelativeSizeSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no RelativeSizeSpans on any of the text between + start and end.
      +
      +
      hasNoRubySpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no RubySpans on any of the text between start and + end.
      +
      +
      hasNoSpans() - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
       
      +
      hasNoStrikethroughSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no StrikethroughSpans on any of the text between + start and end.
      +
      +
      hasNoStyleSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no StyleSpans on any of the text between start and + end.
      +
      +
      hasNoTextEmphasisSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no TextEmphasisSpans on any of the text between + start and end.
      +
      +
      hasNoTypefaceSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no TypefaceSpans on any of the text between start + and end.
      +
      +
      hasNoUnderlineSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has no UnderlineSpans on any of the text between start + and end.
      +
      +
      hasPendingData() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns whether the sink has data pending that has not been consumed yet.
      +
      +
      hasPendingData() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      hasPendingData() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      hasPendingOutput() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Returns whether the current output buffer has any data remaining.
      +
      +
      hasPlayedAdGroup(int) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Returns whether the ad group at index adGroupIndex has been played.
      +
      +
      hasPrevious() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      hasPrevious() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether a previous window exists, which may depend on the current repeat mode and + whether shuffle mode is enabled.
      +
      +
      hasProgramDateTime - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Whether the playlist contains a #EXT-X-PROGRAM-DATE-TIME tag.
      +
      +
      hasReadStreamToEnd() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      hasReadStreamToEnd() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      hasReadStreamToEnd() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns whether the renderer has read the current SampleStream to the end.
      +
      +
      hasRelativeSizeSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a RelativeSizeSpan from start to end.
      +
      +
      hasRubySpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a RubySpan from start to end.
      +
      +
      hasSelectionOverride(int, TrackGroupArray) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Returns whether there is an override for the specified renderer and TrackGroupArray.
      +
      +
      hasStrikethroughSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has an StrikethroughSpan from start to end.
      +
      +
      hasSupplementalData() - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Returns whether the C.BUFFER_FLAG_HAS_SUPPLEMENTAL_DATA flag is set.
      +
      +
      hasTextEmphasisSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has an TextEmphasisSpan from start to end.
      +
      +
      hasTypefaceSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has a TypefaceSpan from start to end.
      +
      +
      hasUnderlineSpanBetween(int, int) - Method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
      +
      Checks that the subject has an UnderlineSpan from start to end.
      +
      +
      hasUnplayedAds() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns whether the ad group has at least one ad that still needs to be played.
      +
      +
      hdrStaticInfo - Variable in class com.google.android.exoplayer2.video.ColorInfo
      +
      +
      HdrStaticInfo as defined in CTA-861.3, or null if none specified.
      +
      +
      Header() - Constructor for class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
       
      +
      HEADER_SIZE_FOR_PARSER - Static variable in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      The header size for AC-4 parser.
      +
      +
      headerFields - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      +
      An unmodifiable map of the response header fields and values.
      +
      +
      height - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The height of the video in pixels, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      height - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The height of the picture in pixels.
      +
      +
      height - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      height - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      height - Variable in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer.CodecMaxValues
      +
       
      +
      height - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      HevcConfig - Class in com.google.android.exoplayer2.video
      +
      +
      HEVC configuration data.
      +
      +
      hide() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Hides the controller.
      +
      +
      hide() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Hides the controller.
      +
      +
      hideController() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Hides the playback controls.
      +
      +
      hideController() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Hides the playback controls.
      +
      +
      hideImmediately() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Hides the controller without any animation.
      +
      +
      hideScrubber(boolean) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Hides the scrubber handle.
      +
      +
      hideScrubber(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Hides the scrubber handle with animation.
      +
      +
      HlsDataSourceFactory - Interface in com.google.android.exoplayer2.source.hls
      +
      +
      Creates DataSources for HLS playlists, encryption and media chunks.
      +
      +
      HlsDownloader - Class in com.google.android.exoplayer2.source.hls.offline
      +
      +
      A downloader for HLS streams.
      +
      +
      HlsDownloader(Uri, List<StreamKey>, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
      + +
      +
      HlsDownloader(Uri, List<StreamKey>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
      + +
      +
      HlsDownloader(MediaItem, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
      +
      Creates a new instance.
      +
      +
      HlsDownloader(MediaItem, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
      +
      Creates a new instance.
      +
      +
      HlsDownloader(MediaItem, ParsingLoadable.Parser<HlsPlaylist>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.hls.offline.HlsDownloader
      +
      +
      Creates a new instance.
      +
      +
      HlsExtractorFactory - Interface in com.google.android.exoplayer2.source.hls
      +
      +
      Factory for HLS media chunk extractors.
      +
      +
      HlsManifest - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Holds a master playlist along with a snapshot of one of its media playlists.
      +
      +
      HlsMasterPlaylist - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Represents an HLS master playlist.
      +
      +
      HlsMasterPlaylist(String, List<String>, List<HlsMasterPlaylist.Variant>, List<HlsMasterPlaylist.Rendition>, List<HlsMasterPlaylist.Rendition>, List<HlsMasterPlaylist.Rendition>, List<HlsMasterPlaylist.Rendition>, Format, List<Format>, boolean, Map<String, String>, List<DrmInitData>) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
       
      +
      HlsMasterPlaylist.Rendition - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      A rendition (i.e.
      +
      +
      HlsMasterPlaylist.Variant - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      A variant (i.e.
      +
      +
      HlsMediaChunkExtractor - Interface in com.google.android.exoplayer2.source.hls
      +
      +
      Extracts samples and track Formats from HlsMediaChunks.
      +
      +
      HlsMediaPeriod - Class in com.google.android.exoplayer2.source.hls
      +
      +
      A MediaPeriod that loads an HLS stream.
      +
      +
      HlsMediaPeriod(HlsExtractorFactory, HlsPlaylistTracker, HlsDataSourceFactory, TransferListener, DrmSessionManager, DrmSessionEventListener.EventDispatcher, LoadErrorHandlingPolicy, MediaSourceEventListener.EventDispatcher, Allocator, CompositeSequenceableLoaderFactory, boolean, int, boolean) - Constructor for class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
      +
      Creates an HLS media period.
      +
      +
      HlsMediaPlaylist - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Represents an HLS media playlist.
      +
      +
      HlsMediaPlaylist(int, String, List<String>, long, long, boolean, int, long, int, long, long, boolean, boolean, boolean, DrmInitData, List<HlsMediaPlaylist.Segment>, List<HlsMediaPlaylist.Part>, HlsMediaPlaylist.ServerControl, Map<Uri, HlsMediaPlaylist.RenditionReport>) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
       
      +
      HlsMediaPlaylist.Part - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      A media part.
      +
      +
      HlsMediaPlaylist.PlaylistType - Annotation Type in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Type of the playlist, as defined by #EXT-X-PLAYLIST-TYPE.
      +
      +
      HlsMediaPlaylist.RenditionReport - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      A rendition report for an alternative rendition defined in another media playlist.
      +
      +
      HlsMediaPlaylist.Segment - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Media segment reference.
      +
      +
      HlsMediaPlaylist.SegmentBase - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      The base for a HlsMediaPlaylist.Segment or a HlsMediaPlaylist.Part required for playback.
      +
      +
      HlsMediaPlaylist.ServerControl - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Server control attributes.
      +
      +
      HlsMediaSource - Class in com.google.android.exoplayer2.source.hls
      +
      +
      An HLS MediaSource.
      +
      +
      HlsMediaSource.Factory - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Factory for HlsMediaSources.
      +
      +
      HlsMediaSource.MetadataType - Annotation Type in com.google.android.exoplayer2.source.hls
      +
      +
      The types of metadata that can be extracted from HLS streams.
      +
      +
      HlsPlaylist - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Represents an HLS playlist.
      +
      +
      HlsPlaylist(String, List<String>, boolean) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist
      +
       
      +
      HlsPlaylistParser - Class in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      HLS playlists parsing logic.
      +
      +
      HlsPlaylistParser() - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser
      +
      +
      Creates an instance where media playlists are parsed without inheriting attributes from a + master playlist.
      +
      +
      HlsPlaylistParser(HlsMasterPlaylist, HlsMediaPlaylist) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser
      +
      +
      Creates an instance where parsed media playlists inherit attributes from the given master + playlist.
      +
      +
      HlsPlaylistParser.DeltaUpdateException - Exception in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Exception thrown when merging a delta update fails.
      +
      +
      HlsPlaylistParserFactory - Interface in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Factory for HlsPlaylist parsers.
      +
      +
      HlsPlaylistTracker - Interface in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Tracks playlists associated to an HLS stream and provides snapshots.
      +
      +
      HlsPlaylistTracker.Factory - Interface in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Factory for HlsPlaylistTracker instances.
      +
      +
      HlsPlaylistTracker.PlaylistEventListener - Interface in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Called on playlist loading events.
      +
      +
      HlsPlaylistTracker.PlaylistResetException - Exception in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Thrown when the media sequence of a new snapshot indicates the server has reset.
      +
      +
      HlsPlaylistTracker.PlaylistStuckException - Exception in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Thrown when a playlist is considered to be stuck due to a server side error.
      +
      +
      HlsPlaylistTracker.PrimaryPlaylistListener - Interface in com.google.android.exoplayer2.source.hls.playlist
      +
      +
      Listener for primary playlist changes.
      +
      +
      HlsTrackMetadataEntry - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Holds metadata associated to an HLS media track.
      +
      +
      HlsTrackMetadataEntry(String, String, List<HlsTrackMetadataEntry.VariantInfo>) - Constructor for class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
      +
      Creates an instance.
      +
      +
      HlsTrackMetadataEntry.VariantInfo - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Holds attributes defined in an EXT-X-STREAM-INF tag.
      +
      +
      holdBackUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      The server-recommended live offset in microseconds, or C.TIME_UNSET if none defined.
      +
      +
      HorizontalTextInVerticalContextSpan - Class in com.google.android.exoplayer2.text.span
      +
      +
      A styling span for horizontal text in a vertical context.
      +
      +
      HorizontalTextInVerticalContextSpan() - Constructor for class com.google.android.exoplayer2.text.span.HorizontalTextInVerticalContextSpan
      +
       
      +
      HostActivity - Class in com.google.android.exoplayer2.testutil
      +
      +
      A host activity for performing playback tests.
      +
      +
      HostActivity() - Constructor for class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      HostActivity.HostedTest - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Interface for tests that run inside of a HostActivity.
      +
      +
      HTTP_METHOD_GET - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      HTTP GET method.
      +
      +
      HTTP_METHOD_HEAD - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      HTTP HEAD method.
      +
      +
      HTTP_METHOD_POST - Static variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      HTTP POST method.
      +
      +
      httpBody - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      The HTTP request body, null otherwise.
      +
      +
      HttpDataSource - Interface in com.google.android.exoplayer2.upstream
      +
      +
      An HTTP DataSource.
      +
      +
      HttpDataSource.BaseFactory - Class in com.google.android.exoplayer2.upstream
      +
      +
      Base implementation of HttpDataSource.Factory that sets default request properties.
      +
      +
      HttpDataSource.CleartextNotPermittedException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when cleartext HTTP traffic is not permitted.
      +
      +
      HttpDataSource.Factory - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A factory for HttpDataSource instances.
      +
      +
      HttpDataSource.HttpDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an error is encountered when trying to read from a HttpDataSource.
      +
      +
      HttpDataSource.HttpDataSourceException.Type - Annotation Type in com.google.android.exoplayer2.upstream
      +
       
      +
      HttpDataSource.InvalidContentTypeException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when the content type is invalid.
      +
      +
      HttpDataSource.InvalidResponseCodeException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an attempt to open a connection results in a response code not in the 2xx range.
      +
      +
      HttpDataSource.RequestProperties - Class in com.google.android.exoplayer2.upstream
      +
      +
      Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers + in a thread safe way to avoid the potential of creating snapshots of an inconsistent or + unintended state.
      +
      +
      HttpDataSourceException(DataSpec, int) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      HttpDataSourceException(IOException, DataSpec, int) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      HttpDataSourceException(String, DataSpec, int) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      HttpDataSourceException(String, IOException, DataSpec, int) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      HttpDataSourceTestEnv - Class in com.google.android.exoplayer2.testutil
      +
      +
      A JUnit Rule that creates test resources for HttpDataSource contract tests.
      +
      +
      HttpDataSourceTestEnv() - Constructor for class com.google.android.exoplayer2.testutil.HttpDataSourceTestEnv
      +
       
      +
      HttpMediaDrmCallback - Class in com.google.android.exoplayer2.drm
      +
      +
      A MediaDrmCallback that makes requests using HttpDataSource instances.
      +
      +
      HttpMediaDrmCallback(String, boolean, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
       
      +
      HttpMediaDrmCallback(String, HttpDataSource.Factory) - Constructor for class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
       
      +
      httpMethod - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      The HTTP method to use when requesting the data.
      +
      +
      httpRequestHeaders - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Additional HTTP headers to use when requesting the data.
      +
      +
      + + + +

      I

      +
      +
      i(String, String) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      i(String, String, Throwable) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      IcyDecoder - Class in com.google.android.exoplayer2.metadata.icy
      +
      +
      Decodes ICY stream information.
      +
      +
      IcyDecoder() - Constructor for class com.google.android.exoplayer2.metadata.icy.IcyDecoder
      +
       
      +
      IcyHeaders - Class in com.google.android.exoplayer2.metadata.icy
      +
      +
      ICY headers.
      +
      +
      IcyHeaders(int, String, String, String, boolean, int) - Constructor for class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      IcyInfo - Class in com.google.android.exoplayer2.metadata.icy
      +
      +
      ICY in-stream information.
      +
      +
      IcyInfo(byte[], String, String) - Constructor for class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
      +
      Construct a new IcyInfo from the source metadata, and optionally a StreamTitle and StreamUrl + that have been extracted.
      +
      +
      id - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      The track identifier.
      +
      +
      id - Variable in class com.google.android.exoplayer2.Format
      +
      +
      An identifier for the format, or null if unknown or not applicable.
      +
      +
      id - Variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      The instance identifier.
      +
      +
      id - Variable in class com.google.android.exoplayer2.metadata.id3.Id3Frame
      +
      +
      The frame ID.
      +
      +
      id - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      The unique content id.
      +
      +
      id - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      A non-negative identifier for the adaptation set that's unique in the scope of its containing + period, or AdaptationSet.ID_UNSET if not specified.
      +
      +
      id - Variable in class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
      +
      The identifier, or null.
      +
      +
      id - Variable in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      The period identifier, if one exists.
      +
      +
      id - Variable in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      The MediaSource.MediaPeriodId used to create the masking media period.
      +
      +
      id - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      id - Variable in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      An identifier for the period.
      +
      +
      id() - Method in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      A constructed id of this EventStream.
      +
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      ID - Static variable in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      ID_UNSET - Static variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      Value of AdaptationSet.id indicating no value is set.=
      +
      +
      ID3_HEADER_LENGTH - Static variable in class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
      +
      Length of an ID3 tag header.
      +
      +
      ID3_SCHEME_ID_AOM - Static variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      emsg scheme_id_uri from the CMAF + spec.
      +
      +
      ID3_TAG - Static variable in class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
      +
      The first three bytes of a well formed ID3 tag header.
      +
      +
      Id3Decoder - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Decodes ID3 tags.
      +
      +
      Id3Decoder() - Constructor for class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
       
      +
      Id3Decoder(Id3Decoder.FramePredicate) - Constructor for class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
       
      +
      Id3Decoder.FramePredicate - Interface in com.google.android.exoplayer2.metadata.id3
      +
      +
      A predicate for determining whether individual frames should be decoded.
      +
      +
      Id3Frame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Base class for ID3 frames.
      +
      +
      Id3Frame(String) - Constructor for class com.google.android.exoplayer2.metadata.id3.Id3Frame
      +
       
      +
      Id3Peeker - Class in com.google.android.exoplayer2.extractor
      +
      +
      Peeks data from the beginning of an ExtractorInput to determine if there is any ID3 tag.
      +
      +
      Id3Peeker() - Constructor for class com.google.android.exoplayer2.extractor.Id3Peeker
      +
       
      +
      Id3Reader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses ID3 data and extracts individual text information frames.
      +
      +
      Id3Reader() - Constructor for class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      identifier - Variable in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
      +
      +
      The identifier as defined in SCTE35, Section 9.3.6.
      +
      +
      IllegalClippingException(int) - Constructor for exception com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
      +
       
      +
      IllegalMergeException(int) - Constructor for exception com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException
      +
       
      +
      IllegalSeekPositionException - Exception in com.google.android.exoplayer2
      +
      +
      Thrown when an attempt is made to seek to a position that does not exist in the player's + Timeline.
      +
      +
      IllegalSeekPositionException(Timeline, int, long) - Constructor for exception com.google.android.exoplayer2.IllegalSeekPositionException
      +
       
      +
      iLog(int) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      Returns ilog(x), which is the index of the highest set bit in x.
      +
      +
      ImaAdsLoader - Class in com.google.android.exoplayer2.ext.ima
      +
      +
      AdsLoader using the IMA SDK.
      +
      +
      ImaAdsLoader.Builder - Class in com.google.android.exoplayer2.ext.ima
      +
      +
      Builder for ImaAdsLoader.
      +
      +
      IMAGE_JPEG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      IMPORTANCE_DEFAULT - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      IMPORTANCE_HIGH - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      IMPORTANCE_LOW - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      IMPORTANCE_MIN - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      IMPORTANCE_NONE - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      IMPORTANCE_UNSPECIFIED - Static variable in class com.google.android.exoplayer2.util.NotificationUtil
      +
       
      +
      inbandEventStreams - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      inbandEventStreams - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      The in-band event streams in the representation.
      +
      +
      increaseClearDataFirstSubSampleBy(int) - Method in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      Increases the number of clear data for the first sub sample by count.
      +
      +
      increaseDeviceVolume() - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Increases the volume of the device.
      +
      +
      increaseDeviceVolume() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      index - Variable in class com.google.android.exoplayer2.testutil.DumpableFormat
      +
       
      +
      INDEX_UNBOUNDED - Static variable in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
       
      +
      INDEX_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset or unknown index.
      +
      +
      indexOf(int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      indexOf(int) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      indexOf(int) - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the index in the selection of the track with the specified index in the track group.
      +
      +
      indexOf(Format) - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
      +
      Returns the index of the track with the given format in the group.
      +
      +
      indexOf(Format) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      indexOf(Format) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      indexOf(Format) - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the index in the selection of the track with the specified format.
      +
      +
      indexOf(TrackGroup) - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
      +
      Returns the index of a group within the array.
      +
      +
      IndexSeekMap - Class in com.google.android.exoplayer2.extractor
      +
      +
      A SeekMap implementation based on a mapping between times and positions in the input + stream.
      +
      +
      IndexSeekMap(long[], long[], long) - Constructor for class com.google.android.exoplayer2.extractor.IndexSeekMap
      +
      +
      Creates an instance.
      +
      +
      inferContentType(Uri) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Makes a best guess to infer the C.ContentType from a Uri.
      +
      +
      inferContentType(Uri, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Makes a best guess to infer the C.ContentType from a Uri.
      +
      +
      inferContentType(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Makes a best guess to infer the C.ContentType from a file name.
      +
      +
      inferContentTypeForUriAndMimeType(Uri, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Makes a best guess to infer the C.ContentType from a Uri and optional MIME type.
      +
      +
      inferFileTypeFromMimeType(String) - Static method in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      Returns the FileTypes.Type corresponding to the MIME type provided.
      +
      +
      inferFileTypeFromResponseHeaders(Map<String, List<String>>) - Static method in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      Returns the FileTypes.Type corresponding to the response headers provided.
      +
      +
      inferFileTypeFromUri(Uri) - Static method in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      Returns the FileTypes.Type corresponding to the Uri provided.
      +
      +
      inflate(ParsableByteArray, ParsableByteArray, Inflater) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Uncompresses the data in input.
      +
      +
      info - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      An opaque object that will be returned to TrackSelector.onSelectionActivated(Object) + should the selections be activated.
      +
      +
      init(int) - Method in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      Initializes required EGL parameters and creates the SurfaceTexture.
      +
      +
      init(long, int) - Method in class com.google.android.exoplayer2.decoder.SimpleOutputBuffer
      +
      +
      Initializes the buffer.
      +
      +
      init(long, int, ByteBuffer) - Method in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Initializes the buffer.
      +
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      init(ExtractorOutput) - Method in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Initializes the extractor with an ExtractorOutput.
      +
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      init(ExtractorOutput) - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Initializes the extractor with an ExtractorOutput.
      +
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      init(ExtractorOutput) - Method in class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      init(BaseMediaChunkOutput) - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunk
      +
      +
      Initializes the chunk for loading, setting the BaseMediaChunkOutput that will receive + samples as they are loaded.
      +
      +
      init(ChunkExtractor.TrackOutputProvider) - Method in class com.google.android.exoplayer2.source.chunk.InitializationChunk
      +
      +
      Initializes the chunk for loading, setting a ChunkExtractor.TrackOutputProvider for track outputs to + which formats will be written as they are loaded.
      +
      +
      init(ChunkExtractor.TrackOutputProvider, long, long) - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      init(ChunkExtractor.TrackOutputProvider, long, long) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor
      +
      +
      Initializes the wrapper to output to TrackOutputs provided by the specified ChunkExtractor.TrackOutputProvider, and configures the extractor to receive data from a new chunk.
      +
      +
      init(ChunkExtractor.TrackOutputProvider, long, long) - Method in class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
       
      +
      init(MappingTrackSelector.MappedTrackInfo, int, boolean, List<DefaultTrackSelector.SelectionOverride>, Comparator<Format>, TrackSelectionView.TrackSelectionListener) - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Initialize the view to select tracks for a specified renderer using MappingTrackSelector.MappedTrackInfo and + a set of DefaultTrackSelector.Parameters.
      +
      +
      init(TrackSelector.InvalidationListener, BandwidthMeter) - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
      +
      +
      Called by the player to initialize the selector.
      +
      +
      init(TimestampAdjuster, ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.PassthroughSectionPayloadReader
      +
       
      +
      init(TimestampAdjuster, ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.PesReader
      +
       
      +
      init(TimestampAdjuster, ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in interface com.google.android.exoplayer2.extractor.ts.SectionPayloadReader
      +
      +
      Initializes the section payload reader.
      +
      +
      init(TimestampAdjuster, ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in class com.google.android.exoplayer2.extractor.ts.SectionReader
      +
       
      +
      init(TimestampAdjuster, ExtractorOutput, TsPayloadReader.TrackIdGenerator) - Method in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Initializes the payload reader.
      +
      +
      initForPrivateFrame(int, int) - Method in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Configures the buffer for the given frame dimensions when passing actual frame data via VideoDecoderOutputBuffer.decoderPrivate.
      +
      +
      initForYuvFrame(int, int, int, int, int) - Method in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Resizes the buffer based on the given stride.
      +
      +
      INITIAL_DRM_REQUEST_RETRY_COUNT - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Number of times to retry for initial provisioning and key request for reporting error.
      +
      +
      initialAudioFormatBitrateCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks with initial audio format bitrate data.
      +
      +
      InitializationChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A Chunk that uses an Extractor to decode initialization data for single track.
      +
      +
      InitializationChunk(DataSource, DataSpec, Format, int, Object, ChunkExtractor) - Constructor for class com.google.android.exoplayer2.source.chunk.InitializationChunk
      +
       
      +
      initializationData - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.DvbSubtitleInfo
      +
       
      +
      initializationData - Variable in class com.google.android.exoplayer2.Format
      +
      +
      Initialization data that must be provided to the decoder.
      +
      +
      initializationData - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      initializationData - Variable in class com.google.android.exoplayer2.video.HevcConfig
      +
      +
      List of buffers containing the codec-specific data to be provided to the decoder, or + null if not known.
      +
      +
      initializationDataEquals(Format) - Method in class com.google.android.exoplayer2.Format
      +
      +
      Returns whether the Format.initializationDatas belonging to this format and other are + equal.
      +
      +
      InitializationException(int, int, int, int, Format, boolean, Exception) - Constructor for exception com.google.android.exoplayer2.audio.AudioSink.InitializationException
      +
      +
      Creates a new instance.
      +
      +
      initializationSegment - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The media initialization section for this segment, as defined by #EXT-X-MAP.
      +
      +
      initialize(Loader, SntpClient.InitializationCallback) - Static method in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      Starts loading the device time offset.
      +
      +
      initialSeek(int, long) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Seeks before setting the media sources and preparing the player.
      +
      +
      InitialTimeline(Timeline) - Constructor for class com.google.android.exoplayer2.testutil.FakeMediaSource.InitialTimeline
      +
       
      +
      initialVideoFormatBitrateCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks with initial video format bitrate data.
      +
      +
      initialVideoFormatHeightCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks with initial video format height data.
      +
      +
      inputAudioFormat - Variable in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      The current input audio format.
      +
      +
      inputBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of queued input buffers.
      +
      +
      inputFormatChanged(Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      inputFormatChanged(Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      InputReaderAdapterV30 - Class in com.google.android.exoplayer2.source.mediaparser
      +
      +
      MediaParser.SeekableInputReader implementation wrapping a DataReader.
      +
      +
      InputReaderAdapterV30() - Constructor for class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
       
      +
      inputSize - Variable in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer.CodecMaxValues
      +
       
      +
      INSTANCE - Static variable in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      InsufficientCapacityException(int, int) - Constructor for exception com.google.android.exoplayer2.decoder.DecoderInputBuffer.InsufficientCapacityException
      +
      +
      Creates an instance.
      +
      +
      IntArrayQueue - Class in com.google.android.exoplayer2.util
      +
      +
      Array-based unbounded queue for int primitives with amortized O(1) add and remove.
      +
      +
      IntArrayQueue() - Constructor for class com.google.android.exoplayer2.util.IntArrayQueue
      +
       
      +
      integerElement(int, long) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when an integer element is encountered.
      +
      +
      integerElement(int, long) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when an integer element is encountered.
      +
      +
      InternalFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Internal ID3 frame that is intended for use by the player.
      +
      +
      InternalFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      invalidate() - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
      +
      +
      Calls TrackSelector.InvalidationListener.onTrackSelectionsInvalidated() to invalidate all previously + generated track selections.
      +
      +
      invalidate() - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Forces an update of the notification if already started.
      +
      +
      invalidateForegroundNotification() - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Invalidates the current foreground notification and causes DownloadService.getForegroundNotification(List) to be invoked again if the service isn't stopped.
      +
      +
      invalidateMediaSessionMetadata() - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Updates the metadata of the media session.
      +
      +
      invalidateMediaSessionPlaybackState() - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Updates the playback state of the media session.
      +
      +
      invalidateMediaSessionQueue() - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Updates the queue of the media session by calling MediaSessionConnector.QueueNavigator.onTimelineChanged(Player).
      +
      +
      invalidateUpstreamFormatAdjustment() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Invalidates the last upstream format adjustment.
      +
      +
      InvalidContentTypeException(String, DataSpec) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidContentTypeException
      +
       
      +
      InvalidResponseCodeException(int, String, Map<String, List<String>>, DataSpec) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      + +
      +
      InvalidResponseCodeException(int, String, Map<String, List<String>>, DataSpec, byte[]) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
       
      +
      InvalidResponseCodeException(int, Map<String, List<String>>, DataSpec) - Constructor for exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      + +
      +
      invoke(T) - Method in interface com.google.android.exoplayer2.util.ListenerSet.Event
      +
      +
      Invokes the event notification on the given listener.
      +
      +
      invoke(T, E) - Method in interface com.google.android.exoplayer2.util.ListenerSet.IterationFinishedEvent
      +
      +
      Invokes the iteration finished event.
      +
      +
      isActionSegment() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      isActive() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Returns whether the processor is configured and will process input buffers.
      +
      +
      isActive() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      isActive() - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      isActive() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      isActive() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      isAd() - Method in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Returns whether this period identifier identifies an ad in an ad group in a period.
      +
      +
      isAdInErrorState(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns whether the specified ad has been marked as in AdPlaybackState.AD_STATE_ERROR.
      +
      +
      isAdtsSyncWord(int) - Static method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
      +
      Returns whether an integer matches an ADTS SYNC word.
      +
      +
      isAfterLast() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns whether the cursor is pointing to the position after the last download.
      +
      +
      isAnimationEnabled() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether an animation is used to show and hide the playback controls.
      +
      +
      isAudio(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns whether the given string is an audio MIME type.
      +
      +
      isAudioChannelCountSupportedV21(int) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports audio with a given channel count.
      +
      +
      isAudioSampleRateSupportedV21(int) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports audio with a given sample rate.
      +
      +
      isAvailable() - Static method in class com.google.android.exoplayer2.ext.av1.Gav1Library
      +
      +
      Returns whether the underlying library is available, loading it if necessary.
      +
      +
      isAvailable() - Static method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
      +
      +
      Returns whether the underlying library is available, loading it if necessary.
      +
      +
      isAvailable() - Static method in class com.google.android.exoplayer2.ext.flac.FlacLibrary
      +
      +
      Returns whether the underlying library is available, loading it if necessary.
      +
      +
      isAvailable() - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
      +
      Returns whether the underlying library is available, loading it if necessary.
      +
      +
      isAvailable() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Returns whether the underlying library is available, loading it if necessary.
      +
      +
      isAvailable() - Method in class com.google.android.exoplayer2.util.LibraryLoader
      +
      +
      Returns whether the underlying libraries are available, loading them if necessary.
      +
      +
      isBeforeFirst() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns whether the cursor is pointing to the position before the first download.
      +
      +
      isBlacklisted(int, long) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
      +
      Returns whether the track at the specified index in the selection is excluded.
      +
      +
      isCached - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      Whether the CacheSpan is cached.
      +
      +
      isCached(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returns whether the specified range of data in a resource is fully cached.
      +
      +
      isCached(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      isCacheFolderLocked(File) - Static method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Returns whether cacheFolder is locked by a SimpleCache instance.
      +
      +
      isCanceled() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Returns whether the message delivery has been canceled.
      +
      +
      isCancelled() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      isCastSessionAvailable() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Returns whether a cast session is available.
      +
      +
      isCausedByPositionOutOfRange(IOException) - Static method in exception com.google.android.exoplayer2.upstream.DataSourceException
      +
      +
      Returns whether the given IOException was caused by a DataSourceException whose + DataSourceException.reason is DataSourceException.POSITION_OUT_OF_RANGE in its cause stack.
      +
      +
      isChargingRequired() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether the device is required to be charging.
      +
      +
      isClosed() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns whether the cursor is closed
      +
      +
      isCodecSupported(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports the codec of the given format.
      +
      +
      isControllerFullyVisible() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Returns whether the controller is currently fully visible.
      +
      +
      isControllerVisible() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Returns whether the controller is currently visible.
      +
      +
      isCryptoSchemeSupported(UUID) - Static method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
      +
      Returns whether the DRM scheme with the given UUID is supported on this device.
      +
      +
      isCurrentStreamFinal() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      isCurrentStreamFinal() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      isCurrentStreamFinal() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Returns whether the current SampleStream will be the final one supplied before the + renderer is next disabled or reset.
      +
      +
      isCurrentWindowDynamic() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      isCurrentWindowDynamic() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether the current window is dynamic, or false if the Timeline is + empty.
      +
      +
      isCurrentWindowLive() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      isCurrentWindowLive() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether the current window is live, or false if the Timeline is empty.
      +
      +
      isCurrentWindowSeekable() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      isCurrentWindowSeekable() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether the current window is seekable, or false if the Timeline is + empty.
      +
      +
      isDecodeOnly() - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Returns whether the C.BUFFER_FLAG_DECODE_ONLY flag is set.
      +
      +
      isDeviceMuted() - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Gets whether the device is muted or not.
      +
      +
      isDeviceMuted() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      isDone() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      isDynamic - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      isDynamic - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Whether this window may change when the timeline is updated.
      +
      +
      isEmpty() - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
      +
      Returns whether this track group array is empty.
      +
      +
      isEmpty() - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns whether the timeline is empty.
      +
      +
      isEmpty() - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Returns whether the queue is empty.
      +
      +
      isEnabled - Variable in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      isEnabled() - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Returns whether the source is enabled.
      +
      +
      isEncodingHighResolutionPcm(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether encoding is high resolution (> 16-bit) PCM.
      +
      +
      isEncodingLinearPcm(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether encoding is one of the linear PCM encodings.
      +
      +
      isEncrypted - Variable in class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
      +
      Indicates the encryption state of the samples in the sample group.
      +
      +
      isEncrypted() - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Returns whether the C.BUFFER_FLAG_ENCRYPTED flag is set.
      +
      +
      isEnded - Variable in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      isEnded() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Returns whether this processor will return no more output from AudioProcessor.getOutput() until it + has been AudioProcessor.flush()ed and more input has been queued.
      +
      +
      isEnded() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns whether AudioSink.playToEndOfStream() has been called and all buffers have been processed.
      +
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      isEnded() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      isEnded() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Whether the renderer is ready for the ExoPlayer instance to transition to Player.STATE_ENDED.
      +
      +
      isEnded() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
       
      +
      isEnded() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Returns whether the iteration has reached the end of the available data.
      +
      +
      isEnded() - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      isEnded() - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      isEndOfInputExpected() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource
      +
      +
      Returns whether DataReader.read(byte[], int, int) is expected to return C.RESULT_END_OF_INPUT + after all the resource data are read.
      +
      +
      isEndOfStream() - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Returns whether the C.BUFFER_FLAG_END_OF_STREAM flag is set.
      +
      +
      isEndTag(XmlPullParser) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns whether the current event is an end tag.
      +
      +
      isEndTag(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns whether the current event is an end tag with the specified name.
      +
      +
      isEquivalent(TrackSelectorResult) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      Returns whether this result is equivalent to other for all renderers.
      +
      +
      isEquivalent(TrackSelectorResult, int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      Returns whether this result is equivalent to other for the renderer at the given index.
      +
      +
      isErrorSegment() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      isExplicit() - Method in interface com.google.android.exoplayer2.source.dash.DashSegmentIndex
      +
      +
      Returns true if segments are defined explicitly by the index.
      +
      +
      isExplicit() - Method in class com.google.android.exoplayer2.source.dash.DashWrappingSegmentIndex
      +
       
      +
      isExplicit() - Method in class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
       
      +
      isExplicit() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
      + +
      +
      isExplicit() - Method in class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentList
      +
       
      +
      isFastForwardEnabled() - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Returns true if fast forward is enabled, false otherwise.
      +
      +
      isFastForwardEnabled() - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      isFirst() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns whether the cursor is pointing to the first download.
      +
      +
      isFlagSet(int) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns whether the given flag is set.
      +
      +
      isFlagsOnly() - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Returns whether the buffer is only able to hold flags, meaning DecoderInputBuffer.data is null and + its replacement mode is DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED.
      +
      +
      isFormatSupported(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Returns whether the decoder may support decoding the given format.
      +
      +
      isFullyVisible() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether the controller is fully visible, which means all UI controls are visible.
      +
      +
      isHdr10PlusOutOfBandMetadataSupported() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the codec handles HDR10+ out-of-band metadata.
      +
      +
      isHighBitDepthSupported() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Returns true if the underlying libvpx library supports high bit depth.
      +
      +
      isHoleSpan() - Method in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      Returns whether this is a hole CacheSpan.
      +
      +
      isIdle() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns whether the manager is currently idle.
      +
      +
      isIdleRequired() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether the device is required to be idle.
      +
      +
      isIndependent - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Part
      +
      +
      Whether the part is independent.
      +
      +
      isInitialized() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns whether the manager has completed initialization.
      +
      +
      isInitialized() - Static method in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      Returns whether the device time offset has already been loaded.
      +
      +
      isKeyFrame() - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Returns whether the C.BUFFER_FLAG_KEY_FRAME flag is set.
      +
      +
      isLast() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Returns whether the cursor is pointing to the last download.
      +
      +
      isLastPeriod(int, Timeline.Period, Timeline.Window, int, boolean) - Method in class com.google.android.exoplayer2.Timeline
      +
      +
      Returns whether the given period is the last period of the timeline depending on the + repeatMode and whether shuffling is enabled.
      +
      +
      isLastSampleQueued() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns whether the last sample of the stream has knowingly been queued.
      +
      +
      isLevel1Element(int) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Checks if the given id is that of a level 1 element.
      +
      +
      isLevel1Element(int) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Checks if the given id is that of a level 1 element.
      +
      +
      isLinebreak(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether the given character is a carriage return ('\r') or a line feed ('\n').
      +
      +
      isLinethrough() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      isLive - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      Whether the manifest describes a live presentation still in progress.
      +
      +
      isLive - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      isLive - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Deprecated. + +
      +
      +
      isLive() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      isLive() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Returns whether the tracked playlists describe a live stream.
      +
      +
      isLive() - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Returns whether this is a live stream.
      +
      +
      isLoadCompleted() - Method in class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
       
      +
      isLoadCompleted() - Method in class com.google.android.exoplayer2.source.chunk.MediaChunk
      +
      +
      Returns whether the chunk has been fully loaded.
      +
      +
      isLoadCompleted() - Method in class com.google.android.exoplayer2.source.chunk.SingleSampleMediaChunk
      +
       
      +
      isLoadCompleted() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunk
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      isLoading() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Whether the player is currently loading the source.
      +
      +
      isLoading() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      isLoading() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Returns whether the media period is currently loading.
      +
      +
      isLoading() - Method in interface com.google.android.exoplayer2.source.SequenceableLoader
      +
      +
      Returns whether the loader is currently loading.
      +
      +
      isLoading() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      isLoading() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Returns whether the loader is currently loading.
      +
      +
      isLoadingFinished() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Returns whether data has been written to the sample queue until the end of stream signal.
      +
      +
      isLocalFileUri(Uri) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns true if the URI is a path to a local file or a reference to a local file.
      +
      +
      isMatroska(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns whether the given mimeType is a Matroska MIME type, including WebM.
      +
      +
      isNalUnitSei(String, byte) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Returns whether the NAL unit with the specified header contains supplemental enhancement + information.
      +
      +
      isNetwork - Variable in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      isNetworkRequired() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether network connectivity is required.
      +
      +
      isNewerThan(HlsMediaPlaylist) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Returns whether this playlist is newer than other.
      +
      +
      isNewSubtitleDataAvailable() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      isNewSubtitleDataAvailable() - Method in class com.google.android.exoplayer2.text.cea.Cea708Decoder
      +
       
      +
      ISO88591_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use StandardCharsets or Charsets instead.
      +
      +
      +
      isOpen() - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Returns whether the condition is opened.
      +
      +
      isOpened() - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
      +
      Returns whether the data source is currently opened.
      +
      +
      isOpenEnded() - Method in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      Returns whether this is an open-ended CacheSpan.
      +
      +
      isOrdered - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      isPackedAudioExtractor() - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      isPackedAudioExtractor() - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Returns whether this is a packed audio extractor, as defined in RFC 8216, Section 3.4.
      +
      +
      isPackedAudioExtractor() - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      isPlaceholder - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      isPlaceholder - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Whether this window contains placeholder information because the real information has yet to + be loaded.
      +
      +
      isPlaying() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      isPlaying() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      isPlaying() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether the player is playing, i.e.
      +
      +
      isPlayingAd() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      isPlayingAd() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Returns whether the player is currently playing an ad.
      +
      +
      isPlayingAd() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      isPlayingAd() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      isPreload - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Part
      +
      +
      Whether the part is a preloading part.
      +
      +
      isPrepared() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      isPrepared() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Returns whether the source is currently prepared.
      +
      +
      isProtectedContentExtensionSupported(Context) - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Returns whether creating a GL context with "EGL_EXT_protected_content" is possible.
      +
      +
      isPsshAtom(byte[]) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Returns whether the data is a valid PSSH atom.
      +
      +
      isPublic - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      Whether the radio station is listed (icy-pub), or false if the header was not + present.
      +
      +
      isReady() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      isReady() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Whether the renderer is able to immediately render media from the current position.
      +
      +
      isReady() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.source.EmptySampleStream
      +
       
      +
      isReady() - Method in interface com.google.android.exoplayer2.source.SampleStream
      +
      +
      Returns whether data is available to be read.
      +
      +
      isReady() - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      isReady() - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      isReady(boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Returns whether there is data available for reading.
      +
      +
      isRecoverable - Variable in exception com.google.android.exoplayer2.audio.AudioSink.InitializationException
      +
      +
      If the exception can be recovered by recreating the sink.
      +
      +
      isRecoverable - Variable in exception com.google.android.exoplayer2.audio.AudioSink.WriteException
      +
      +
      If the exception can be recovered by recreating the sink.
      +
      +
      isRendererEnabled(int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      Returns whether the renderer at the specified index is enabled.
      +
      +
      isRepeatModeEnabled(int, int) - Static method in class com.google.android.exoplayer2.util.RepeatModeUtil
      +
      +
      Verifies whether a given repeatMode is enabled in the bitmask enabledModes.
      +
      +
      isRetry() - Method in class com.google.android.exoplayer2.upstream.Loader.LoadErrorAction
      +
      +
      Returns whether this is a retry action.
      +
      +
      isReusable() - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      isReusable() - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Returns whether this instance can be used for extracting multiple continuous segments.
      +
      +
      isReusable() - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      isRewindEnabled() - Method in interface com.google.android.exoplayer2.ControlDispatcher
      +
      +
      Returns true if rewind is enabled, false otherwise.
      +
      +
      isRewindEnabled() - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
       
      +
      isRoot - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      isSeamlessAdaptationSupported(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Returns whether it may be possible to adapt an instance of this decoder to playing a different + format when the codec is configured to play media in the specified format.
      +
      +
      isSeamlessAdaptationSupported(Format, Format, boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      + +
      +
      isSecureSupported(Context) - Static method in class com.google.android.exoplayer2.video.DummySurface
      +
      +
      Returns whether the device supports secure dummy surfaces.
      +
      +
      isSeekable - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      isSeekable - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Whether it's possible to seek within this window.
      +
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
      +
       
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
       
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.ConstantBitrateSeekMap
      +
       
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.FlacSeekTableSeekMap
      +
       
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.IndexSeekMap
      +
       
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      isSeekable() - Method in interface com.google.android.exoplayer2.extractor.SeekMap
      +
      +
      Returns whether seeking is supported.
      +
      +
      isSeekable() - Method in class com.google.android.exoplayer2.extractor.SeekMap.Unseekable
      +
       
      +
      isSeeking() - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
      +
      Returns whether the last operation set by BinarySearchSeeker.setSeekTargetUs(long) is still pending.
      +
      +
      isSegmentAvailableAtFullNetworkSpeed(long, long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      isSimulatingUnknownLength() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Returns whether unknown length is simulated
      +
      +
      isSingleWindow() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      isSingleWindow() - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      isSingleWindow() - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Returns true if the media source is guaranteed to never have zero or more than one window.
      +
      +
      isSingleWindow() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      isSnapshotValid(Uri) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      isSnapshotValid(Uri) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Returns whether the snapshot of the playlist referenced by the provided Uri is valid, + meaning all the segments referenced by the playlist are expected to be available.
      +
      +
      isSourceReady() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Returns whether the upstream source is ready.
      +
      +
      isStartTag(XmlPullParser) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns whether the current event is a start tag.
      +
      +
      isStartTag(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns whether the current event is a start tag with the specified name.
      +
      +
      isStartTagIgnorePrefix(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.util.XmlPullParserUtil
      +
      +
      Returns whether the current event is a start tag with the specified name.
      +
      +
      isStorageNotLowRequired() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether the device is required to not be low on internal storage.
      +
      +
      isSupported(int, boolean) - Static method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Returns true if the C.FormatSupport in the given RendererCapabilities.Capabilities is C.FORMAT_HANDLED or if allowExceedsCapabilities is set and the format support is + C.FORMAT_EXCEEDS_CAPABILITIES.
      +
      +
      isSurfacelessContextExtensionSupported() - Static method in class com.google.android.exoplayer2.util.GlUtil
      +
      +
      Returns whether creating a GL context with "EGL_KHR_surfaceless_context" is possible.
      +
      +
      isSurfaceValid - Variable in exception com.google.android.exoplayer2.video.MediaCodecVideoDecoderException
      +
      +
      Whether the surface was valid when the exception occurred.
      +
      +
      isSyncWord(int) - Static method in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Returns whether a given integer matches a DTS sync word.
      +
      +
      isTerminalState() - Method in class com.google.android.exoplayer2.offline.Download
      +
      +
      Returns whether the download is completed or failed.
      +
      +
      isText(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns whether the given string is a text MIME type, including known text types that use + "application" as their base type.
      +
      +
      isTv(Context) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether the app is running on a TV device.
      +
      +
      isUnderline() - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      isUnmeteredNetworkRequired() - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Returns whether un-metered network connectivity is required.
      +
      +
      isVideo(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Returns whether the given string is a video MIME type.
      +
      +
      isVideoSizeAndRateSupportedV21(int, int, double) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports video with a given width, height and frame rate.
      +
      +
      isVisible() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Returns whether the controller is currently visible.
      +
      +
      isVisible() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Returns whether the controller is currently visible.
      +
      +
      isWaitingForRequirements() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Returns whether this manager has one or more downloads that are not progressing for the sole + reason that the Requirements are not met.
      +
      +
      isWebvttHeaderLine(ParsableByteArray) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
      +
      +
      Returns whether the given input is the first line of a WebVTT file.
      +
      +
      isWindowColorSet() - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Returns true if the fill color of the window is set.
      +
      +
      isWithinConstraints - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.AudioTrackScore
      +
      +
      Whether the provided format is within the parameter constraints.
      +
      +
      isWithinConstraints - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.TextTrackScore
      +
      +
      Whether the provided format is within the parameter constraints.
      +
      +
      isWithinMaxConstraints - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.VideoTrackScore
      +
      +
      Whether the provided format is within the parameter maximum constraints.
      +
      +
      iterator() - Method in class com.google.android.exoplayer2.util.CopyOnWriteMultiset
      +
      +
      Returns an iterator over a snapshot of all the elements currently in this multiset (including + duplicates).
      +
      +
      Iterator(FakeAdaptiveDataSet, int, int) - Constructor for class com.google.android.exoplayer2.testutil.FakeAdaptiveDataSet.Iterator
      +
      +
      Create iterator.
      +
      +
      iv - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The 16 byte initialization vector.
      +
      +
      + + + +

      J

      +
      +
      JobDispatcherScheduler - Class in com.google.android.exoplayer2.ext.jobdispatcher
      +
      +
      Deprecated. +
      Use com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler or PlatformScheduler.
      +
      +
      +
      JobDispatcherScheduler(Context, String) - Constructor for class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler
      +
      +
      Deprecated.
      +
      JobDispatcherScheduler.JobDispatcherSchedulerService - Class in com.google.android.exoplayer2.ext.jobdispatcher
      +
      +
      Deprecated.
      +
      A JobService that starts the target service if the requirements are met.
      +
      +
      JobDispatcherSchedulerService() - Constructor for class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler.JobDispatcherSchedulerService
      +
      +
      Deprecated.
      +
      JPEG - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the JPEG format.
      +
      +
      JpegExtractor - Class in com.google.android.exoplayer2.extractor.jpeg
      +
      +
      Extracts JPEG image using the Exif format.
      +
      +
      JpegExtractor() - Constructor for class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      jumpDrawablesToCurrentState() - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      + + + +

      K

      +
      +
      key - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The 16 byte key id.
      +
      +
      key - Variable in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
      +
      The key.
      +
      +
      key - Variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      The metadata key name.
      +
      +
      key - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      The cache key that uniquely identifies the resource.
      +
      +
      key - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      A key that uniquely identifies the resource.
      +
      +
      KEY_ANDROID_CAPTURE_FPS - Static variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      Key for the capture frame rate (in frames per second).
      +
      +
      KEY_CONTENT_ID - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      + +
      +
      KEY_CONTENT_LENGTH - Static variable in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Key for content length in bytes (type: long).
      +
      +
      KEY_CUSTOM_PREFIX - Static variable in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Prefix for custom metadata keys.
      +
      +
      KEY_DOWNLOAD_REQUEST - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      + +
      +
      KEY_FOREGROUND - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Key for a boolean extra that can be set on any intent to indicate whether the service was + started in the foreground.
      +
      +
      KEY_REDIRECTED_URI - Static variable in interface com.google.android.exoplayer2.upstream.cache.ContentMetadata
      +
      +
      Key for redirected uri (type: String).
      +
      +
      KEY_REQUIREMENTS - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      + +
      +
      KEY_STATUS_AVAILABLE - Static variable in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
      +
      Value for use with the Map returned from FakeExoMediaDrm.queryKeyStatus(byte[]).
      +
      +
      KEY_STATUS_KEY - Static variable in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
      +
      Key for use with the Map returned from FakeExoMediaDrm.queryKeyStatus(byte[]).
      +
      +
      KEY_STATUS_UNAVAILABLE - Static variable in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
      +
      Value for use with the Map returned from FakeExoMediaDrm.queryKeyStatus(byte[]).
      +
      +
      KEY_STOP_REASON - Static variable in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Key for the integer stop reason in DownloadService.ACTION_SET_STOP_REASON and DownloadService.ACTION_ADD_DOWNLOAD intents.
      +
      +
      KEY_TYPE_OFFLINE - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Key request type for keys that will be used for offline use.
      +
      +
      KEY_TYPE_RELEASE - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Key request type indicating that saved offline keys should be released.
      +
      +
      KEY_TYPE_STREAMING - Static variable in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Key request type for keys that will be used for online use.
      +
      +
      KeyRequest(byte[], String) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      + +
      +
      KeyRequest(byte[], String, int) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Creates an instance.
      +
      +
      keySetId - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      The key set id of the offline licence if the content is protected with DRM.
      +
      +
      KeysExpiredException - Exception in com.google.android.exoplayer2.drm
      +
      +
      Thrown when the drm keys loaded into an open session expire.
      +
      +
      KeysExpiredException() - Constructor for exception com.google.android.exoplayer2.drm.KeysExpiredException
      +
       
      +
      KeyStatus(int, byte[]) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyStatus
      +
      +
      Creates an instance.
      +
      +
      + + + +

      L

      +
      +
      label - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The human readable label, or null if unknown or not applicable.
      +
      +
      label - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The label.
      +
      +
      lang - Variable in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
      +
      Declares the language code(s) for this ProgramInformation.
      +
      +
      language - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.DvbSubtitleInfo
      +
       
      +
      language - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
      +
       
      +
      language - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The language as an IETF BCP 47 conformant tag, or null if unknown or not applicable.
      +
      +
      language - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The language.
      +
      +
      language - Variable in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      language - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      LANGUAGE_UNDETERMINED - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an undetermined language as an ISO 639-2 language code.
      +
      +
      lastFormat - Variable in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      lastMediaSequence - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.RenditionReport
      +
      +
      The last media sequence that is in the playlist of the reported rendition.
      +
      +
      lastPartIndex - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.RenditionReport
      +
      +
      The last part index that is in the playlist of the reported rendition, or C.INDEX_UNSET if the rendition does not contain partial segments.
      +
      +
      lastPeriodIndex - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The index of the last period that belongs to this window.
      +
      +
      lastTouchTimestamp - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      The last touch timestamp, or C.TIME_UNSET if CacheSpan.isCached is false.
      +
      +
      LatmReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses and extracts samples from an AAC/LATM elementary stream.
      +
      +
      LatmReader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      lazyRelease(int, ListenerSet.Event<T>) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Releases the set of listeners after all already scheduled Looper messages were able to + trigger final events.
      +
      +
      LeanbackPlayerAdapter - Class in com.google.android.exoplayer2.ext.leanback
      +
      +
      Leanback PlayerAdapter implementation for Player.
      +
      +
      LeanbackPlayerAdapter(Context, Player, int) - Constructor for class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
      +
      Builds an instance.
      +
      +
      LeastRecentlyUsedCacheEvictor - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Evicts least recently used cache files first.
      +
      +
      LeastRecentlyUsedCacheEvictor(long) - Constructor for class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      leftMesh - Variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      The Mesh corresponding to the left eye.
      +
      +
      legacyKeepAvailableCodecInfosWithoutCodec() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns whether to keep available codec infos when the codec hasn't been initialized, which is + the behavior before a bug fix.
      +
      +
      length - Variable in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      The number of chunks.
      +
      +
      length - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.CommentHeader
      +
       
      +
      length - Variable in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      The length of the range, or C.LENGTH_UNSET to indicate that the range is unbounded.
      +
      +
      length - Variable in class com.google.android.exoplayer2.source.TrackGroup
      +
      +
      The number of tracks in the group.
      +
      +
      length - Variable in class com.google.android.exoplayer2.source.TrackGroupArray
      +
      +
      The number of groups in the array.
      +
      +
      length - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment
      +
       
      +
      length - Variable in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
      +
      The number of selected tracks within the TrackGroup.
      +
      +
      length - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      length - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
      +
      The length of this array.
      +
      +
      length - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      The number of selections in the result.
      +
      +
      length - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      The length of the CacheSpan, or C.LENGTH_UNSET if this is an open-ended hole.
      +
      +
      length - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      The length of the data, or C.LENGTH_UNSET.
      +
      +
      length() - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
      +
      Returns the number of metadata entries.
      +
      +
      length() - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      length() - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      length() - Method in interface com.google.android.exoplayer2.trackselection.TrackSelection
      +
      +
      Returns the number of tracks in the selection.
      +
      +
      LENGTH_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset or unknown length.
      +
      +
      level - Variable in class com.google.android.exoplayer2.video.DolbyVisionConfig
      +
      +
      The level number.
      +
      +
      levelIdc - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      LibflacAudioRenderer - Class in com.google.android.exoplayer2.ext.flac
      +
      +
      Decodes and renders audio using the native Flac decoder.
      +
      +
      LibflacAudioRenderer() - Constructor for class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
       
      +
      LibflacAudioRenderer(Handler, AudioRendererEventListener, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
      +
      Creates an instance.
      +
      +
      LibflacAudioRenderer(Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
      +
      Creates an instance.
      +
      +
      Libgav1VideoRenderer - Class in com.google.android.exoplayer2.ext.av1
      +
      +
      Decodes and renders video using libgav1 decoder.
      +
      +
      Libgav1VideoRenderer(long, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      Libgav1VideoRenderer(long, Handler, VideoRendererEventListener, int, int, int, int) - Constructor for class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      LibopusAudioRenderer - Class in com.google.android.exoplayer2.ext.opus
      +
      +
      Decodes and renders audio using the native Opus decoder.
      +
      +
      LibopusAudioRenderer() - Constructor for class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
       
      +
      LibopusAudioRenderer(Handler, AudioRendererEventListener, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
      +
      Creates a new instance.
      +
      +
      LibopusAudioRenderer(Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
      +
      Creates a new instance.
      +
      +
      LibraryLoader - Class in com.google.android.exoplayer2.util
      +
      +
      Configurable loader for native libraries.
      +
      +
      LibraryLoader(String...) - Constructor for class com.google.android.exoplayer2.util.LibraryLoader
      +
       
      +
      LibvpxVideoRenderer - Class in com.google.android.exoplayer2.ext.vp9
      +
      +
      Decodes and renders video using the native VP9 decoder.
      +
      +
      LibvpxVideoRenderer(long) - Constructor for class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      LibvpxVideoRenderer(long, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      LibvpxVideoRenderer(long, Handler, VideoRendererEventListener, int, int, int, int) - Constructor for class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      licenseServerUrl - Variable in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      The URL of the server to which license requests should be made.
      +
      +
      licenseUri - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      Optional default DRM license server Uri.
      +
      +
      limit() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Returns the limit.
      +
      +
      line - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The position of the cue box within the viewport in the direction orthogonal to the writing + direction (determined by Cue.verticalType), or Cue.DIMEN_UNSET.
      +
      +
      LINE_TYPE_FRACTION - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Value for Cue.lineType when Cue.line is a fractional position.
      +
      +
      LINE_TYPE_NUMBER - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Value for Cue.lineType when Cue.line is a line number.
      +
      +
      lineAnchor - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The cue box anchor positioned by Cue.line when Cue.lineType is Cue.LINE_TYPE_FRACTION.
      +
      +
      linearSearch(int[], int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the first occurrence of value in array, or C.INDEX_UNSET if value is not contained in array.
      +
      +
      linearSearch(long[], long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the index of the first occurrence of value in array, or C.INDEX_UNSET if value is not contained in array.
      +
      +
      lineType - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The type of the Cue.line value.
      +
      +
      ListenerSet<T,E extends MutableFlags> - Class in com.google.android.exoplayer2.util
      +
      +
      A set of listeners.
      +
      +
      ListenerSet(Looper, Clock, Supplier<E>, ListenerSet.IterationFinishedEvent<T, E>) - Constructor for class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Creates a new listener set.
      +
      +
      ListenerSet.Event<T> - Interface in com.google.android.exoplayer2.util
      +
      +
      An event sent to a listener.
      +
      +
      ListenerSet.IterationFinishedEvent<T,E extends MutableFlags> - Interface in com.google.android.exoplayer2.util
      +
      +
      An event sent to a listener when all other events sent during one Looper message queue + iteration were handled by the listener.
      +
      +
      liveConfiguration - Variable in class com.google.android.exoplayer2.MediaItem
      +
      +
      The live playback configuration.
      +
      +
      liveConfiguration - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The MediaItem.LiveConfiguration that is used or null if Timeline.Window.isLive() returns + false.
      +
      +
      LiveConfiguration(long, long, long, float, float) - Constructor for class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      Creates a live playback configuration.
      +
      +
      LiveContentUnsupportedException() - Constructor for exception com.google.android.exoplayer2.offline.DownloadHelper.LiveContentUnsupportedException
      +
       
      +
      LivePlaybackSpeedControl - Interface in com.google.android.exoplayer2
      +
      +
      Controls the playback speed while playing live content in order to maintain a steady target live + offset.
      +
      +
      load() - Method in class com.google.android.exoplayer2.source.chunk.ContainerMediaChunk
      +
       
      +
      load() - Method in class com.google.android.exoplayer2.source.chunk.DataChunk
      +
       
      +
      load() - Method in class com.google.android.exoplayer2.source.chunk.InitializationChunk
      +
       
      +
      load() - Method in class com.google.android.exoplayer2.source.chunk.SingleSampleMediaChunk
      +
       
      +
      load() - Method in class com.google.android.exoplayer2.testutil.FakeMediaChunk
      +
       
      +
      load() - Method in interface com.google.android.exoplayer2.upstream.Loader.Loadable
      +
      +
      Performs the load, returning on completion or cancellation.
      +
      +
      load() - Method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
       
      +
      load(DataSource, ParsingLoadable.Parser<? extends T>, Uri, int) - Static method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Loads a single parsable object.
      +
      +
      load(DataSource, ParsingLoadable.Parser<? extends T>, DataSpec, int) - Static method in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Loads a single parsable object.
      +
      +
      loadCanceled(LoadEventInfo, int) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadCanceled(LoadEventInfo, int, int, Format, int, Object, long, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadCanceled(LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadChunkIndex(DataSource, int, Representation) - Static method in class com.google.android.exoplayer2.source.dash.DashUtil
      +
      +
      Loads initialization and index data for the representation and returns the ChunkIndex.
      +
      +
      loadCompleted(LoadEventInfo, int) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadCompleted(LoadEventInfo, int, int, Format, int, Object, long, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadCompleted(LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      LoadControl - Interface in com.google.android.exoplayer2
      +
      +
      Controls buffering of media.
      +
      +
      loadDurationMs - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      The duration of the load up to the event time.
      +
      +
      Loader - Class in com.google.android.exoplayer2.upstream
      +
      +
      Manages the background loading of Loader.Loadables.
      +
      +
      Loader(String) - Constructor for class com.google.android.exoplayer2.upstream.Loader
      +
       
      +
      Loader.Callback<T extends Loader.Loadable> - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A callback to be notified of Loader events.
      +
      +
      Loader.Loadable - Interface in com.google.android.exoplayer2.upstream
      +
      +
      An object that can be loaded using a Loader.
      +
      +
      Loader.LoadErrorAction - Class in com.google.android.exoplayer2.upstream
      +
      + +
      +
      Loader.ReleaseCallback - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A callback to be notified when a Loader has finished being released.
      +
      +
      Loader.UnexpectedLoaderException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an unexpected exception or error is encountered during loading.
      +
      +
      LoaderErrorThrower - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Conditionally throws errors affecting a Loader.
      +
      +
      LoaderErrorThrower.Dummy - Class in com.google.android.exoplayer2.upstream
      +
      +
      A LoaderErrorThrower that never throws.
      +
      +
      loadError(LoadEventInfo, int, int, Format, int, Object, long, long, IOException, boolean) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadError(LoadEventInfo, int, IOException, boolean) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadError(LoadEventInfo, MediaLoadData, IOException, boolean) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      LoadErrorHandlingPolicy - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Defines how errors encountered by loaders are handled.
      +
      +
      LoadErrorHandlingPolicy.LoadErrorInfo - Class in com.google.android.exoplayer2.upstream
      +
      +
      Holds information about a load task error.
      +
      +
      LoadErrorInfo(LoadEventInfo, MediaLoadData, IOException, int) - Constructor for class com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
      +
      +
      Creates an instance with the given values.
      +
      +
      loaders - Variable in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      loadEventInfo - Variable in class com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
      +
      +
      The LoadEventInfo associated with the load that encountered an error.
      +
      +
      LoadEventInfo - Class in com.google.android.exoplayer2.source
      +
      +
      MediaSource load event information.
      +
      +
      LoadEventInfo(long, DataSpec, long) - Constructor for class com.google.android.exoplayer2.source.LoadEventInfo
      +
      + +
      +
      LoadEventInfo(long, DataSpec, Uri, Map<String, List<String>>, long, long, long) - Constructor for class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      Creates load event info.
      +
      +
      loadFormatWithDrmInitData(DataSource, Period) - Static method in class com.google.android.exoplayer2.source.dash.DashUtil
      +
      +
      Loads a Format for acquiring keys for a given period in a DASH manifest.
      +
      +
      loadItem(MediaQueueItem, long) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated. + +
      +
      +
      loadItems(MediaQueueItem[], int, long, int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      + +
      +
      loadManifest(DataSource, Uri) - Static method in class com.google.android.exoplayer2.source.dash.DashUtil
      +
      +
      Loads a DASH manifest.
      +
      +
      loadSampleFormat(DataSource, int, Representation) - Static method in class com.google.android.exoplayer2.source.dash.DashUtil
      +
      +
      Loads initialization data for the representation and returns the sample Format.
      +
      +
      loadStarted(LoadEventInfo, int) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadStarted(LoadEventInfo, int, int, Format, int, Object, long, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadStarted(LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      loadTaskId - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      Identifies the load task for this loadable.
      +
      +
      loadTaskId - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      Identifies the load task to which this event corresponds.
      +
      +
      loadTaskId - Variable in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      Identifies the load task for this loadable.
      +
      +
      localeIndicator - Variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      The four byte locale indicator.
      +
      +
      LocalMediaDrmCallback - Class in com.google.android.exoplayer2.drm
      +
      +
      A MediaDrmCallback that provides a fixed response to key requests.
      +
      +
      LocalMediaDrmCallback(byte[]) - Constructor for class com.google.android.exoplayer2.drm.LocalMediaDrmCallback
      +
       
      +
      location - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The location of this manifest, or null if not present.
      +
      +
      Log - Class in com.google.android.exoplayer2.util
      +
      +
      Wrapper around Log which allows to set the log level.
      +
      +
      LOG_LEVEL_ALL - Static variable in class com.google.android.exoplayer2.util.Log
      +
      +
      Log level to log all messages.
      +
      +
      LOG_LEVEL_ERROR - Static variable in class com.google.android.exoplayer2.util.Log
      +
      +
      Log level to only log error messages.
      +
      +
      LOG_LEVEL_INFO - Static variable in class com.google.android.exoplayer2.util.Log
      +
      +
      Log level to only log informative, warning and error messages.
      +
      +
      LOG_LEVEL_OFF - Static variable in class com.google.android.exoplayer2.util.Log
      +
      +
      Log level to disable all logging.
      +
      +
      LOG_LEVEL_WARNING - Static variable in class com.google.android.exoplayer2.util.Log
      +
      +
      Log level to only log warning and error messages.
      +
      +
      logd(String) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
      +
      Logs a debug message.
      +
      +
      loge(String) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
      +
      Logs an error message.
      +
      +
      logMetrics(DecoderCounters, DecoderCounters) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      LongArray - Class in com.google.android.exoplayer2.util
      +
      +
      An append-only, auto-growing long[].
      +
      +
      LongArray() - Constructor for class com.google.android.exoplayer2.util.LongArray
      +
       
      +
      LongArray(int) - Constructor for class com.google.android.exoplayer2.util.LongArray
      +
       
      +
      lookAheadCount - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The number of fragments in a lookahead, or SsManifest.UNSET_LOOKAHEAD if the lookahead is + unspecified.
      +
      +
      LoopingMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Loops a MediaSource a specified number of times.
      +
      +
      LoopingMediaSource(MediaSource) - Constructor for class com.google.android.exoplayer2.source.LoopingMediaSource
      +
      +
      Loops the provided source indefinitely.
      +
      +
      LoopingMediaSource(MediaSource, int) - Constructor for class com.google.android.exoplayer2.source.LoopingMediaSource
      +
      +
      Loops the provided source a specified number of times.
      +
      +
      + + + +

      M

      +
      +
      majorVersion - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The client manifest major version.
      +
      +
      manifest - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The manifest of the window.
      +
      +
      MANUFACTURER - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      Like Build.MANUFACTURER, but in a place where it can be conveniently overridden for + local testing.
      +
      +
      mapping - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.Mode
      +
       
      +
      MappingTrackSelector - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Base class for TrackSelectors that first establish a mapping between TrackGroups + and Renderers, and then from that mapping create a ExoTrackSelection for each + renderer.
      +
      +
      MappingTrackSelector() - Constructor for class com.google.android.exoplayer2.trackselection.MappingTrackSelector
      +
       
      +
      MappingTrackSelector.MappedTrackInfo - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Provides mapped track information for each renderer.
      +
      +
      MARK_FILL_FILLED - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_FILL_OPEN - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_FILL_UNKNOWN - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_SHAPE_CIRCLE - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_SHAPE_DOT - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_SHAPE_NONE - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      MARK_SHAPE_SESAME - Static variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      markAsProcessed(boolean) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Marks the message as processed.
      +
      +
      markFill - Variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
      +
      The mark fill for the text emphasis mark.
      +
      +
      markSeekOperationFinished(boolean, long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      markShape - Variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
      +
      The mark shape used for text emphasis.
      +
      +
      MaskingMediaPeriod - Class in com.google.android.exoplayer2.source
      +
      +
      Media period that defers calling MediaSource.createPeriod(MediaPeriodId, Allocator, long) + on a given source until MaskingMediaPeriod.createPeriod(MediaPeriodId) has been called.
      +
      +
      MaskingMediaPeriod(MediaSource.MediaPeriodId, Allocator, long) - Constructor for class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Creates a new masking media period.
      +
      +
      MaskingMediaPeriod.PrepareListener - Interface in com.google.android.exoplayer2.source
      +
      +
      Listener for preparation events.
      +
      +
      MaskingMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      A MediaSource that masks the Timeline with a placeholder until the actual media + structure is known.
      +
      +
      MaskingMediaSource(MediaSource, boolean) - Constructor for class com.google.android.exoplayer2.source.MaskingMediaSource
      +
      +
      Creates the masking media source.
      +
      +
      MaskingMediaSource.PlaceholderTimeline - Class in com.google.android.exoplayer2.source
      +
      +
      A timeline with one dynamic window with a period of indeterminate duration.
      +
      +
      masterPlaylist - Variable in class com.google.android.exoplayer2.source.hls.HlsManifest
      +
      +
      The master playlist of an HLS stream.
      +
      +
      matches(UUID) - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      Returns whether this initialization data applies to the specified scheme.
      +
      +
      matchesExpectedExoMediaCryptoType(Class<? extends ExoMediaCrypto>) - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
      +
      Returns whether the given ExoMediaCrypto type matches the one required for decoding + protected content.
      +
      +
      matchesExpectedExoMediaCryptoType(Class<? extends ExoMediaCrypto>) - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Returns whether the given ExoMediaCrypto type matches the one required for decoding + protected content.
      +
      +
      MATROSKA - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the Matroska and WebM formats.
      +
      +
      MatroskaExtractor - Class in com.google.android.exoplayer2.extractor.mkv
      +
      +
      Extracts data from the Matroska and WebM container formats.
      +
      +
      MatroskaExtractor() - Constructor for class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      MatroskaExtractor(int) - Constructor for class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      MatroskaExtractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.mkv
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY - Static variable in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      The maximum number of frames that can be dropped between invocations of VideoRendererEventListener.onDroppedFrames(int, long).
      +
      +
      MAX_FRAME_HEADER_SIZE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Maximum size of a FLAC frame header in bytes.
      +
      +
      MAX_FRAME_SIZE_BYTES - Static variable in class com.google.android.exoplayer2.audio.MpegAudioUtil
      +
      +
      Theoretical maximum frame size for an MPEG audio stream, which occurs when playing a Layer 2 + MPEG 2.5 audio stream at 16 kb/s (with padding).
      +
      +
      MAX_PITCH - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      The maximum allowed pitch factor.
      +
      +
      MAX_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      The maximum allowed playback speed.
      +
      +
      MAX_PLAYING_TIME_DISCREPANCY_MS - Static variable in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Maximum rate for an AC-4 audio stream, in bytes per second.
      +
      +
      MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.MpegAudioUtil
      +
      +
      Maximum rate for an MPEG audio stream corresponding to MPEG-1 layer III (320 kbit/s), in bytes + per second.
      +
      +
      MAX_SUPPORTED_INSTANCES_UNKNOWN - Static variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The value returned by MediaCodecInfo.getMaxSupportedInstances() if the upper bound on the maximum + number of supported instances is unknown.
      +
      +
      MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR - Static variable in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      The maximum number of windows that can be shown in a multi-window time bar.
      +
      +
      MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      The maximum number of windows that can be shown in a multi-window time bar.
      +
      +
      maxAudioBitrate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed audio bitrate in bits per second.
      +
      +
      maxAudioChannelCount - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed audio channel count.
      +
      +
      maxBlockSizeSamples - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Maximum number of samples per block.
      +
      +
      maxConsecutiveDroppedBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The maximum number of dropped buffers without an interleaving rendered output buffer.
      +
      +
      maxFrameSize - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Maximum frame size in bytes, or 0 if the value is unknown.
      +
      +
      maxH264DecodableFrameSize() - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Returns the maximum frame size supported by the default H264 decoder.
      +
      +
      maxHeight - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      maxInputSize - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The maximum size of a buffer of data (typically one sample), or Format.NO_VALUE if unknown or + not applicable.
      +
      +
      maxOffsetMs - Variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      The maximum allowed offset from the live edge, in milliseconds, or C.TIME_UNSET to + use the media-defined default.
      +
      +
      maxOffsetMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      The maximum live offset in milliseconds, or C.TIME_UNSET if undefined.
      +
      +
      maxPlaybackSpeed - Variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      Maximum factor by which playback can be sped up, or C.RATE_UNSET to use the + media-defined default.
      +
      +
      maxPlaybackSpeed - Variable in class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      The maximum factor by which playback can be sped up for live speed adjustment, or C.RATE_UNSET if undefined.
      +
      +
      maxRebufferTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The maximum time spent during a single rebuffer, in milliseconds, or C.TIME_UNSET if no + rebuffer occurred.
      +
      +
      maxVideoBitrate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed video bitrate in bits per second.
      +
      +
      maxVideoFrameRate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed video frame rate in hertz.
      +
      +
      maxVideoHeight - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed video height in pixels.
      +
      +
      maxVideoWidth - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Maximum allowed video width in pixels.
      +
      +
      maxVolume - Variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      The maximum volume that the device supports.
      +
      +
      maxWidth - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      maybeDropBuffersToKeyframe(long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Drops frames from the current output buffer to the next keyframe at or before the playback + position.
      +
      +
      maybeDropBuffersToKeyframe(long, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Drops frames from the current output buffer to the next keyframe at or before the playback + position.
      +
      +
      maybeInitCodecOrBypass() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      maybeRefreshManifestBeforeLoadingNextChunk(long) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
      +
      For live streaming, check if the DASH manifest is expired before the next segment start time.
      +
      +
      maybeRequestReadExternalStoragePermission(Activity, Uri...) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Checks whether it's necessary to request the Manifest.permission.READ_EXTERNAL_STORAGE + permission read the specified Uris, requesting the permission if necessary.
      +
      +
      maybeRequestReadExternalStoragePermission(Activity, MediaItem...) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Checks whether it's necessary to request the Manifest.permission.READ_EXTERNAL_STORAGE + permission for the specified media items, requesting the permission if + necessary.
      +
      +
      maybeSetByteBuffer(MediaFormat, String, byte[]) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat ByteBuffer value.
      +
      +
      maybeSetColorInfo(MediaFormat, ColorInfo) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat's color information.
      +
      +
      maybeSetFloat(MediaFormat, String, float) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat float value.
      +
      +
      maybeSetInteger(MediaFormat, String, int) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat integer value.
      +
      +
      maybeSkipTag(XmlPullParser) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      If the provided XmlPullParser is currently positioned at the start of a tag, skips + forward to the end of that tag.
      +
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      maybeThrowError() - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      If the source is currently having difficulty providing chunks, then this method throws the + underlying error.
      +
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.EmptySampleStream
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Throws an error that's preventing data from being read.
      +
      +
      maybeThrowError() - Method in interface com.google.android.exoplayer2.source.SampleStream
      +
      +
      Throws an error that's preventing data from being read.
      +
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
       
      +
      maybeThrowError() - Method in class com.google.android.exoplayer2.upstream.LoaderErrorThrower.Dummy
      +
       
      +
      maybeThrowError() - Method in interface com.google.android.exoplayer2.upstream.LoaderErrorThrower
      +
      +
      Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the Loaders default + minimum number of retries.
      +
      +
      maybeThrowError(int) - Method in class com.google.android.exoplayer2.upstream.Loader
      +
       
      +
      maybeThrowError(int) - Method in class com.google.android.exoplayer2.upstream.LoaderErrorThrower.Dummy
      +
       
      +
      maybeThrowError(int) - Method in interface com.google.android.exoplayer2.upstream.LoaderErrorThrower
      +
      +
      Throws a fatal error, or a non-fatal error if loading is currently backed off and the current + Loader.Loadable has incurred a number of errors greater than the specified minimum number + of retries.
      +
      +
      maybeThrowPlaylistRefreshError(Uri) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      maybeThrowPlaylistRefreshError(Uri) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      If the playlist is having trouble refreshing the playlist referenced by the given Uri, + this method throws the underlying error.
      +
      +
      maybeThrowPrepareError() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      maybeThrowPrepareError() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      maybeThrowPrepareError() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      maybeThrowPrepareError() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Throws an error that's preventing the period from becoming prepared.
      +
      +
      maybeThrowPrepareError() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      maybeThrowPrepareError() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      maybeThrowPrimaryPlaylistRefreshError() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      maybeThrowPrimaryPlaylistRefreshError() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      If the tracker is having trouble refreshing the master playlist or the primary playlist, this + method throws the underlying error.
      +
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Throws any pending error encountered while loading or refreshing source information.
      +
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      maybeThrowSourceInfoRefreshError() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      maybeThrowStreamError() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      maybeThrowStreamError() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      maybeThrowStreamError() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Throws an error that's preventing the renderer from reading from its SampleStream.
      +
      +
      MdtaMetadataEntry - Class in com.google.android.exoplayer2.metadata.mp4
      +
      +
      Stores extensible metadata with handler type 'mdta'.
      +
      +
      MdtaMetadataEntry(String, byte[], int, int) - Constructor for class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      Creates a new metadata entry for the specified metadata key/value.
      +
      +
      MEDIA_ID - Static variable in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
      +
      The media id used by any media item of silence media sources.
      +
      +
      MEDIA_ITEM_TRANSITION_REASON_AUTO - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has automatically transitioned to the next media item.
      +
      +
      MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The current media item has changed because of a change in the playlist.
      +
      +
      MEDIA_ITEM_TRANSITION_REASON_REPEAT - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The media item has been repeated.
      +
      +
      MEDIA_ITEM_TRANSITION_REASON_SEEK - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      A seek to another media item has occurred.
      +
      +
      MediaChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      An abstract base class for Chunks that contain media samples.
      +
      +
      MediaChunk(DataSource, DataSpec, Format, int, Object, long, long, long) - Constructor for class com.google.android.exoplayer2.source.chunk.MediaChunk
      +
       
      +
      MediaChunkIterator - Interface in com.google.android.exoplayer2.source.chunk
      +
      +
      Iterator for media chunk sequences.
      +
      +
      MediaClock - Interface in com.google.android.exoplayer2.util
      +
      +
      Tracks the progression of media time.
      +
      +
      MediaCodecAdapter - Interface in com.google.android.exoplayer2.mediacodec
      +
      +
      Abstracts MediaCodec operations.
      +
      +
      MediaCodecAdapter.Factory - Interface in com.google.android.exoplayer2.mediacodec
      +
      +
      A factory for MediaCodecAdapter instances.
      +
      +
      MediaCodecAdapter.OnFrameRenderedListener - Interface in com.google.android.exoplayer2.mediacodec
      +
      +
      Listener to be called when an output frame has rendered on the output surface.
      +
      +
      MediaCodecAudioRenderer - Class in com.google.android.exoplayer2.audio
      +
      +
      Decodes and renders audio using MediaCodec and an AudioSink.
      +
      +
      MediaCodecAudioRenderer(Context, MediaCodecAdapter.Factory, MediaCodecSelector, boolean, Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
      +
      Creates a new instance.
      +
      +
      MediaCodecAudioRenderer(Context, MediaCodecSelector) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      MediaCodecAudioRenderer(Context, MediaCodecSelector, boolean, Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      MediaCodecAudioRenderer(Context, MediaCodecSelector, Handler, AudioRendererEventListener) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      MediaCodecAudioRenderer(Context, MediaCodecSelector, Handler, AudioRendererEventListener, AudioCapabilities, AudioProcessor...) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      MediaCodecAudioRenderer(Context, MediaCodecSelector, Handler, AudioRendererEventListener, AudioSink) - Constructor for class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      MediaCodecDecoderException - Exception in com.google.android.exoplayer2.mediacodec
      +
      +
      Thrown when a failure occurs in a MediaCodec decoder.
      +
      +
      MediaCodecDecoderException(Throwable, MediaCodecInfo) - Constructor for exception com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException
      +
       
      +
      MediaCodecInfo - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      Information about a MediaCodec for a given mime type.
      +
      +
      MediaCodecRenderer - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      An abstract renderer that uses MediaCodec to decode samples for rendering.
      +
      +
      MediaCodecRenderer(int, MediaCodecAdapter.Factory, MediaCodecSelector, boolean, float) - Constructor for class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      MediaCodecRenderer.DecoderInitializationException - Exception in com.google.android.exoplayer2.mediacodec
      +
      +
      Thrown when a failure occurs instantiating a decoder.
      +
      +
      MediaCodecSelector - Interface in com.google.android.exoplayer2.mediacodec
      +
      +
      Selector of MediaCodec instances.
      +
      +
      MediaCodecUtil - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      A utility class for querying the available codecs.
      +
      +
      MediaCodecUtil.DecoderQueryException - Exception in com.google.android.exoplayer2.mediacodec
      +
      +
      Thrown when an error occurs querying the device for its underlying media capabilities.
      +
      +
      MediaCodecVideoDecoderException - Exception in com.google.android.exoplayer2.video
      +
      +
      Thrown when a failure occurs in a MediaCodec video decoder.
      +
      +
      MediaCodecVideoDecoderException(Throwable, MediaCodecInfo, Surface) - Constructor for exception com.google.android.exoplayer2.video.MediaCodecVideoDecoderException
      +
       
      +
      MediaCodecVideoRenderer - Class in com.google.android.exoplayer2.video
      +
      +
      Decodes and renders video using MediaCodec.
      +
      +
      MediaCodecVideoRenderer(Context, MediaCodecAdapter.Factory, MediaCodecSelector, long, boolean, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Creates a new instance.
      +
      +
      MediaCodecVideoRenderer(Context, MediaCodecSelector) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      MediaCodecVideoRenderer(Context, MediaCodecSelector, long) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      MediaCodecVideoRenderer(Context, MediaCodecSelector, long, boolean, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      MediaCodecVideoRenderer(Context, MediaCodecSelector, long, Handler, VideoRendererEventListener, int) - Constructor for class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      MediaCodecVideoRenderer.CodecMaxValues - Class in com.google.android.exoplayer2.video
      +
       
      +
      MediaDrmCallback - Interface in com.google.android.exoplayer2.drm
      +
      +
      Performs ExoMediaDrm key and provisioning requests.
      +
      +
      MediaDrmCallbackException - Exception in com.google.android.exoplayer2.drm
      +
      +
      Thrown when an error occurs while executing a DRM key + or provisioning request.
      +
      +
      MediaDrmCallbackException(DataSpec, Uri, Map<String, List<String>>, long, Throwable) - Constructor for exception com.google.android.exoplayer2.drm.MediaDrmCallbackException
      +
      +
      Creates a new instance with the given values.
      +
      +
      mediaEndTimeMs - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      The end time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period or the end time is unknown.
      +
      +
      MediaFormatUtil - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      Helper class for configuring MediaFormat instances.
      +
      +
      mediaId - Variable in class com.google.android.exoplayer2.MediaItem
      +
      +
      Identifies the media item.
      +
      +
      MediaIdEqualityChecker() - Constructor for class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.MediaIdEqualityChecker
      +
       
      +
      MediaIdMediaItemProvider() - Constructor for class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.MediaIdMediaItemProvider
      +
       
      +
      mediaItem - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      mediaItem - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      The MediaItem associated to the window.
      +
      +
      MediaItem - Class in com.google.android.exoplayer2
      +
      +
      Representation of a media item.
      +
      +
      MediaItem.AdsConfiguration - Class in com.google.android.exoplayer2
      +
      +
      Configuration for playing back linear ads with a media item.
      +
      +
      MediaItem.Builder - Class in com.google.android.exoplayer2
      +
      +
      A builder for MediaItem instances.
      +
      +
      MediaItem.ClippingProperties - Class in com.google.android.exoplayer2
      +
      +
      Optionally clips the media item to a custom start and end position.
      +
      +
      MediaItem.DrmConfiguration - Class in com.google.android.exoplayer2
      +
      +
      DRM configuration for a media item.
      +
      +
      MediaItem.LiveConfiguration - Class in com.google.android.exoplayer2
      +
      +
      Live playback configuration.
      +
      +
      MediaItem.PlaybackProperties - Class in com.google.android.exoplayer2
      +
      +
      Properties for local playback.
      +
      +
      MediaItem.Subtitle - Class in com.google.android.exoplayer2
      +
      +
      Properties for a text track.
      +
      +
      MediaItemConverter - Interface in com.google.android.exoplayer2.ext.cast
      +
      +
      Converts between MediaItem and the Cast SDK's MediaQueueItem.
      +
      +
      MediaItemConverter - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Converts between Media2 MediaItem and ExoPlayer MediaItem.
      +
      +
      mediaLoadData - Variable in class com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy.LoadErrorInfo
      +
      +
      MediaLoadData associated with the load that encountered an error.
      +
      +
      MediaLoadData - Class in com.google.android.exoplayer2.source
      +
      +
      Descriptor for data being loaded or selected by a media source.
      +
      +
      MediaLoadData(int) - Constructor for class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      Creates an instance with the given MediaLoadData.dataType.
      +
      +
      MediaLoadData(int, int, Format, int, Object, long, long) - Constructor for class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      Creates media load data.
      +
      +
      mediaMetadata - Variable in class com.google.android.exoplayer2.MediaItem
      +
      +
      The media metadata.
      +
      +
      MediaMetadata - Class in com.google.android.exoplayer2
      +
      +
      Metadata of the MediaItem.
      +
      +
      MediaMetadata.Builder - Class in com.google.android.exoplayer2
      +
      +
      A builder for MediaMetadata instances.
      +
      +
      MediaParserChunkExtractor - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      ChunkExtractor implemented on top of the platform's MediaParser.
      +
      +
      MediaParserChunkExtractor(int, Format, List<Format>) - Constructor for class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
      +
      Creates a new instance.
      +
      +
      MediaParserHlsMediaChunkExtractor - Class in com.google.android.exoplayer2.source.hls
      +
      +
      HlsMediaChunkExtractor implemented on top of the platform's MediaParser.
      +
      +
      MediaParserHlsMediaChunkExtractor(MediaParser, OutputConsumerAdapterV30, Format, boolean, ImmutableList<MediaFormat>, int) - Constructor for class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
      +
      Creates a new instance.
      +
      +
      MediaParserUtil - Class in com.google.android.exoplayer2.source.mediaparser
      +
      +
      Miscellaneous constants and utility methods related to the MediaParser integration.
      +
      +
      mediaPeriod - Variable in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
      +
      The MediaPeriod wrapped by this clipping media period.
      +
      +
      MediaPeriod - Interface in com.google.android.exoplayer2.source
      +
      +
      Loads media corresponding to a Timeline.Period, and allows that media to be read.
      +
      +
      MediaPeriod.Callback - Interface in com.google.android.exoplayer2.source
      +
      +
      A callback to be notified of MediaPeriod events.
      +
      +
      MediaPeriodAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Assertion methods for MediaPeriod.
      +
      +
      MediaPeriodAsserts.FilterableManifestMediaPeriodFactory<T extends FilterableManifest<T>> - Interface in com.google.android.exoplayer2.testutil
      +
      +
      Interface to create media periods for testing based on a FilterableManifest.
      +
      +
      mediaPeriodId - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Media period identifier for the media period this event belongs to, or + null if the event is not associated with a specific media period.
      +
      +
      mediaPeriodId - Variable in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      The MediaSource.MediaPeriodId reported with the events.
      +
      +
      mediaPeriodId - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The MediaPeriodId of the media associated with this error, or null if undetermined.
      +
      +
      mediaPeriodId - Variable in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      The MediaSource.MediaPeriodId reported with the events.
      +
      +
      MediaPeriodId - Class in com.google.android.exoplayer2.source
      +
      +
      Identifies a specific playback of a Timeline.Period.
      +
      +
      MediaPeriodId(MediaPeriodId) - Constructor for class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Copy constructor for inheritance.
      +
      +
      MediaPeriodId(MediaPeriodId) - Constructor for class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      +
      Wraps an MediaPeriodId into a MediaPeriodId.
      +
      +
      MediaPeriodId(Object) - Constructor for class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Creates a media period identifier for a period which is not part of a buffered sequence of + windows.
      +
      +
      MediaPeriodId(Object) - Constructor for class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      + +
      +
      MediaPeriodId(Object, int, int, long) - Constructor for class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Creates a media period identifier that identifies an ad within an ad group at the specified + timeline period.
      +
      +
      MediaPeriodId(Object, int, int, long) - Constructor for class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      + +
      +
      MediaPeriodId(Object, long) - Constructor for class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Creates a media period identifier for the specified period in the timeline.
      +
      +
      MediaPeriodId(Object, long) - Constructor for class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      + +
      +
      MediaPeriodId(Object, long, int) - Constructor for class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      Creates a media period identifier for the specified clipped period in the timeline.
      +
      +
      MediaPeriodId(Object, long, int) - Constructor for class com.google.android.exoplayer2.source.MediaSource.MediaPeriodId
      +
      + +
      +
      mediaPlaylist - Variable in class com.google.android.exoplayer2.source.hls.HlsManifest
      +
      +
      A snapshot of a media playlist referred to by HlsManifest.masterPlaylist.
      +
      +
      mediaPlaylistUrls - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      All of the media playlist URLs referenced by the playlist.
      +
      +
      mediaSequence - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The media sequence number of the first media segment in the playlist, as defined by + #EXT-X-MEDIA-SEQUENCE.
      +
      +
      mediaSession - Variable in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      The wrapped MediaSessionCompat.
      +
      +
      MediaSessionConnector - Class in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Connects a MediaSessionCompat to a Player.
      +
      +
      MediaSessionConnector(MediaSessionCompat) - Constructor for class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Creates an instance.
      +
      +
      MediaSessionConnector.CaptionCallback - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Handles requests for enabling or disabling captions.
      +
      +
      MediaSessionConnector.CommandReceiver - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Receiver of media commands sent by a media controller.
      +
      +
      MediaSessionConnector.CustomActionProvider - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Provides a PlaybackStateCompat.CustomAction to be published and handles the action when + sent by a media controller.
      +
      +
      MediaSessionConnector.DefaultMediaMetadataProvider - Class in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Provides a default MediaMetadataCompat with properties and extras taken from the MediaDescriptionCompat of the MediaSessionCompat.QueueItem of the active queue item.
      +
      +
      MediaSessionConnector.MediaButtonEventHandler - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Handles a media button event.
      +
      +
      MediaSessionConnector.MediaMetadataProvider - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Provides a MediaMetadataCompat for a given player state.
      +
      +
      MediaSessionConnector.PlaybackActions - Annotation Type in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Playback actions supported by the connector.
      +
      +
      MediaSessionConnector.PlaybackPreparer - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Interface to which playback preparation and play actions are delegated.
      +
      +
      MediaSessionConnector.QueueEditor - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Handles media session queue edits.
      +
      +
      MediaSessionConnector.QueueNavigator - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Handles queue navigation actions, and updates the media session queue by calling + MediaSessionCompat.setQueue().
      +
      +
      MediaSessionConnector.RatingCallback - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Callback receiving a user rating for the active media item.
      +
      +
      MediaSource - Interface in com.google.android.exoplayer2.source
      +
      +
      Defines and provides media to be played by an ExoPlayer.
      +
      +
      MediaSource.MediaPeriodId - Class in com.google.android.exoplayer2.source
      +
      +
      Identifier for a MediaPeriod.
      +
      +
      MediaSource.MediaSourceCaller - Interface in com.google.android.exoplayer2.source
      +
      +
      A caller of media sources, which will be notified of source events.
      +
      +
      MediaSourceEventListener - Interface in com.google.android.exoplayer2.source
      +
      +
      Interface for callbacks to be notified of MediaSource events.
      +
      +
      MediaSourceEventListener.EventDispatcher - Class in com.google.android.exoplayer2.source
      +
      +
      Dispatches events to MediaSourceEventListeners.
      +
      +
      MediaSourceFactory - Interface in com.google.android.exoplayer2.source
      +
      +
      Factory for creating MediaSources from URIs.
      +
      +
      MediaSourceTestRunner - Class in com.google.android.exoplayer2.testutil
      +
      +
      A runner for MediaSource tests.
      +
      +
      MediaSourceTestRunner(MediaSource, Allocator) - Constructor for class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
       
      +
      mediaStartTimeMs - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      The start time of the media, or C.TIME_UNSET if the data does not belong to a specific + media period.
      +
      +
      mediaTimeHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The media time history as an ordered list of long[2] arrays with [0] being the realtime as + returned by SystemClock.elapsedRealtime() and [1] being the media time at this + realtime, in milliseconds.
      +
      +
      merge(PlaybackStats...) - Static method in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Returns the combined PlaybackStats for all input PlaybackStats.
      +
      +
      merge(DecoderCounters) - Method in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      Merges the counts from other into this instance.
      +
      +
      merge(DrmInitData) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
      +
      Returns an instance containing the DrmInitData.schemeDatas from both this and other.
      +
      +
      MergingMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Merges multiple MediaSources.
      +
      +
      MergingMediaSource(boolean, boolean, CompositeSequenceableLoaderFactory, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.MergingMediaSource
      +
      +
      Creates a merging media source.
      +
      +
      MergingMediaSource(boolean, boolean, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.MergingMediaSource
      +
      +
      Creates a merging media source.
      +
      +
      MergingMediaSource(boolean, MediaSource...) - Constructor for class com.google.android.exoplayer2.source.MergingMediaSource
      +
      +
      Creates a merging media source.
      +
      +
      MergingMediaSource(MediaSource...) - Constructor for class com.google.android.exoplayer2.source.MergingMediaSource
      +
      +
      Creates a merging media source.
      +
      +
      MergingMediaSource.IllegalMergeException - Exception in com.google.android.exoplayer2.source
      +
      +
      Thrown when a MergingMediaSource cannot merge its sources.
      +
      +
      MergingMediaSource.IllegalMergeException.Reason - Annotation Type in com.google.android.exoplayer2.source
      +
      +
      The reason the merge failed.
      +
      +
      Mesh(Projection.SubMesh...) - Constructor for class com.google.android.exoplayer2.video.spherical.Projection.Mesh
      +
       
      +
      messageData - Variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      The body of the message.
      +
      +
      metadata - Variable in class com.google.android.exoplayer2.Format
      +
      +
      Metadata, or null if unknown or not applicable.
      +
      +
      Metadata - Class in com.google.android.exoplayer2.metadata
      +
      +
      A collection of metadata entries.
      +
      +
      Metadata(Metadata.Entry...) - Constructor for class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      Metadata(List<? extends Metadata.Entry>) - Constructor for class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      METADATA_BLOCK_HEADER_SIZE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Size of the header of a FLAC metadata block in bytes.
      +
      +
      METADATA_TYPE_EMSG - Static variable in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
      +
      Type for ESMG metadata in HLS streams.
      +
      +
      METADATA_TYPE_ID3 - Static variable in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
      +
      Type for ID3 metadata in HLS streams.
      +
      +
      METADATA_TYPE_PICTURE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Picture metadata block type.
      +
      +
      METADATA_TYPE_SEEK_TABLE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Seek table metadata block type.
      +
      +
      METADATA_TYPE_STREAM_INFO - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Stream info metadata block type.
      +
      +
      METADATA_TYPE_VORBIS_COMMENT - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Vorbis comment metadata block type.
      +
      +
      Metadata.Entry - Interface in com.google.android.exoplayer2.metadata
      +
      +
      A metadata entry.
      +
      +
      MetadataDecoder - Interface in com.google.android.exoplayer2.metadata
      +
      +
      Decodes metadata from binary data.
      +
      +
      MetadataDecoderFactory - Interface in com.google.android.exoplayer2.metadata
      +
      +
      A factory for MetadataDecoder instances.
      +
      +
      MetadataInputBuffer - Class in com.google.android.exoplayer2.metadata
      +
      + +
      +
      MetadataInputBuffer() - Constructor for class com.google.android.exoplayer2.metadata.MetadataInputBuffer
      +
       
      +
      metadataInterval - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      The interval in bytes between metadata chunks (icy-metaint), or C.LENGTH_UNSET + if the header was not present.
      +
      +
      MetadataOutput - Interface in com.google.android.exoplayer2.metadata
      +
      +
      Receives metadata output.
      +
      +
      MetadataRenderer - Class in com.google.android.exoplayer2.metadata
      +
      +
      A renderer for metadata.
      +
      +
      MetadataRenderer(MetadataOutput, Looper) - Constructor for class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory) - Constructor for class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      MetadataRetriever - Class in com.google.android.exoplayer2
      +
      +
      Retrieves the static metadata of MediaItems.
      +
      +
      MICROS_PER_SECOND - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The number of microseconds in one second.
      +
      +
      MILLIS_PER_SECOND - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The number of milliseconds in one second.
      +
      +
      millisecondsBetweenReference - Variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      millisecondsDeviations - Variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      mimeType - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      The sample mime type of the bitstream.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      The mime type.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      + +
      +
      mimeType - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The MIME type handled by the codec.
      +
      +
      mimeType - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
      +
      The mime type for which a decoder was being initialized.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      The optional MIME type of the item, or null if unspecified.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The MIME type.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The mime type of the picture.
      +
      +
      mimeType - Variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      mimeType - Variable in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      mimeType - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      The MIME type of this content.
      +
      +
      MimeTypes - Class in com.google.android.exoplayer2.util
      +
      +
      Defines common MIME types and helper methods.
      +
      +
      MIN_DATA_CHANNEL_TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
      +
      The minimum value for the validDataChannelTimeoutMs constructor parameter permitted by + ANSI/CTA-608-E R-2014 Annex C.9.
      +
      +
      MIN_FRAME_HEADER_SIZE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Minimum size of a FLAC frame header in bytes.
      +
      +
      MIN_PITCH - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      The minimum allowed pitch factor.
      +
      +
      MIN_PLAYBACK_SPEED - Static variable in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
      +
      The minimum allowed playback speed.
      +
      +
      minBlockSizeSamples - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Minimum number of samples per block.
      +
      +
      minBufferTimeMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The minBufferTime value in milliseconds, or C.TIME_UNSET if not present.
      +
      +
      minFrameSize - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Minimum frame size in bytes, or 0 if the value is unknown.
      +
      +
      minOffsetMs - Variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      The minimum allowed offset from the live edge, in milliseconds, or C.TIME_UNSET to + use the media-defined default.
      +
      +
      minOffsetMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      The minimum live offset in milliseconds, or C.TIME_UNSET if undefined.
      +
      +
      minorVersion - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The client manifest minor version.
      +
      +
      minPlaybackSpeed - Variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      Minimum factor by which playback can be sped up, or C.RATE_UNSET to use the + media-defined default.
      +
      +
      minPlaybackSpeed - Variable in class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      The minimum factor by which playback can be sped up for live speed adjustment, or C.RATE_UNSET if undefined.
      +
      +
      minUpdatePeriodMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The minimumUpdatePeriod value in milliseconds, or C.TIME_UNSET if not + applicable.
      +
      +
      minValue(SparseLongArray) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the minimum value in the given SparseLongArray.
      +
      +
      minVideoBitrate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Minimum allowed video bitrate in bits per second.
      +
      +
      minVideoFrameRate - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Minimum allowed video frame rate in hertz.
      +
      +
      minVideoHeight - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Minimum allowed video height in pixels.
      +
      +
      minVideoWidth - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Minimum allowed video width in pixels.
      +
      +
      minVolume - Variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      The minimum volume that the device supports.
      +
      +
      MissingFieldException(String) - Constructor for exception com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifestParser.MissingFieldException
      +
       
      +
      MlltFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      MPEG location lookup table frame.
      +
      +
      MlltFrame(int, int, int, int[], int[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      mode - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The type of encryption that has been applied.
      +
      +
      mode - Variable in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      The drawing mode.
      +
      +
      mode - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Output mode.
      +
      +
      Mode(boolean, int, int, int) - Constructor for class com.google.android.exoplayer2.extractor.VorbisUtil.Mode
      +
       
      +
      MODE_DOWNLOAD - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Downloads an offline license or renews an existing one.
      +
      +
      MODE_HLS - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
      +
      Enable single PMT mode, map TrackOutputs by their type (instead of PID) and ignore + continuity counters.
      +
      +
      MODE_MULTI_PMT - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
      +
      Behave as defined in ISO/IEC 13818-1.
      +
      +
      MODE_PLAYBACK - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Loads and refreshes (if necessary) a license for playback.
      +
      +
      MODE_QUERY - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Restores an offline license to allow its status to be queried.
      +
      +
      MODE_RELEASE - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Releases an existing offline license.
      +
      +
      MODE_SINGLE_PMT - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
      +
      Assume only one PMT will be contained in the stream, even if more are declared by the PAT.
      +
      +
      MODEL - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      Like Build.MODEL, but in a place where it can be conveniently overridden for local + testing.
      +
      +
      modifyTrack(Track) - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      moreInformationURL - Variable in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
      +
      A URL that provides more information about the media presentation.
      +
      +
      MotionPhotoMetadata - Class in com.google.android.exoplayer2.metadata.mp4
      +
      +
      Metadata of a motion photo file.
      +
      +
      MotionPhotoMetadata(long, long, long, long, long) - Constructor for class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      Creates an instance.
      +
      +
      move(int, int) - Method in interface com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.QueueDataAdapter
      +
      +
      Moves a queue item from position from to position to.
      +
      +
      moveItem(int, int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated. + +
      +
      +
      moveItems(List<T>, int, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Moves the elements starting at fromIndex to newFromIndex.
      +
      +
      moveMediaItem(int, int) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      moveMediaItem(int, int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Moves the media item at the current index to the new index.
      +
      +
      moveMediaItem(int, int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      moveMediaItem(int, int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a move media item action to be executed.
      +
      +
      moveMediaItem(int, int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      MoveMediaItem(String, int, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.MoveMediaItem
      +
       
      +
      moveMediaItems(int, int, int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      moveMediaItems(int, int, int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Moves the media item range to the new index.
      +
      +
      moveMediaItems(int, int, int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      moveMediaItems(int, int, int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      moveMediaSource(int, int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Moves an existing MediaSource within the playlist.
      +
      +
      moveMediaSource(int, int, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Moves an existing MediaSource within the playlist and executes a custom action on + completion.
      +
      +
      movePlaylistItem(int, int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      moveToFirst() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Move the cursor to the first download.
      +
      +
      moveToLast() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Move the cursor to the last download.
      +
      +
      moveToNext() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Move the cursor to the next download.
      +
      +
      moveToPosition(int) - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Move the cursor to an absolute position.
      +
      +
      moveToPrevious() - Method in interface com.google.android.exoplayer2.offline.DownloadCursor
      +
      +
      Move the cursor to the previous download.
      +
      +
      movieTimescale - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      The movie timescale.
      +
      +
      MP3 - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the MP3 format.
      +
      +
      Mp3Extractor - Class in com.google.android.exoplayer2.extractor.mp3
      +
      +
      Extracts data from the MP3 container format.
      +
      +
      Mp3Extractor() - Constructor for class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      Mp3Extractor(int) - Constructor for class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      Mp3Extractor(int, long) - Constructor for class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      Mp3Extractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.mp3
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      MP4 - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the MP4 format.
      +
      +
      Mp4Extractor - Class in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Extracts data from the MP4 container format.
      +
      +
      Mp4Extractor() - Constructor for class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Creates a new extractor for unfragmented MP4 streams.
      +
      +
      Mp4Extractor(int) - Constructor for class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
      +
      Creates a new extractor for unfragmented MP4 streams, using the specified flags to control the + extractor's behavior.
      +
      +
      Mp4Extractor.Flags - Annotation Type in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Flags controlling the behavior of the extractor.
      +
      +
      Mp4WebvttDecoder - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      A SimpleSubtitleDecoder for Webvtt embedded in a Mp4 container file.
      +
      +
      Mp4WebvttDecoder() - Constructor for class com.google.android.exoplayer2.text.webvtt.Mp4WebvttDecoder
      +
       
      +
      MpegAudioReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses a continuous MPEG Audio byte stream and extracts individual frames.
      +
      +
      MpegAudioReader() - Constructor for class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      MpegAudioReader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      MpegAudioUtil - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for handling MPEG audio streams.
      +
      +
      MpegAudioUtil.Header - Class in com.google.android.exoplayer2.audio
      +
      +
      Stores the metadata for an MPEG audio frame.
      +
      +
      mpegFramesBetweenReference - Variable in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      MSG_CUSTOM_BASE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_CUSTOM_BASE.
      +
      +
      +
      MSG_CUSTOM_BASE - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      Applications or extensions may define custom MSG_* constants that can be passed to + renderers.
      +
      +
      MSG_SET_AUDIO_ATTRIBUTES - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_AUDIO_ATTRIBUTES.
      +
      +
      +
      MSG_SET_AUDIO_ATTRIBUTES - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      A type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_AUDIO_SESSION_ID - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to audio and video renderers via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_AUX_EFFECT_INFO - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_AUX_EFFECT_INFO.
      +
      +
      +
      MSG_SET_AUX_EFFECT_INFO - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      A type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_CAMERA_MOTION_LISTENER - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_CAMERA_MOTION_LISTENER.
      +
      +
      +
      MSG_SET_CAMERA_MOTION_LISTENER - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a camera motion renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_SCALING_MODE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_SCALING_MODE.
      +
      +
      +
      MSG_SET_SCALING_MODE - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a MediaCodec-based video renderer via + ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_SKIP_SILENCE_ENABLED - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_SURFACE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_SURFACE.
      +
      +
      +
      MSG_SET_SURFACE - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a video renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER.
      +
      +
      +
      MSG_SET_VIDEO_DECODER_OUTPUT_BUFFER_RENDERER - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a DecoderVideoRenderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_VIDEO_FRAME_METADATA_LISTENER - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER.
      +
      +
      +
      MSG_SET_VIDEO_FRAME_METADATA_LISTENER - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a video renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_VOLUME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use Renderer.MSG_SET_VOLUME.
      +
      +
      +
      MSG_SET_VOLUME - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      A type of a message that can be passed to an audio renderer via ExoPlayer.createMessage(Target).
      +
      +
      MSG_SET_WAKEUP_LISTENER - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The type of a message that can be passed to a Renderer via ExoPlayer.createMessage(Target), to inform the renderer that it can schedule waking up another + component.
      +
      +
      msToUs(long) - Static method in class com.google.android.exoplayer2.C
      +
      +
      Converts a time in milliseconds to the corresponding time in microseconds, preserving + C.TIME_UNSET values and C.TIME_END_OF_SOURCE values.
      +
      +
      MultiSegmentBase(RangedUri, long, long, long, long, List<SegmentBase.SegmentTimelineElement>, long, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.MultiSegmentBase
      +
       
      +
      MultiSegmentRepresentation(long, Format, String, SegmentBase.MultiSegmentBase, List<Descriptor>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Representation.MultiSegmentRepresentation
      +
      +
      Creates the multi-segment Representation.
      +
      +
      multiSession - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      Whether the DRM configuration is multi session enabled.
      +
      +
      MutableFlags - Class in com.google.android.exoplayer2.util
      +
      +
      A set of integer flags.
      +
      +
      MutableFlags() - Constructor for class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Creates the set of flags.
      +
      +
      muxedAudioFormat - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The format of the audio muxed in the variants.
      +
      +
      muxedCaptionFormats - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The format of the closed captions declared by the playlist.
      +
      +
      + + + +

      N

      +
      +
      NAL_START_CODE - Static variable in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Four initial bytes that must prefix NAL units for decoding.
      +
      +
      nalUnitLengthFieldLength - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      For H264 video tracks, the length in bytes of the NALUnitLength field in each sample.
      +
      +
      nalUnitLengthFieldLength - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      nalUnitLengthFieldLength - Variable in class com.google.android.exoplayer2.video.HevcConfig
      +
      +
      The length of the NAL unit length field in the bitstream's container, in bytes.
      +
      +
      NalUnitUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Utility methods for handling H.264/AVC and H.265/HEVC NAL units.
      +
      +
      NalUnitUtil.PpsData - Class in com.google.android.exoplayer2.util
      +
      +
      Holds data parsed from a picture parameter set NAL unit.
      +
      +
      NalUnitUtil.SpsData - Class in com.google.android.exoplayer2.util
      +
      +
      Holds data parsed from a sequence parameter set NAL unit.
      +
      +
      name - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      The name of the decoder.
      +
      +
      name - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      The stream name (icy-name).
      +
      +
      name - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
      +
      The NAME value of this track, if the track is derived from an EXT-X-MEDIA tag.
      +
      +
      name - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
      +
      +
      The name of the rendition.
      +
      +
      name - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      name - Variable in class com.google.android.exoplayer2.util.GlUtil.Attribute
      +
      +
      The name of the attribute in the GLSL sources.
      +
      +
      name - Variable in class com.google.android.exoplayer2.util.GlUtil.Uniform
      +
      +
      The name of the uniform in the GLSL sources.
      +
      +
      NANOS_PER_SECOND - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The number of nanoseconds in one second.
      +
      +
      NETWORK - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Requirement that the device has network connectivity.
      +
      +
      NETWORK_TYPE_2G - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for a 2G cellular connection.
      +
      +
      NETWORK_TYPE_3G - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for a 3G cellular connection.
      +
      +
      NETWORK_TYPE_4G - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for a 4G cellular connection.
      +
      +
      NETWORK_TYPE_5G - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for a 5G cellular connection.
      +
      +
      NETWORK_TYPE_CELLULAR_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for cellular connections which cannot be mapped to one of C.NETWORK_TYPE_2G, C.NETWORK_TYPE_3G, or C.NETWORK_TYPE_4G.
      +
      +
      NETWORK_TYPE_ETHERNET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for an Ethernet connection.
      +
      +
      NETWORK_TYPE_OFFLINE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      No network connection.
      +
      +
      NETWORK_TYPE_OTHER - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for other connections which are not Wifi or cellular (e.g.
      +
      +
      NETWORK_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Unknown network type.
      +
      +
      NETWORK_TYPE_WIFI - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Network type for a Wifi connection.
      +
      +
      NETWORK_UNMETERED - Static variable in class com.google.android.exoplayer2.scheduler.Requirements
      +
      +
      Requirement that the device has a network connection that is unmetered.
      +
      +
      newData(Uri) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Returns a new FakeDataSet.FakeData with the given uri.
      +
      +
      newData(String) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Returns a new FakeDataSet.FakeData with the given uri.
      +
      +
      newDefaultData() - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Sets the default data, overwrites if there is one already.
      +
      +
      newFlagsOnlyInstance() - Static method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Creates a new instance for which DecoderInputBuffer.isFlagsOnly() will return true.
      +
      +
      newFormat - Variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The new Format being evaluated.
      +
      +
      newInitializationChunk(DefaultDashChunkSource.RepresentationHolder, DataSource, Format, int, Object, RangedUri, RangedUri) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      newInstance(long, Format, String, long, long, long, long, List<Descriptor>, String, long) - Static method in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
       
      +
      newInstance(long, Format, String, SegmentBase) - Static method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Constructs a new instance.
      +
      +
      newInstance(long, Format, String, SegmentBase, List<Descriptor>) - Static method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Constructs a new instance.
      +
      +
      newInstance(long, Format, String, SegmentBase, List<Descriptor>, String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Constructs a new instance.
      +
      +
      newInstance(Context, Renderer[], TrackSelector) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. +
      Use ExoPlayer.Builder instead.
      +
      +
      +
      newInstance(Context, Renderer[], TrackSelector, LoadControl) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. +
      Use ExoPlayer.Builder instead.
      +
      +
      +
      newInstance(Context, Renderer[], TrackSelector, LoadControl, Looper) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. +
      Use ExoPlayer.Builder instead.
      +
      +
      +
      newInstance(Context, Renderer[], TrackSelector, LoadControl, BandwidthMeter, Looper) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. +
      Use ExoPlayer.Builder instead.
      +
      +
      +
      newInstance(String, String, String, MediaCodecInfo.CodecCapabilities, boolean, boolean, boolean, boolean, boolean) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Creates an instance.
      +
      +
      newInstance(UUID) - Static method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
      +
      Creates an instance with an initial reference count of 1.
      +
      +
      newInstanceV17(Context, boolean) - Static method in class com.google.android.exoplayer2.video.DummySurface
      +
      +
      Returns a newly created dummy surface.
      +
      +
      newMediaChunk(DefaultDashChunkSource.RepresentationHolder, DataSource, int, Format, int, Object, long, int, long, long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      newPlayerTrackEmsgHandler() - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
      +
      +
      Returns a TrackOutput that emsg messages could be written to.
      +
      +
      newSimpleInstance(Context) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl, Looper) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl, AnalyticsCollector) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl, AnalyticsCollector, Looper) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl, BandwidthMeter) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, RenderersFactory, TrackSelector, LoadControl, BandwidthMeter, AnalyticsCollector, Looper) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, TrackSelector) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, TrackSelector, LoadControl) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, TrackSelector, LoadControl, int) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSimpleInstance(Context, TrackSelector, LoadControl, int, long) - Static method in class com.google.android.exoplayer2.ExoPlayerFactory
      +
      +
      Deprecated. + +
      +
      +
      newSingleThreadExecutor(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Instantiates a new single threaded executor whose thread has the specified name.
      +
      +
      newWidevineInstance(String, boolean, HttpDataSource.Factory, DrmSessionEventListener.EventDispatcher) - Static method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Instantiates a new instance which uses Widevine CDM.
      +
      +
      newWidevineInstance(String, boolean, HttpDataSource.Factory, Map<String, String>, DrmSessionEventListener.EventDispatcher) - Static method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Instantiates a new instance which uses Widevine CDM.
      +
      +
      newWidevineInstance(String, HttpDataSource.Factory, DrmSessionEventListener.EventDispatcher) - Static method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Instantiates a new instance which uses Widevine CDM.
      +
      +
      next() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      next() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to the default position of the next window, which may depend on the current repeat mode + and whether shuffle mode is enabled.
      +
      +
      next() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
       
      +
      next() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Moves the iterator to the next media chunk.
      +
      +
      NEXT_SYNC - Static variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Parameters for seeking to the sync point immediately after a requested seek position.
      +
      +
      nextAdGroupIndex - Variable in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      The index of the next ad group to which the media period's content is clipped, or C.INDEX_UNSET if there is no following ad group or if this media period is an ad.
      +
      +
      NO_AUX_EFFECT_ID - Static variable in class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
      +
      Value for AuxEffectInfo.effectId representing no auxiliary effect.
      +
      +
      NO_FRAMES_PREDICATE - Static variable in class com.google.android.exoplayer2.metadata.id3.Id3Decoder
      +
      +
      A predicate that indicates no frames should be decoded.
      +
      +
      NO_TIMESTAMP_IN_RANGE_RESULT - Static variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
       
      +
      NO_VALUE - Static variable in class com.google.android.exoplayer2.Format
      +
      +
      A value for various fields to indicate that the field's value is unknown or not applicable.
      +
      +
      NONE - Static variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Ad playback state with no ads.
      +
      +
      nonFatalErrorCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of non-fatal errors.
      +
      +
      nonFatalErrorHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The history of non-fatal errors as EventTimeAndExceptions ordered + by EventTime.realTimeMs.
      +
      +
      NonNullApi - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      Annotation to declare all type usages in the annotated instance as Nonnull, unless + explicitly marked with a nullable annotation.
      +
      +
      NoOpCacheEvictor - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      Evictor that doesn't ever evict cache files.
      +
      +
      NoOpCacheEvictor() - Constructor for class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      normalizeLanguageCode(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a normalized IETF BCP 47 language tag for language.
      +
      +
      normalizeMimeType(String) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Normalizes the MIME type provided so that equivalent MIME types are uniquely represented.
      +
      +
      normalizeUndeterminedLanguageToNull(String) - Static method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Normalizes the input string to null if it does not define a language, or returns it otherwise.
      +
      +
      NoSampleRenderer - Class in com.google.android.exoplayer2
      +
      +
      A Renderer implementation whose track type is C.TRACK_TYPE_NONE and does not + consume data from its SampleStream.
      +
      +
      NoSampleRenderer() - Constructor for class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      NOT_CACHED - Static variable in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      NOT_IN_LOOKUP_TABLE - Static variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Indicates that a value is not in the corresponding lookup table.
      +
      +
      NOT_SET - Static variable in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
       
      +
      NotificationUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Utility methods for displaying Notifications.
      +
      +
      NotificationUtil.Importance - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      Notification channel importance levels.
      +
      +
      notifyRebuffer() - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
       
      +
      notifyRebuffer() - Method in interface com.google.android.exoplayer2.LivePlaybackSpeedControl
      +
      +
      Notifies the live playback speed control that a rebuffer occurred.
      +
      +
      notifySeekStarted() - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Notify analytics collector that a seek operation will start.
      +
      +
      NoUidTimeline - Class in com.google.android.exoplayer2.testutil
      +
      +
      A timeline which wraps another timeline and overrides all window and period uids to 0.
      +
      +
      NoUidTimeline(Timeline) - Constructor for class com.google.android.exoplayer2.testutil.NoUidTimeline
      +
      +
      Creates an instance.
      +
      +
      nullSafeArrayAppend(T[], T) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a new array containing original with newElement appended.
      +
      +
      nullSafeArrayConcatenation(T[], T[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Creates a new array containing the concatenation of two non-null type arrays.
      +
      +
      nullSafeArrayCopy(T[], int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Copies and optionally truncates an array.
      +
      +
      nullSafeArrayCopyOfRange(T[], int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Copies a subset of an array.
      +
      +
      nullSafeListToArray(List<T>, T[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Copies the contents of list into array.
      +
      +
      numberOfTracks - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      numBytesOfClearData - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The number of leading unencrypted bytes in each sub-sample.
      +
      +
      numBytesOfEncryptedData - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The number of trailing encrypted bytes in each sub-sample.
      +
      +
      numSubSamples - Variable in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
      +
      The number of subSamples that make up the buffer's contents.
      +
      +
      + + + +

      O

      +
      +
      obtainMessage(int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      obtainMessage(int, int, int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      obtainMessage(int, int, int, Object) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      obtainMessage(int, Object) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      OfflineLicenseHelper - Class in com.google.android.exoplayer2.drm
      +
      +
      Helper class to download, renew and release offline licenses.
      +
      +
      OfflineLicenseHelper(DefaultDrmSessionManager, DrmSessionEventListener.EventDispatcher) - Constructor for class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Constructs an instance.
      +
      +
      OfflineLicenseHelper(UUID, ExoMediaDrm.Provider, MediaDrmCallback, Map<String, String>, DrmSessionEventListener.EventDispatcher) - Constructor for class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      + +
      +
      offset - Variable in class com.google.android.exoplayer2.upstream.Allocation
      +
      +
      The offset of the allocated space in Allocation.data.
      +
      +
      OFFSET_SAMPLE_RELATIVE - Static variable in class com.google.android.exoplayer2.Format
      +
      +
      A value for Format.subsampleOffsetUs to indicate that subsample timestamps are relative to + the timestamps of their parent samples.
      +
      +
      offsets - Variable in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      The chunk byte offsets.
      +
      +
      OGG - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the Ogg format.
      +
      +
      OggExtractor - Class in com.google.android.exoplayer2.extractor.ogg
      +
      +
      Extracts data from the Ogg container format.
      +
      +
      OggExtractor() - Constructor for class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      OkHttpDataSource - Class in com.google.android.exoplayer2.ext.okhttp
      +
      +
      An HttpDataSource that delegates to Square's Call.Factory.
      +
      +
      OkHttpDataSource(Call.Factory) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      OkHttpDataSource(Call.Factory, String) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      OkHttpDataSource(Call.Factory, String, CacheControl, HttpDataSource.RequestProperties) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      +
      Deprecated. + +
      +
      +
      OkHttpDataSource.Factory - Class in com.google.android.exoplayer2.ext.okhttp
      +
      + +
      +
      OkHttpDataSourceFactory - Class in com.google.android.exoplayer2.ext.okhttp
      +
      +
      Deprecated. + +
      +
      +
      OkHttpDataSourceFactory(Call.Factory) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      OkHttpDataSourceFactory(Call.Factory, String) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      OkHttpDataSourceFactory(Call.Factory, String, TransferListener) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      OkHttpDataSourceFactory(Call.Factory, String, TransferListener, CacheControl) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      OkHttpDataSourceFactory(Call.Factory, String, CacheControl) - Constructor for class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory
      +
      +
      Deprecated.
      +
      Creates an instance.
      +
      +
      oldFormat - Variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The Format for which the decoder was previously configured.
      +
      +
      onActionScheduleFinished() - Method in interface com.google.android.exoplayer2.testutil.ActionSchedule.Callback
      +
      +
      Called when action schedule finished executing all its actions.
      +
      +
      onActionScheduleFinished() - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onAdClicked() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.EventListener
      +
      +
      Called when the user clicks through an ad (for example, following a 'learn more' link).
      +
      +
      onAddQueueItem(Player, MediaDescriptionCompat) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueEditor
      +
      +
      See MediaSessionCompat.Callback.onAddQueueItem(MediaDescriptionCompat description).
      +
      +
      onAddQueueItem(Player, MediaDescriptionCompat) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      onAddQueueItem(Player, MediaDescriptionCompat, int) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueEditor
      +
      +
      See MediaSessionCompat.Callback.onAddQueueItem(MediaDescriptionCompat description, int + index).
      +
      +
      onAddQueueItem(Player, MediaDescriptionCompat, int) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      onAdLoadError(AdsMediaSource.AdLoadException, DataSpec) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.EventListener
      +
      +
      Called when there was an error loading ads.
      +
      +
      onAdPlaybackStarted(AnalyticsListener.EventTime, String, String) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager.Listener
      +
      +
      Called when a session is interrupted by ad playback.
      +
      +
      onAdPlaybackStarted(AnalyticsListener.EventTime, String, String) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onAdPlaybackState(AdPlaybackState) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.EventListener
      +
      +
      Called when the ad playback state has been updated.
      +
      +
      onAdTapped() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader.EventListener
      +
      +
      Called when the user taps a non-clickthrough part of an ad.
      +
      +
      onAspectRatioUpdated(float, float, boolean) - Method in interface com.google.android.exoplayer2.ui.AspectRatioFrameLayout.AspectRatioListener
      +
      +
      Called when either the target aspect ratio or the view aspect ratio is updated.
      +
      +
      onAttachedToHost(PlaybackGlueHost) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      onAttachedToWindow() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      onAttachedToWindow() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      onAudioAttributesChanged(AnalyticsListener.EventTime, AudioAttributes) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the audio attributes change.
      +
      +
      onAudioAttributesChanged(AnalyticsListener.EventTime, AudioAttributes) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioAttributesChanged(AudioAttributes) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Called when the audio attributes change.
      +
      +
      onAudioAttributesChanged(AudioAttributes) - Method in interface com.google.android.exoplayer2.audio.AudioListener
      +
      +
      Called when the audio attributes change.
      +
      +
      onAudioCapabilitiesChanged(AudioCapabilities) - Method in interface com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver.Listener
      +
      +
      Called when the audio capabilities change.
      +
      +
      onAudioDecoderInitialized(AnalyticsListener.EventTime, String, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when an audio renderer creates a decoder.
      +
      +
      onAudioDecoderInitialized(AnalyticsListener.EventTime, String, long) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioDecoderInitialized(String, long, long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioDecoderInitialized(String, long, long) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when a decoder is created.
      +
      +
      onAudioDecoderReleased(AnalyticsListener.EventTime, String) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when an audio renderer releases a decoder.
      +
      +
      onAudioDecoderReleased(AnalyticsListener.EventTime, String) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioDecoderReleased(String) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioDecoderReleased(String) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when a decoder is released.
      +
      +
      onAudioDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when an audio renderer is disabled.
      +
      +
      onAudioDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onAudioDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioDisabled(DecoderCounters) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioDisabled(DecoderCounters) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when the renderer is disabled.
      +
      +
      onAudioEnabled(AnalyticsListener.EventTime, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when an audio renderer is enabled.
      +
      +
      onAudioEnabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioEnabled(DecoderCounters) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioEnabled(DecoderCounters) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when the renderer is enabled.
      +
      +
      onAudioInputFormatChanged(AnalyticsListener.EventTime, Format) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onAudioInputFormatChanged(AnalyticsListener.EventTime, Format, DecoderReuseEvaluation) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the format of the media being consumed by an audio renderer changes.
      +
      +
      onAudioInputFormatChanged(AnalyticsListener.EventTime, Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioInputFormatChanged(Format) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      + +
      +
      onAudioInputFormatChanged(Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioInputFormatChanged(Format, DecoderReuseEvaluation) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when the format of the media being consumed by the renderer changes.
      +
      +
      onAudioPositionAdvancing(long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioPositionAdvancing(long) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when the audio position has increased for the first time since the last pause or + position reset.
      +
      +
      onAudioPositionAdvancing(AnalyticsListener.EventTime, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the audio position has increased for the first time since the last pause or + position reset.
      +
      +
      onAudioSessionIdChanged(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Called when the audio session ID changes.
      +
      +
      onAudioSessionIdChanged(int) - Method in interface com.google.android.exoplayer2.audio.AudioListener
      +
      +
      Called when the audio session ID changes.
      +
      +
      onAudioSessionIdChanged(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the audio session ID changes.
      +
      +
      onAudioSessionIdChanged(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onAudioSinkError(AnalyticsListener.EventTime, Exception) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when AudioSink has encountered an error.
      +
      +
      onAudioSinkError(Exception) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioSinkError(Exception) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when AudioSink has encountered an error.
      +
      +
      onAudioSinkError(Exception) - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when AudioSink has encountered an error.
      +
      +
      onAudioUnderrun(int, long, long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onAudioUnderrun(int, long, long) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when an audio underrun occurs.
      +
      +
      onAudioUnderrun(AnalyticsListener.EventTime, int, long, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when an audio underrun occurs.
      +
      +
      onAudioUnderrun(AnalyticsListener.EventTime, int, long, long) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onBandwidthEstimate(AnalyticsListener.EventTime, int, long, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the bandwidth estimate for the current data source has been updated.
      +
      +
      onBandwidthEstimate(AnalyticsListener.EventTime, int, long, long) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onBandwidthEstimate(AnalyticsListener.EventTime, int, long, long) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onBandwidthSample(int, long, long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onBandwidthSample(int, long, long) - Method in interface com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener
      +
      +
      Called periodically to indicate that bytes have been transferred or the estimated bitrate has + changed.
      +
      +
      onBind(Intent) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Throws UnsupportedOperationException because this service is not designed to be bound.
      +
      +
      onBitmap(Bitmap) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager.BitmapCallback
      +
      +
      Called when Bitmap is available.
      +
      +
      onBytesTransferred(DataSource, DataSpec, boolean, int) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      onBytesTransferred(DataSource, DataSpec, boolean, int) - Method in interface com.google.android.exoplayer2.upstream.TransferListener
      +
      +
      Called incrementally during a transfer.
      +
      +
      onCachedBytesRead(long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.CacheDataSource.EventListener
      +
      +
      Called when bytes have been read from the cache.
      +
      +
      onCacheIgnored(int) - Method in interface com.google.android.exoplayer2.upstream.cache.CacheDataSource.EventListener
      +
      +
      Called when the current request ignores cache.
      +
      +
      onCacheInitialized() - Method in interface com.google.android.exoplayer2.upstream.cache.CacheEvictor
      +
      +
      Called when cache has been initialized.
      +
      +
      onCacheInitialized() - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      onCacheInitialized() - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      onCameraMotion(long, float[]) - Method in interface com.google.android.exoplayer2.video.spherical.CameraMotionListener
      +
      +
      Called when a new camera motion is read.
      +
      +
      onCameraMotionReset() - Method in interface com.google.android.exoplayer2.video.spherical.CameraMotionListener
      +
      +
      Called when the camera motion track position is reset or the track is disabled.
      +
      +
      onCastSessionAvailable() - Method in interface com.google.android.exoplayer2.ext.cast.SessionAvailabilityListener
      +
      +
      Called when a cast session becomes available to the player.
      +
      +
      onCastSessionUnavailable() - Method in interface com.google.android.exoplayer2.ext.cast.SessionAvailabilityListener
      +
      +
      Called when the cast session becomes unavailable.
      +
      +
      onChildSourceInfoRefreshed(ConcatenatingMediaSource.MediaSourceHolder, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(MediaSource.MediaPeriodId, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(Integer, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(Void, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(Void, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated.
      +
      onChildSourceInfoRefreshed(Void, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(Void, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      onChildSourceInfoRefreshed(T, MediaSource, Timeline) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Called when the source info of a child source has been refreshed.
      +
      +
      onChunkLoadCompleted(Chunk) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Called when the ChunkSampleStream has finished loading a chunk obtained from this + source.
      +
      +
      onChunkLoadCompleted(Chunk) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      onChunkLoadCompleted(Chunk) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
      +
      Called when a chunk load has been completed.
      +
      +
      onChunkLoadCompleted(Chunk) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      onChunkLoadCompleted(Chunk) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      onChunkLoadError(Chunk) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
      +
      Called when a chunk load has encountered an error.
      +
      +
      onChunkLoadError(Chunk, boolean, Exception, long) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Called when the ChunkSampleStream encounters an error loading a chunk obtained from + this source.
      +
      +
      onChunkLoadError(Chunk, boolean, Exception, long) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      onChunkLoadError(Chunk, boolean, Exception, long) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      onChunkLoadError(Chunk, boolean, Exception, long) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      onCodecInitialized(String, long, long) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onCodecInitialized(String, long, long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called when a MediaCodec has been created and configured.
      +
      +
      onCodecInitialized(String, long, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onCodecReleased(String) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onCodecReleased(String) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called when a MediaCodec has been released.
      +
      +
      onCodecReleased(String) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onCommand(Player, ControlDispatcher, String, Bundle, ResultReceiver) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.CommandReceiver
      +
      +
      See MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver).
      +
      +
      onCommand(Player, ControlDispatcher, String, Bundle, ResultReceiver) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      onCommand(Player, ControlDispatcher, String, Bundle, ResultReceiver) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onCommandRequest(MediaSession, MediaSession.ControllerInfo, SessionCommand) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.AllowedCommandProvider
      +
      +
      Called when a MediaController has called an API that controls SessionPlayer + set to the MediaSession.
      +
      +
      onCommandRequest(MediaSession, MediaSession.ControllerInfo, SessionCommand) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
      +
       
      +
      onConfigure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Called when the processor is configured for a new input format.
      +
      +
      onConfigure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      onConfigure(AudioProcessor.AudioFormat) - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
       
      +
      onConfigured(MediaFormat, Surface, MediaCrypto, int) - Method in class com.google.android.exoplayer2.robolectric.RandomizedMp3Decoder
      +
       
      +
      onContentAspectRatioChanged(float, AspectRatioFrameLayout, View) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Called when there's a change in the aspect ratio of the content being displayed.
      +
      +
      onContentAspectRatioChanged(float, AspectRatioFrameLayout, View) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Called when there's a change in the aspect ratio of the content being displayed.
      +
      +
      onContinueLoadingRequested(ChunkSampleStream<FakeChunkSource>) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      onContinueLoadingRequested(HlsSampleStreamWrapper) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      onContinueLoadingRequested(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      onContinueLoadingRequested(MediaPeriod) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      onContinueLoadingRequested(T) - Method in interface com.google.android.exoplayer2.source.SequenceableLoader.Callback
      +
      +
      Called by the loader to indicate that it wishes for its SequenceableLoader.continueLoading(long) method + to be called when it can continue to load data.
      +
      +
      onCreate() - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
       
      +
      onCreate(SQLiteDatabase) - Method in class com.google.android.exoplayer2.database.ExoDatabaseProvider
      +
       
      +
      onCreate(Bundle) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      onCreateMediaItem(MediaSession, MediaSession.ControllerInfo, String) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.MediaIdMediaItemProvider
      +
       
      +
      onCreateMediaItem(MediaSession, MediaSession.ControllerInfo, String) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.MediaItemProvider
      +
      +
      Called when MediaSession.SessionCallback.onCreateMediaItem(MediaSession, + ControllerInfo, String) is called.
      +
      +
      onCues(List<Cue>) - Method in interface com.google.android.exoplayer2.text.TextOutput
      +
      +
      Called when there is a change in the Cues.
      +
      +
      onCues(List<Cue>) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
       
      +
      onCurrentWindowIndexChanged(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      Called when the current window index changed.
      +
      +
      onCurrentWindowIndexChanged(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onCustomAction(Player, ControlDispatcher, String, Bundle) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.CustomActionProvider
      +
      +
      Called when a custom action provided by this provider is sent to the media session.
      +
      +
      onCustomAction(Player, ControlDispatcher, String, Bundle) - Method in class com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
      +
       
      +
      onCustomAction(Player, String, Intent) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.CustomActionReceiver
      +
      +
      Called when a custom action has been received.
      +
      +
      onCustomCommand(MediaSession, MediaSession.ControllerInfo, SessionCommand, Bundle) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.CustomCommandProvider
      +
      +
      Called when a controller has sent a custom command.
      +
      +
      onDashManifestPublishTimeExpired(long) - Method in interface com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerEmsgCallback
      +
      +
      Called when the manifest with the publish time has been expired.
      +
      +
      onDashManifestRefreshRequested() - Method in interface com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerEmsgCallback
      +
      +
      Called when the current manifest should be refreshed.
      +
      +
      onDataRead(int) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      onDecoderDisabled(AnalyticsListener.EventTime, int, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onDecoderEnabled(AnalyticsListener.EventTime, int, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onDecoderInitialized(AnalyticsListener.EventTime, int, String, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onDecoderInputFormatChanged(AnalyticsListener.EventTime, int, Format) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onDestroy() - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
       
      +
      onDetachedFromHost() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      onDetachedFromWindow() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      onDetachedFromWindow() - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
       
      +
      onDetachedFromWindow() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      onDeviceInfoChanged(DeviceInfo) - Method in interface com.google.android.exoplayer2.device.DeviceListener
      +
      +
      Called when the device information changes.
      +
      +
      onDeviceVolumeChanged(int, boolean) - Method in interface com.google.android.exoplayer2.device.DeviceListener
      +
      +
      Called when the device volume or mute state changes.
      +
      +
      onDisabled() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer is disabled.
      +
      +
      onDisabled() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer is disabled.
      +
      +
      onDisabled() - Method in class com.google.android.exoplayer2.testutil.FakeAudioRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      onDisabled() - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer is disabled.
      +
      +
      onDisconnected(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DisconnectedCallback
      +
      +
      Called when the specified controller is disconnected.
      +
      +
      onDiscontinuity() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Called to notify the selection of a position discontinuity.
      +
      +
      onDowngrade(SQLiteDatabase, int, int) - Method in class com.google.android.exoplayer2.database.ExoDatabaseProvider
      +
       
      +
      onDownloadChanged(Download) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Deprecated. +
      Some state change events may not be delivered to this method. Instead, use DownloadManager.addListener(DownloadManager.Listener) to register a listener directly to + the DownloadManager that you return through DownloadService.getDownloadManager().
      +
      +
      +
      onDownloadChanged(DownloadManager, Download, Exception) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when the state of a download changes.
      +
      +
      onDownloadChanged(DownloadManager, Download, Exception) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
       
      +
      onDownloadRemoved(Download) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Deprecated. +
      Some download removal events may not be delivered to this method. Instead, use + DownloadManager.addListener(DownloadManager.Listener) to register a listener + directly to the DownloadManager that you return through DownloadService.getDownloadManager().
      +
      +
      +
      onDownloadRemoved(DownloadManager, Download) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when a download is removed.
      +
      +
      onDownloadRemoved(DownloadManager, Download) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
       
      +
      onDownloadsPausedChanged(DownloadManager, boolean) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when downloads are (paused or resumed.
      +
      +
      onDownstreamFormatChanged(int, MediaSource.MediaPeriodId, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDownstreamFormatChanged(int, MediaSource.MediaPeriodId, MediaLoadData) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when a downstream format change occurs (i.e.
      +
      +
      onDownstreamFormatChanged(AnalyticsListener.EventTime, MediaLoadData) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the downstream format sent to the renderers changed.
      +
      +
      onDownstreamFormatChanged(AnalyticsListener.EventTime, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onDownstreamFormatChanged(AnalyticsListener.EventTime, MediaLoadData) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDraw(Canvas) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onDrmKeysLoaded(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmKeysLoaded(int, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called each time keys are loaded.
      +
      +
      onDrmKeysLoaded(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called each time drm keys are loaded.
      +
      +
      onDrmKeysLoaded(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDrmKeysRemoved(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmKeysRemoved(int, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called each time offline keys are removed.
      +
      +
      onDrmKeysRemoved(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called each time offline drm keys are removed.
      +
      +
      onDrmKeysRemoved(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDrmKeysRestored(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmKeysRestored(int, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called each time offline keys are restored.
      +
      +
      onDrmKeysRestored(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called each time offline drm keys are restored.
      +
      +
      onDrmKeysRestored(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDrmSessionAcquired(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmSessionAcquired(int, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called each time a drm session is acquired.
      +
      +
      onDrmSessionAcquired(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called each time a drm session is acquired.
      +
      +
      onDrmSessionAcquired(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDrmSessionManagerError(int, MediaSource.MediaPeriodId, Exception) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmSessionManagerError(int, MediaSource.MediaPeriodId, Exception) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called when a drm error occurs.
      +
      +
      onDrmSessionManagerError(AnalyticsListener.EventTime, Exception) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a drm error occurs.
      +
      +
      onDrmSessionManagerError(AnalyticsListener.EventTime, Exception) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onDrmSessionManagerError(AnalyticsListener.EventTime, Exception) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDrmSessionReleased(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDrmSessionReleased(int, MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.drm.DrmSessionEventListener
      +
      +
      Called each time a drm session is released.
      +
      +
      onDrmSessionReleased(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called each time a drm session is released.
      +
      +
      onDrmSessionReleased(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onDroppedFrames(int, long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onDroppedFrames(int, long) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called to report the number of frames dropped by the renderer.
      +
      +
      onDroppedVideoFrames(AnalyticsListener.EventTime, int, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called after video frames have been dropped.
      +
      +
      onDroppedVideoFrames(AnalyticsListener.EventTime, int, long) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onDroppedVideoFrames(AnalyticsListener.EventTime, int, long) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      oneByteSample(long) - Static method in class com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
      +
      +
      Creates an item representing a sample with the provided timestamp.
      +
      +
      oneByteSample(long, int) - Static method in class com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
      +
      +
      Creates an item representing a sample with the provided timestamp and flags.
      +
      +
      onEnabled() - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer is enabled.
      +
      +
      onEnabled(boolean) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer is enabled.
      +
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer is enabled.
      +
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeAudioRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onEnabled(boolean, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onEvent(ExoMediaDrm, byte[], int, int, byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm.OnEventListener
      +
      +
      Called when an event occurs that requires the app to be notified
      +
      +
      onEvents(Player, AnalyticsListener.Events) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called after one or more events occurred.
      +
      +
      onEvents(Player, AnalyticsListener.Events) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onEvents(Player, AnalyticsListener.Events) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onEvents(Player, Player.Events) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when one or more player states changed.
      +
      +
      onExperimentalOffloadSchedulingEnabledChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the player has started or stopped offload scheduling.
      +
      +
      onExperimentalSleepingForOffloadChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the player has started or finished sleeping for offload.
      +
      +
      onExpirationUpdate(ExoMediaDrm, byte[], long) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm.OnExpirationUpdateListener
      +
      +
      Called when a session expiration update occurs, to inform the app about the change in + expiration time.
      +
      +
      onFinished() - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onFinished() - Method in interface com.google.android.exoplayer2.testutil.HostActivity.HostedTest
      +
      +
      Called on the test thread after the test has finished and been stopped.
      +
      +
      onFlush() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Called when the processor is flushed, directly or as part of resetting.
      +
      +
      onFlush() - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      onFlush() - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
       
      +
      onFocusChanged(boolean, int, Rect) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onFormatChanged(float) - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer's output format changes.
      +
      +
      onFormatChanged(Format) - Method in class com.google.android.exoplayer2.testutil.FakeAudioRenderer
      +
       
      +
      onFormatChanged(Format) - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
      +
      Called when the renderer reads a new format.
      +
      +
      onFormatChanged(Format) - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onFrameAvailable() - Method in interface com.google.android.exoplayer2.util.EGLSurfaceTexture.TextureImageListener
      +
      +
      Called when the SurfaceTexture receives a new frame from its image producer.
      +
      +
      onFrameAvailable(SurfaceTexture) - Method in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
       
      +
      onFrameRendered(MediaCodecAdapter, long, long) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.OnFrameRenderedListener
      +
       
      +
      onFullScreenModeChanged(boolean) - Method in interface com.google.android.exoplayer2.ui.StyledPlayerControlView.OnFullScreenModeChangedListener
      +
      +
      Called to indicate a fullscreen mode change.
      +
      +
      onIdle(DownloadManager) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when there is no active download left.
      +
      +
      onIdle(DownloadManager) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
       
      +
      onInitializationFailed(IOException) - Method in interface com.google.android.exoplayer2.util.SntpClient.InitializationCallback
      +
      +
      Called when the device time offset failed to initialize.
      +
      +
      onInitializeAccessibilityEvent(AccessibilityEvent) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onInitialized() - Method in interface com.google.android.exoplayer2.util.SntpClient.InitializationCallback
      +
      +
      Called when the device time offset has been initialized.
      +
      +
      onInitialized(DownloadManager) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when all downloads have been restored.
      +
      +
      onInitialized(DownloadManager) - Method in class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
       
      +
      onInputFormatChanged(FormatHolder) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onInputFormatChanged(FormatHolder) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called when a new Format is read from the upstream MediaPeriod.
      +
      +
      onInputFormatChanged(FormatHolder) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Called when a new format is read from the upstream source.
      +
      +
      onInputFormatChanged(FormatHolder) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onIsLoadingChanged(boolean) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onIsLoadingChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the player starts or stops loading the source.
      +
      +
      onIsLoadingChanged(AnalyticsListener.EventTime, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the player starts or stops loading data from a source.
      +
      +
      onIsLoadingChanged(AnalyticsListener.EventTime, boolean) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onIsPlayingChanged(boolean) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onIsPlayingChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value of Player.isPlaying() changes.
      +
      +
      onIsPlayingChanged(AnalyticsListener.EventTime, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the player starts or stops playing.
      +
      +
      onIsPlayingChanged(AnalyticsListener.EventTime, boolean) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onKeyDown(int, KeyEvent) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onKeyStatusChange(ExoMediaDrm, byte[], List<ExoMediaDrm.KeyStatus>, boolean) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm.OnKeyStatusChangeListener
      +
      +
      Called when the keys in a session change status, such as when the license is renewed or + expires.
      +
      +
      onLayout(boolean, int, int, int, int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onLayout(boolean, int, int, int, int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      onLoadCanceled(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onLoadCanceled(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when a load is canceled.
      +
      +
      onLoadCanceled(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a media source canceled loading data.
      +
      +
      onLoadCanceled(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onLoadCanceled(Chunk, long, long, boolean) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      onLoadCanceled(ParsingLoadable<HlsPlaylist>, long, long, boolean) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      onLoadCanceled(ParsingLoadable<SsManifest>, long, long, boolean) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      onLoadCanceled(T, long, long, boolean) - Method in interface com.google.android.exoplayer2.upstream.Loader.Callback
      +
      +
      Called when a load has been canceled.
      +
      +
      onLoadCompleted(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onLoadCompleted(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when a load ends.
      +
      +
      onLoadCompleted(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a media source completed loading data.
      +
      +
      onLoadCompleted(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onLoadCompleted(Chunk, long, long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      onLoadCompleted(ParsingLoadable<HlsPlaylist>, long, long) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      onLoadCompleted(ParsingLoadable<SsManifest>, long, long) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      onLoadCompleted(T, long, long) - Method in interface com.google.android.exoplayer2.upstream.Loader.Callback
      +
      +
      Called when a load has completed.
      +
      +
      onLoaderReleased() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      onLoaderReleased() - Method in interface com.google.android.exoplayer2.upstream.Loader.ReleaseCallback
      +
      +
      Called when the Loader has finished being released.
      +
      +
      onLoadError(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData, IOException, boolean) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onLoadError(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData, IOException, boolean) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when a load error occurs.
      +
      +
      onLoadError(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData, IOException, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a media source loading error occurred.
      +
      +
      onLoadError(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData, IOException, boolean) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onLoadError(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData, IOException, boolean) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onLoadError(Chunk, long, long, IOException, int) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      onLoadError(ParsingLoadable<HlsPlaylist>, long, long, IOException, int) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      onLoadError(ParsingLoadable<SsManifest>, long, long, IOException, int) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      onLoadError(IOException) - Method in interface com.google.android.exoplayer2.source.ExtractorMediaSource.EventListener
      +
      +
      Deprecated.
      +
      Called when an error occurs loading media data.
      +
      +
      onLoadError(T, long, long, IOException, int) - Method in interface com.google.android.exoplayer2.upstream.Loader.Callback
      +
      +
      Called when a load encounters an error.
      +
      +
      onLoadingChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      + +
      +
      onLoadingChanged(AnalyticsListener.EventTime, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onLoadStarted(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onLoadStarted(int, MediaSource.MediaPeriodId, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when a load begins.
      +
      +
      onLoadStarted(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a media source started loading data.
      +
      +
      onLoadStarted(AnalyticsListener.EventTime, LoadEventInfo, MediaLoadData) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onLoadTaskConcluded(long) - Method in interface com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy
      +
      +
      Called once loadTaskId will not be associated with any more load errors.
      +
      +
      onMeasure(int, int) - Method in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
       
      +
      onMeasure(int, int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onMediaButtonEvent(Player, ControlDispatcher, Intent) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.MediaButtonEventHandler
      +
      +
      See MediaSessionCompat.Callback.onMediaButtonEvent(Intent).
      +
      +
      onMediaItemTransition(AnalyticsListener.EventTime, MediaItem, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when playback transitions to a different media item.
      +
      +
      onMediaItemTransition(AnalyticsListener.EventTime, MediaItem, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onMediaItemTransition(MediaItem, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onMediaItemTransition(MediaItem, int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when playback transitions to a media item or starts repeating a media item according + to the current repeat mode.
      +
      +
      onMediaItemTransition(MediaItem, int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onMessageArrived() - Method in interface com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget.Callback
      +
      +
      Notifies about the arrival of the message.
      +
      +
      onMetadata(AnalyticsListener.EventTime, Metadata) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when there is Metadata associated with the current playback time.
      +
      +
      onMetadata(AnalyticsListener.EventTime, Metadata) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onMetadata(Metadata) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Called when there is metadata associated with current playback time.
      +
      +
      onMetadata(Metadata) - Method in interface com.google.android.exoplayer2.metadata.MetadataOutput
      +
      +
      Called when there is metadata associated with current playback time.
      +
      +
      onNextFrame(long) - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called by the renderer for each frame, prior to it being skipped, dropped or rendered.
      +
      +
      onNotificationCancelled(int) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.NotificationListener
      +
      + +
      +
      onNotificationCancelled(int, boolean) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.NotificationListener
      +
      +
      Called after the notification has been cancelled.
      +
      +
      onNotificationPosted(int, Notification, boolean) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.NotificationListener
      +
      +
      Called each time after the notification has been posted.
      +
      +
      onNotificationStarted(int, Notification) - Method in interface com.google.android.exoplayer2.ui.PlayerNotificationManager.NotificationListener
      +
      + +
      +
      onOffloadBufferEmptying() - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when the offload buffer has been partially emptied.
      +
      +
      onOffloadBufferFull(long) - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when the offload buffer has been filled completely.
      +
      +
      onOutputFormatChanged(Format, MediaFormat) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onOutputFormatChanged(Format, MediaFormat) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called when one of the output formats changes.
      +
      +
      onOutputFormatChanged(Format, MediaFormat) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onPause() - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      onPause() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Should be called when the player is no longer visible to the user and if surface_type + is spherical_gl_surface_view.
      +
      +
      onPause() - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
       
      +
      onPause() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Should be called when the player is no longer visible to the user and if surface_type + is spherical_gl_surface_view.
      +
      +
      onPlaybackParametersChanged(AnalyticsListener.EventTime, PlaybackParameters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the playback parameters changed.
      +
      +
      onPlaybackParametersChanged(AnalyticsListener.EventTime, PlaybackParameters) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPlaybackParametersChanged(PlaybackParameters) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlaybackParametersChanged(PlaybackParameters) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the current playback parameters change.
      +
      +
      onPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      onPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      onPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
       
      +
      onPlaybackSpeed(float) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Called to notify the selection of the current playback speed.
      +
      +
      onPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer's playback speed changes.
      +
      +
      onPlaybackStateChanged(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlaybackStateChanged(int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value returned from Player.getPlaybackState() changes.
      +
      +
      onPlaybackStateChanged(int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onPlaybackStateChanged(int) - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      onPlaybackStateChanged(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the playback state changed.
      +
      +
      onPlaybackStateChanged(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPlaybackStatsReady(AnalyticsListener.EventTime, PlaybackStats) - Method in interface com.google.android.exoplayer2.analytics.PlaybackStatsListener.Callback
      +
      +
      Called when a playback session ends and its PlaybackStats are ready.
      +
      +
      onPlaybackSuppressionReasonChanged(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlaybackSuppressionReasonChanged(int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value returned from Player.getPlaybackSuppressionReason() changes.
      +
      +
      onPlaybackSuppressionReasonChanged(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when playback suppression reason changed.
      +
      +
      onPlaybackSuppressionReasonChanged(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPlayerError(AnalyticsListener.EventTime, ExoPlaybackException) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a fatal player error occurred.
      +
      +
      onPlayerError(AnalyticsListener.EventTime, ExoPlaybackException) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPlayerError(ExoPlaybackException) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlayerError(ExoPlaybackException) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when an error occurs.
      +
      +
      onPlayerError(ExoPlaybackException) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onPlayerErrorInternal(ExoPlaybackException) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onPlayerReleased(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the Player is released.
      +
      +
      onPlayerStateChanged(boolean, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlayerStateChanged(boolean, int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      + +
      +
      onPlayerStateChanged(AnalyticsListener.EventTime, boolean, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onPlaylistChanged() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      onPlaylistChanged() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistEventListener
      +
      +
      Called a playlist changes.
      +
      +
      onPlaylistError(Uri, long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      onPlaylistError(Uri, long) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistEventListener
      +
      +
      Called if an error is encountered while loading a playlist.
      +
      +
      onPlaylistRefreshRequired(Uri) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      onPlayWhenReadyChanged(boolean) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Called to notify when the playback is paused or resumed.
      +
      +
      onPlayWhenReadyChanged(boolean, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPlayWhenReadyChanged(boolean, int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value returned from Player.getPlayWhenReady() changes.
      +
      +
      onPlayWhenReadyChanged(boolean, int) - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      onPlayWhenReadyChanged(AnalyticsListener.EventTime, boolean, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the value changed that indicates whether playback will proceed when ready.
      +
      +
      onPlayWhenReadyChanged(AnalyticsListener.EventTime, boolean, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPositionAdvancing(long) - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when the audio sink's position has increased for the first time since it was last + paused or flushed.
      +
      +
      onPositionDiscontinuity() - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when the audio sink handles a buffer whose timestamp is discontinuous with the last + buffer handled since it was reset.
      +
      +
      onPositionDiscontinuity() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      + +
      +
      onPositionDiscontinuity() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
      + +
      +
      onPositionDiscontinuity(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onPositionDiscontinuity(int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      onPositionDiscontinuity(int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when a position discontinuity occurs without a change to the timeline.
      +
      +
      onPositionDiscontinuity(int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onPositionDiscontinuity(int) - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      onPositionDiscontinuity(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a position discontinuity occurred.
      +
      +
      onPositionDiscontinuity(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onPositionDiscontinuity(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onPositionReset() - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer's position is reset.
      +
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the position is reset.
      +
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the position is reset.
      +
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onPositionReset(long, boolean) - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      onPostConnect(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.PostConnectCallback
      +
      +
      Called after the specified controller is connected, and you need extra initialization.
      +
      +
      onPrepare(boolean) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
      +
      See MediaSessionCompat.Callback.onPrepare().
      +
      +
      onPrepareComplete(MediaSource.MediaPeriodId) - Method in interface com.google.android.exoplayer2.source.MaskingMediaPeriod.PrepareListener
      +
      +
      Called when preparing the media period completes.
      +
      +
      onPrepared() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      onPrepared() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called by the player when prepared with a new source.
      +
      +
      onPrepared() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      onPrepared(DownloadHelper) - Method in interface com.google.android.exoplayer2.offline.DownloadHelper.Callback
      +
      +
      Called when preparation completes.
      +
      +
      onPrepared(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      onPrepared(MediaPeriod) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      onPrepared(MediaPeriod) - Method in interface com.google.android.exoplayer2.source.MediaPeriod.Callback
      +
      +
      Called when preparation completes.
      +
      +
      onPrepareError(DownloadHelper, IOException) - Method in interface com.google.android.exoplayer2.offline.DownloadHelper.Callback
      +
      +
      Called when preparation fails.
      +
      +
      onPrepareError(MediaSource.MediaPeriodId, IOException) - Method in interface com.google.android.exoplayer2.source.MaskingMediaPeriod.PrepareListener
      +
      +
      Called the first time an error occurs while refreshing source info or preparing the period.
      +
      +
      onPrepareFromMediaId(String, boolean, Bundle) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
      +
      See MediaSessionCompat.Callback.onPrepareFromMediaId(String, Bundle).
      +
      +
      onPrepareFromSearch(String, boolean, Bundle) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
      +
      See MediaSessionCompat.Callback.onPrepareFromSearch(String, Bundle).
      +
      +
      onPrepareFromUri(Uri, boolean, Bundle) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.PlaybackPreparer
      +
      +
      See MediaSessionCompat.Callback.onPrepareFromUri(Uri, Bundle).
      +
      +
      onPrimaryPlaylistRefreshed(HlsMediaPlaylist) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      onPrimaryPlaylistRefreshed(HlsMediaPlaylist) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PrimaryPlaylistListener
      +
      +
      Called when the primary playlist changes.
      +
      +
      onProcessedOutputBuffer(long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called when an output buffer is successfully processed.
      +
      +
      onProcessedOutputBuffer(long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Called when an output buffer is successfully processed.
      +
      +
      onProcessedOutputBuffer(long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onProcessedStreamChange() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onProcessedStreamChange() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called after the last output buffer before a stream change has been processed.
      +
      +
      onProcessedStreamChange() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onProcessedTunneledBuffer(long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Called when a buffer was processed in tunneling mode.
      +
      +
      onProgress(long, long, float) - Method in interface com.google.android.exoplayer2.offline.Downloader.ProgressListener
      +
      +
      Called when progress is made during a download operation.
      +
      +
      onProgress(long, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.CacheWriter.ProgressListener
      +
      +
      Called when progress is made during a cache operation.
      +
      +
      onProgressUpdate(long, long) - Method in interface com.google.android.exoplayer2.ui.PlayerControlView.ProgressUpdateListener
      +
      +
      Called when progress needs to be updated.
      +
      +
      onProgressUpdate(long, long) - Method in interface com.google.android.exoplayer2.ui.StyledPlayerControlView.ProgressUpdateListener
      +
      +
      Called when progress needs to be updated.
      +
      +
      onQueueEndOfStream() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Called when the end-of-stream is queued to the processor.
      +
      +
      onQueueEndOfStream() - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      onQueueEndOfStream() - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
       
      +
      onQueueInputBuffer(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onQueueInputBuffer(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Called immediately before an input buffer is queued into the codec.
      +
      +
      onQueueInputBuffer(DecoderInputBuffer) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Called immediately before an input buffer is queued into the codec.
      +
      +
      onQueueInputBuffer(VideoDecoderInputBuffer) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Called immediately before an input buffer is queued into the decoder.
      +
      +
      onRebuffer() - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Called to notify when a rebuffer occurred.
      +
      +
      onReleased() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      onReleased() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called by the player when released.
      +
      +
      onRemoveQueueItem(Player, MediaDescriptionCompat) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueEditor
      +
      +
      See MediaSessionCompat.Callback.onRemoveQueueItem(MediaDescriptionCompat + description).
      +
      +
      onRemoveQueueItem(Player, MediaDescriptionCompat) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
       
      +
      onRenderedFirstFrame() - Method in interface com.google.android.exoplayer2.video.VideoListener
      +
      +
      Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
      +
      +
      onRenderedFirstFrame(Surface) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onRenderedFirstFrame(Surface) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
      +
      +
      onRenderedFirstFrame(AnalyticsListener.EventTime, Surface) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a frame is rendered for the first time since setting the surface, or since the + renderer was reset, or since the stream being rendered was changed.
      +
      +
      onRenderedFirstFrame(AnalyticsListener.EventTime, Surface) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onRendererOffsetChanged(long) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer's offset has been changed.
      +
      +
      onRepeatModeChanged(int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onRepeatModeChanged(int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      onRepeatModeChanged(int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value of Player.getRepeatMode() changes.
      +
      +
      onRepeatModeChanged(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the repeat mode changed.
      +
      +
      onRepeatModeChanged(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onRequirementsStateChanged(DownloadManager, Requirements, int) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when the download requirements state changed.
      +
      +
      onRequirementsStateChanged(RequirementsWatcher, int) - Method in interface com.google.android.exoplayer2.scheduler.RequirementsWatcher.Listener
      +
      +
      Called when there is a change on the met requirements.
      +
      +
      onReset() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Called when the processor is reset.
      +
      +
      onReset() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onReset() - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      onReset() - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
       
      +
      onReset() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer is reset.
      +
      +
      onReset() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onReset() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer is reset.
      +
      +
      onReset() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onResume() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Should be called when the player is visible to the user and if surface_type is + spherical_gl_surface_view.
      +
      +
      onResume() - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
       
      +
      onResume() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Should be called when the player is visible to the user and if surface_type is + spherical_gl_surface_view.
      +
      +
      onRtlPropertiesChanged(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onSampleCompleted(int, long, int, int, int, MediaCodec.CryptoInfo) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
       
      +
      onSampleDataFound(int, MediaParser.InputReader) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
       
      +
      onSampleStreamReleased(ChunkSampleStream<T>) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSampleStream.ReleaseCallback
      +
      +
      Called when the ChunkSampleStream has finished being released.
      +
      +
      onScrubMove(TimeBar, long) - Method in interface com.google.android.exoplayer2.ui.TimeBar.OnScrubListener
      +
      +
      Called when the user moves the scrubber.
      +
      +
      onScrubStart(TimeBar, long) - Method in interface com.google.android.exoplayer2.ui.TimeBar.OnScrubListener
      +
      +
      Called when the user starts moving the scrubber.
      +
      +
      onScrubStop(TimeBar, long, boolean) - Method in interface com.google.android.exoplayer2.ui.TimeBar.OnScrubListener
      +
      +
      Called when the user stops moving the scrubber.
      +
      +
      onSeekFinished() - Method in interface com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSeeker
      +
      +
      Called when a seek operation finishes.
      +
      +
      onSeekMapFound(MediaParser.SeekMap) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
       
      +
      onSeekOperationFinished(boolean, long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      onSeekProcessed() - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onSeekProcessed() - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Deprecated. +
      Seeks are processed without delay. Listen to Player.EventListener.onPositionDiscontinuity(int) with reason Player.DISCONTINUITY_REASON_SEEK instead.
      +
      +
      +
      onSeekProcessed(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Deprecated. +
      Seeks are processed without delay. Use AnalyticsListener.onPositionDiscontinuity(EventTime, + int) with reason Player.DISCONTINUITY_REASON_SEEK instead.
      +
      +
      +
      onSeekStarted(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a seek operation started.
      +
      +
      onSeekStarted(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onSeekStarted(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onSelectionActivated(Object) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector
      +
       
      +
      onSelectionActivated(Object) - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
      +
      + +
      +
      onSessionActive(AnalyticsListener.EventTime, String) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager.Listener
      +
      +
      Called when a session becomes active, i.e.
      +
      +
      onSessionActive(AnalyticsListener.EventTime, String) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onSessionCreated(AnalyticsListener.EventTime, String) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager.Listener
      +
      +
      Called when a new session is created as a result of PlaybackSessionManager.updateSessions(EventTime).
      +
      +
      onSessionCreated(AnalyticsListener.EventTime, String) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onSessionFinished(AnalyticsListener.EventTime, String, boolean) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager.Listener
      +
      +
      Called when a session is permanently finished.
      +
      +
      onSessionFinished(AnalyticsListener.EventTime, String, boolean) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onSetCaptioningEnabled(Player, boolean) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.CaptionCallback
      +
      +
      See MediaSessionCompat.Callback.onSetCaptioningEnabled(boolean).
      +
      +
      onSetRating(MediaSession, MediaSession.ControllerInfo, String, Rating) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.RatingCallback
      +
      +
      Called when the specified controller has set a rating for the specified media id.
      +
      +
      onSetRating(Player, RatingCompat) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.RatingCallback
      +
      +
      See MediaSessionCompat.Callback.onSetRating(RatingCompat).
      +
      +
      onSetRating(Player, RatingCompat, Bundle) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.RatingCallback
      +
      +
      See MediaSessionCompat.Callback.onSetRating(RatingCompat, Bundle).
      +
      +
      onShuffleModeChanged(AnalyticsListener.EventTime, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the shuffle mode changed.
      +
      +
      onShuffleModeChanged(AnalyticsListener.EventTime, boolean) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onShuffleModeEnabledChanged(boolean) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onShuffleModeEnabledChanged(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      onShuffleModeEnabledChanged(boolean) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the value of Player.getShuffleModeEnabled() changes.
      +
      +
      onSingleTapUp(MotionEvent) - Method in interface com.google.android.exoplayer2.ui.spherical.SingleTapListener
      +
      +
      Notified when a tap occurs with the up MotionEvent that triggered it.
      +
      +
      onSkipBackward(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.SkipCallback
      +
      +
      Called when the specified controller has sent skip backward.
      +
      +
      onSkipForward(MediaSession, MediaSession.ControllerInfo) - Method in interface com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.SkipCallback
      +
      +
      Called when the specified controller has sent skip forward.
      +
      +
      onSkipSilenceEnabledChanged(boolean) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onSkipSilenceEnabledChanged(boolean) - Method in interface com.google.android.exoplayer2.audio.AudioListener
      +
      +
      Called when skipping silences is enabled or disabled in the audio stream.
      +
      +
      onSkipSilenceEnabledChanged(boolean) - Method in interface com.google.android.exoplayer2.audio.AudioRendererEventListener
      +
      +
      Called when skipping silences is enabled or disabled in the audio stream.
      +
      +
      onSkipSilenceEnabledChanged(boolean) - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when skipping silences is enabled or disabled.
      +
      +
      onSkipSilenceEnabledChanged(AnalyticsListener.EventTime, boolean) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when skipping silences is enabled or disabled in the audio stream.
      +
      +
      onSkipSilenceEnabledChanged(AnalyticsListener.EventTime, boolean) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onSkipToNext(Player, ControlDispatcher) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      See MediaSessionCompat.Callback.onSkipToNext().
      +
      +
      onSkipToNext(Player, ControlDispatcher) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onSkipToPrevious(Player, ControlDispatcher) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      See MediaSessionCompat.Callback.onSkipToPrevious().
      +
      +
      onSkipToPrevious(Player, ControlDispatcher) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onSkipToQueueItem(Player, ControlDispatcher, long) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      See MediaSessionCompat.Callback.onSkipToQueueItem(long).
      +
      +
      onSkipToQueueItem(Player, ControlDispatcher, long) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onSleep(long) - Method in interface com.google.android.exoplayer2.Renderer.WakeupListener
      +
      +
      The renderer no longer needs to render until the next wakeup.
      +
      +
      onSourceInfoRefreshed(long, boolean, boolean) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      onSourceInfoRefreshed(MediaSource, Timeline) - Method in interface com.google.android.exoplayer2.source.MediaSource.MediaSourceCaller
      +
      +
      Called when the Timeline has been refreshed.
      +
      +
      onSpanAdded(Cache, CacheSpan) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache.Listener
      +
      +
      Called when a CacheSpan is added to the cache.
      +
      +
      onSpanAdded(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      onSpanAdded(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      onSpanAdded(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      onSpanRemoved(Cache, CacheSpan) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache.Listener
      +
      +
      Called when a CacheSpan is removed from the cache.
      +
      +
      onSpanRemoved(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      onSpanRemoved(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      onSpanRemoved(Cache, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      onSpanTouched(Cache, CacheSpan, CacheSpan) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache.Listener
      +
      +
      Called when an existing CacheSpan is touched, causing it to be replaced.
      +
      +
      onSpanTouched(Cache, CacheSpan, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      onSpanTouched(Cache, CacheSpan, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      onSpanTouched(Cache, CacheSpan, CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      onStart() - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      onStart(HostActivity, Surface, FrameLayout) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onStart(HostActivity, Surface, FrameLayout) - Method in interface com.google.android.exoplayer2.testutil.HostActivity.HostedTest
      +
      +
      Called on the main thread when the test is started.
      +
      +
      onStartCommand(Intent, int, int) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer is started.
      +
      +
      onStarted() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer is started.
      +
      +
      onStarted() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onStarted() - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer is started.
      +
      +
      onStartFile(Cache, String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.CacheEvictor
      +
      +
      Called when a writer starts writing to the cache.
      +
      +
      onStartFile(Cache, String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      onStartFile(Cache, String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      onStartJob(JobParameters) - Method in class com.google.android.exoplayer2.scheduler.PlatformScheduler.PlatformSchedulerService
      +
       
      +
      onStartJob(JobParameters) - Method in class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler.JobDispatcherSchedulerService
      +
      +
      Deprecated.
      +
      onStaticMetadataChanged(AnalyticsListener.EventTime, List<Metadata>) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the static metadata changes.
      +
      +
      onStaticMetadataChanged(AnalyticsListener.EventTime, List<Metadata>) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onStaticMetadataChanged(List<Metadata>) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onStaticMetadataChanged(List<Metadata>) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the static metadata changes.
      +
      +
      onStop() - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      onStopJob(JobParameters) - Method in class com.google.android.exoplayer2.scheduler.PlatformScheduler.PlatformSchedulerService
      +
       
      +
      onStopJob(JobParameters) - Method in class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler.JobDispatcherSchedulerService
      +
      +
      Deprecated.
      +
      onStopped() - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer is stopped.
      +
      +
      onStopped() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      onStopped() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called by the player when stopped.
      +
      +
      onStopped() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
      +
      Called when the renderer is stopped.
      +
      +
      onStopped() - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      onStopped() - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer is stopped.
      +
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Called when the renderer's stream has changed.
      +
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      onStreamChanged(Format[], long, long) - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      onSurfaceChanged(Surface) - Method in class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Called when the renderer changes which Surface it's rendering to renders to.
      +
      +
      onSurfaceSizeChanged(int, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Called each time there's a change in the size of the surface onto which the video is being + rendered.
      +
      +
      onSurfaceSizeChanged(int, int) - Method in interface com.google.android.exoplayer2.video.VideoListener
      +
      +
      Called each time there's a change in the size of the surface onto which the video is being + rendered.
      +
      +
      onSurfaceSizeChanged(AnalyticsListener.EventTime, int, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the output surface size changed.
      +
      +
      onSurfaceSizeChanged(AnalyticsListener.EventTime, int, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onTaskRemoved(Intent) - Method in class com.google.android.exoplayer2.offline.DownloadService
      +
       
      +
      onTimelineChanged(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the timeline changed.
      +
      +
      onTimelineChanged(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onTimelineChanged(Player) - Method in interface com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.QueueNavigator
      +
      +
      Called when the timeline of the player has changed.
      +
      +
      onTimelineChanged(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
       
      +
      onTimelineChanged(Timeline, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onTimelineChanged(Timeline, int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      onTimelineChanged(Timeline, int) - Method in class com.google.android.exoplayer2.Player.DefaultEventListener
      +
      +
      Deprecated.
      +
      onTimelineChanged(Timeline, int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the timeline has been refreshed.
      +
      +
      onTimelineChanged(Timeline, int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onTimelineChanged(Timeline, Object, int) - Method in class com.google.android.exoplayer2.Player.DefaultEventListener
      +
      +
      Deprecated.
      +
      onTimelineChanged(Timeline, Object, int) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Deprecated. +
      Use Player.EventListener.onTimelineChanged(Timeline, int) instead. The manifest can be + accessed by using Player.getCurrentManifest() or timeline.getWindow(windowIndex, + window).manifest for a given window index.
      +
      +
      +
      onTouchEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      onTouchEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      onTouchEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      onTrackballEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      onTrackballEvent(MotionEvent) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      onTrackCountFound(int) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
       
      +
      onTrackDataFound(int, MediaParser.TrackData) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
       
      +
      onTracksChanged(AnalyticsListener.EventTime, TrackGroupArray, TrackSelectionArray) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the available or selected tracks for the renderers changed.
      +
      +
      onTracksChanged(AnalyticsListener.EventTime, TrackGroupArray, TrackSelectionArray) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onTracksChanged(TrackGroupArray, TrackSelectionArray) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onTracksChanged(TrackGroupArray, TrackSelectionArray) - Method in interface com.google.android.exoplayer2.Player.EventListener
      +
      +
      Called when the available or selected tracks change.
      +
      +
      onTracksChanged(TrackGroupArray, TrackSelectionArray) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
       
      +
      onTrackSelectionChanged(boolean, List<DefaultTrackSelector.SelectionOverride>) - Method in interface com.google.android.exoplayer2.ui.TrackSelectionView.TrackSelectionListener
      +
      +
      Called when the selected tracks changed.
      +
      +
      onTrackSelectionsInvalidated() - Method in interface com.google.android.exoplayer2.trackselection.TrackSelector.InvalidationListener
      +
      +
      Called by a TrackSelector to indicate that selections it has previously made are no + longer valid.
      +
      +
      onTracksSelected(boolean, List<DefaultTrackSelector.SelectionOverride>) - Method in interface com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder.DialogCallback
      +
      +
      Called when tracks are selected.
      +
      +
      onTracksSelected(Renderer[], TrackGroupArray, ExoTrackSelection[]) - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      onTracksSelected(Renderer[], TrackGroupArray, ExoTrackSelection[]) - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called by the player when a track selection occurs.
      +
      +
      onTransferEnd(DataSource, DataSpec, boolean) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      onTransferEnd(DataSource, DataSpec, boolean) - Method in interface com.google.android.exoplayer2.upstream.TransferListener
      +
      +
      Called when a transfer ends.
      +
      +
      onTransferInitializing(DataSource, DataSpec, boolean) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      onTransferInitializing(DataSource, DataSpec, boolean) - Method in interface com.google.android.exoplayer2.upstream.TransferListener
      +
      +
      Called when a transfer is being initialized.
      +
      +
      onTransferStart(DataSource, DataSpec, boolean) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      onTransferStart(DataSource, DataSpec, boolean) - Method in interface com.google.android.exoplayer2.upstream.TransferListener
      +
      +
      Called when a transfer starts.
      +
      +
      onTransformationCompleted(MediaItem) - Method in interface com.google.android.exoplayer2.transformer.Transformer.Listener
      +
      +
      Called when the transformation is completed.
      +
      +
      onTransformationError(MediaItem, Exception) - Method in interface com.google.android.exoplayer2.transformer.Transformer.Listener
      +
      +
      Called if an error occurs during the transformation.
      +
      +
      onTruncatedSegmentParsed() - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      onTruncatedSegmentParsed() - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Resets the sample parsing state.
      +
      +
      onTruncatedSegmentParsed() - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      onUnderrun(int, long, long) - Method in interface com.google.android.exoplayer2.audio.AudioSink.Listener
      +
      +
      Called when the audio sink runs out of data.
      +
      +
      onUpgrade(SQLiteDatabase, int, int) - Method in class com.google.android.exoplayer2.database.ExoDatabaseProvider
      +
       
      +
      onUpstreamDiscarded(int, MediaSource.MediaPeriodId, MediaLoadData) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onUpstreamDiscarded(int, MediaSource.MediaPeriodId, MediaLoadData) - Method in interface com.google.android.exoplayer2.source.MediaSourceEventListener
      +
      +
      Called when data is removed from the back of a media buffer, typically so that it can be + re-buffered in a different format.
      +
      +
      onUpstreamDiscarded(AnalyticsListener.EventTime, MediaLoadData) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when data is removed from the back of a media buffer, typically so that it can be + re-buffered in a different format.
      +
      +
      onUpstreamDiscarded(AnalyticsListener.EventTime, MediaLoadData) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onUpstreamFormatChanged(Format) - Method in interface com.google.android.exoplayer2.source.SampleQueue.UpstreamFormatChangedListener
      +
      +
      Called on the loading thread when an upstream format change occurs.
      +
      +
      onVideoDecoderInitialized(AnalyticsListener.EventTime, String, long) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a video renderer creates a decoder.
      +
      +
      onVideoDecoderInitialized(AnalyticsListener.EventTime, String, long) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVideoDecoderInitialized(String, long, long) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoDecoderInitialized(String, long, long) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when a decoder is created.
      +
      +
      onVideoDecoderReleased(AnalyticsListener.EventTime, String) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a video renderer releases a decoder.
      +
      +
      onVideoDecoderReleased(AnalyticsListener.EventTime, String) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVideoDecoderReleased(String) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoDecoderReleased(String) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when a decoder is released.
      +
      +
      onVideoDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a video renderer is disabled.
      +
      +
      onVideoDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      onVideoDisabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVideoDisabled(DecoderCounters) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoDisabled(DecoderCounters) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when the renderer is disabled.
      +
      +
      onVideoEnabled(AnalyticsListener.EventTime, DecoderCounters) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when a video renderer is enabled.
      +
      +
      onVideoEnabled(AnalyticsListener.EventTime, DecoderCounters) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVideoEnabled(DecoderCounters) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoEnabled(DecoderCounters) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when the renderer is enabled.
      +
      +
      onVideoFrameAboutToBeRendered(long, long, Format, MediaFormat) - Method in interface com.google.android.exoplayer2.video.VideoFrameMetadataListener
      +
      +
      Called on the playback thread when a video frame is about to be rendered.
      +
      +
      onVideoFrameProcessingOffset(long, int) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoFrameProcessingOffset(long, int) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called to report the video processing offset of video frames processed by the video renderer.
      +
      +
      onVideoFrameProcessingOffset(AnalyticsListener.EventTime, long, int) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when there is an update to the video frame processing offset reported by a video + renderer.
      +
      +
      onVideoInputFormatChanged(AnalyticsListener.EventTime, Format) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      + +
      +
      onVideoInputFormatChanged(AnalyticsListener.EventTime, Format, DecoderReuseEvaluation) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the format of the media being consumed by a video renderer changes.
      +
      +
      onVideoInputFormatChanged(AnalyticsListener.EventTime, Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVideoInputFormatChanged(Format) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      + +
      +
      onVideoInputFormatChanged(Format, DecoderReuseEvaluation) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoInputFormatChanged(Format, DecoderReuseEvaluation) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called when the format of the media being consumed by the renderer changes.
      +
      +
      onVideoSizeChanged(int, int, int, float) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
       
      +
      onVideoSizeChanged(int, int, int, float) - Method in interface com.google.android.exoplayer2.video.VideoListener
      +
      +
      Called each time there's a change in the size of the video being rendered.
      +
      +
      onVideoSizeChanged(int, int, int, float) - Method in interface com.google.android.exoplayer2.video.VideoRendererEventListener
      +
      +
      Called before a frame is rendered for the first time since setting the surface, and each time + there's a change in the size, rotation or pixel aspect ratio of the video being rendered.
      +
      +
      onVideoSizeChanged(AnalyticsListener.EventTime, int, int, int, float) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called before a frame is rendered for the first time since setting the surface, and each time + there's a change in the size or pixel aspect ratio of the video being rendered.
      +
      +
      onVideoSizeChanged(AnalyticsListener.EventTime, int, int, int, float) - Method in class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
       
      +
      onVideoSizeChanged(AnalyticsListener.EventTime, int, int, int, float) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onVisibilityChange(int) - Method in interface com.google.android.exoplayer2.ui.PlayerControlView.VisibilityListener
      +
      +
      Called when the visibility changes.
      +
      +
      onVisibilityChange(int) - Method in interface com.google.android.exoplayer2.ui.StyledPlayerControlView.VisibilityListener
      +
      +
      Called when the visibility changes.
      +
      +
      onVolumeChanged(float) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Called when the volume changes.
      +
      +
      onVolumeChanged(float) - Method in interface com.google.android.exoplayer2.audio.AudioListener
      +
      +
      Called when the volume changes.
      +
      +
      onVolumeChanged(AnalyticsListener.EventTime, float) - Method in interface com.google.android.exoplayer2.analytics.AnalyticsListener
      +
      +
      Called when the volume changes.
      +
      +
      onVolumeChanged(AnalyticsListener.EventTime, float) - Method in class com.google.android.exoplayer2.util.EventLogger
      +
       
      +
      onWaitingForRequirementsChanged(DownloadManager, boolean) - Method in interface com.google.android.exoplayer2.offline.DownloadManager.Listener
      +
      +
      Called when there is a change in whether this manager has one or more downloads that are not + progressing for the sole reason that the Requirements are not met.
      +
      +
      onWakeup() - Method in interface com.google.android.exoplayer2.Renderer.WakeupListener
      +
      +
      The renderer needs to render some frames.
      +
      +
      open() - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
      +
      Optional call to open the underlying DataSource.
      +
      +
      open() - Method in class com.google.android.exoplayer2.util.ConditionVariable
      +
      +
      Opens the condition and releases all threads that are blocked.
      +
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.AssetDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSink
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.ContentDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      open(DataSpec) - Method in interface com.google.android.exoplayer2.upstream.DataSink
      +
      +
      Opens the sink to consume the specified data.
      +
      +
      open(DataSpec) - Method in interface com.google.android.exoplayer2.upstream.DataSource
      +
      +
      Opens the source to read the specified data.
      +
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      +
      Opens the source to read the specified data.
      +
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.FileDataSource
      +
       
      +
      open(DataSpec) - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      Opens the source to read the specified data.
      +
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      open(DataSpec) - Method in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      OpenException(IOException, DataSpec, int) - Constructor for exception com.google.android.exoplayer2.ext.cronet.CronetDataSource.OpenException
      +
       
      +
      OpenException(String, DataSpec, int) - Constructor for exception com.google.android.exoplayer2.ext.cronet.CronetDataSource.OpenException
      +
       
      +
      openRead() - Method in class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Open the atomic file for reading.
      +
      +
      openSession() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      openSession() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Opens a new DRM session.
      +
      +
      openSession() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      openSession() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      OpusDecoder - Class in com.google.android.exoplayer2.ext.opus
      +
      +
      Opus decoder.
      +
      +
      OpusDecoder(int, int, int, List<byte[]>, ExoMediaCrypto, boolean) - Constructor for class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
      +
      Creates an Opus decoder.
      +
      +
      OpusDecoderException - Exception in com.google.android.exoplayer2.ext.opus
      +
      +
      Thrown when an Opus decoder error occurs.
      +
      +
      opusGetVersion() - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
       
      +
      opusIsSecureDecodeSupported() - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
       
      +
      OpusLibrary - Class in com.google.android.exoplayer2.ext.opus
      +
      +
      Configures and queries the underlying native library.
      +
      +
      OpusUtil - Class in com.google.android.exoplayer2.audio
      +
      +
      Utility methods for handling Opus audio streams.
      +
      +
      OtherTrackScore(Format, int) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.OtherTrackScore
      +
       
      +
      outOfNetworkIndicator - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      If true, the splice event is an opportunity to exit from the network feed.
      +
      +
      outOfNetworkIndicator - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      If true, the splice event is an opportunity to exit from the network feed.
      +
      +
      outputAudioFormat - Variable in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      The current output audio format.
      +
      +
      OutputBuffer - Class in com.google.android.exoplayer2.decoder
      +
      +
      Output buffer decoded by a Decoder.
      +
      +
      OutputBuffer() - Constructor for class com.google.android.exoplayer2.decoder.OutputBuffer
      +
       
      +
      OutputBuffer.Owner<S extends OutputBuffer> - Interface in com.google.android.exoplayer2.decoder
      +
      +
      Buffer owner.
      +
      +
      OutputConsumerAdapterV30 - Class in com.google.android.exoplayer2.source.mediaparser
      +
      +
      MediaParser.OutputConsumer implementation that redirects output to an ExtractorOutput.
      +
      +
      OutputConsumerAdapterV30() - Constructor for class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      + +
      +
      OutputConsumerAdapterV30(Format, int, boolean) - Constructor for class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Creates a new instance.
      +
      +
      outputFloat - Variable in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      overestimatedResult(long, long) - Static method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      Returns a result to signal that the current position in the input stream overestimates the + true position of the target frame, and the BinarySearchSeeker should modify its + BinarySearchSeeker.SeekOperationParams's ceiling timestamp and byte position using the given values.
      +
      +
      OverlayInfo(View, int) - Constructor for class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Creates a new overlay info.
      +
      +
      OverlayInfo(View, int, String) - Constructor for class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Creates a new overlay info.
      +
      +
      overridePreparePositionUs(long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Overrides the default prepare position at which to prepare the media period.
      +
      +
      owner - Variable in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      + + + +

      P

      +
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      packetFinished() - Method in interface com.google.android.exoplayer2.extractor.ts.ElementaryStreamReader
      +
      +
      Called when a packet ends.
      +
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      packetFinished() - Method in class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      packetStarted(long, int) - Method in interface com.google.android.exoplayer2.extractor.ts.ElementaryStreamReader
      +
      +
      Called when a packet starts.
      +
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      packetStarted(long, int) - Method in class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      PARAMETER_EAGERLY_EXPOSE_TRACK_TYPE - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_EXPOSE_CAPTION_FORMATS - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_EXPOSE_CHUNK_INDEX_AS_MEDIA_FORMAT - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_EXPOSE_DUMMY_SEEK_MAP - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_IGNORE_TIMESTAMP_OFFSET - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_IN_BAND_CRYPTO_INFO - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_INCLUDE_SUPPLEMENTAL_DATA - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      PARAMETER_OVERRIDE_IN_BAND_CAPTION_DECLARATIONS - Static variable in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
       
      +
      ParametersBuilder() - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Deprecated. +
      Context constraints will not be set using this constructor. Use ParametersBuilder(Context) instead.
      +
      +
      +
      ParametersBuilder(Context) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Creates a builder with default initial values.
      +
      +
      parent - Variable in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      ParsableBitArray - Class in com.google.android.exoplayer2.util
      +
      +
      Wraps a byte array, providing methods that allow it to be read as a bitstream.
      +
      +
      ParsableBitArray() - Constructor for class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Creates a new instance that initially has no backing data.
      +
      +
      ParsableBitArray(byte[]) - Constructor for class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Creates a new instance that wraps an existing array.
      +
      +
      ParsableBitArray(byte[], int) - Constructor for class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Creates a new instance that wraps an existing array.
      +
      +
      ParsableByteArray - Class in com.google.android.exoplayer2.util
      +
      +
      Wraps a byte array, providing a set of methods for parsing data from it.
      +
      +
      ParsableByteArray() - Constructor for class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Creates a new instance that initially has no backing data.
      +
      +
      ParsableByteArray(byte[]) - Constructor for class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Creates a new instance wrapping data, and sets the limit to data.length.
      +
      +
      ParsableByteArray(byte[], int) - Constructor for class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Creates a new instance that wraps an existing array.
      +
      +
      ParsableByteArray(int) - Constructor for class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Creates a new instance with limit bytes and sets the limit.
      +
      +
      ParsableNalUnitBitArray - Class in com.google.android.exoplayer2.util
      +
      +
      Wraps a byte array, providing methods that allow it to be read as a NAL unit bitstream.
      +
      +
      ParsableNalUnitBitArray(byte[], int, int) - Constructor for class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
       
      +
      parse(Uri, InputStream) - Method in class com.google.android.exoplayer2.offline.FilteringManifestParser
      +
       
      +
      parse(Uri, InputStream) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parse(Uri, InputStream) - Method in class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser
      +
       
      +
      parse(Uri, InputStream) - Method in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifestParser
      +
       
      +
      parse(Uri, InputStream) - Method in interface com.google.android.exoplayer2.upstream.ParsingLoadable.Parser
      +
      +
      Parses an object from a response.
      +
      +
      parse(ParsableByteArray) - Static method in class com.google.android.exoplayer2.video.AvcConfig
      +
      +
      Parses AVC configuration data.
      +
      +
      parse(ParsableByteArray) - Static method in class com.google.android.exoplayer2.video.DolbyVisionConfig
      +
      +
      Parses Dolby Vision configuration data.
      +
      +
      parse(ParsableByteArray) - Static method in class com.google.android.exoplayer2.video.HevcConfig
      +
      +
      Parses HEVC configuration data.
      +
      +
      parse(Map<String, List<String>>) - Static method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      Parses IcyHeaders from response headers.
      +
      +
      parseAc3AnnexFFormat(ParsableByteArray, String, String, DrmInitData) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns the AC-3 format given data containing the AC3SpecificBox according to Annex F.
      +
      +
      parseAc3SyncframeAudioSampleCount(ByteBuffer) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Reads the number of audio samples represented by the given (E-)AC-3 syncframe.
      +
      +
      parseAc3SyncframeInfo(ParsableBitArray) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns (E-)AC-3 format information given data containing a syncframe.
      +
      +
      parseAc3SyncframeSize(byte[]) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns the size in bytes of the given (E-)AC-3 syncframe.
      +
      +
      parseAc4AnnexEFormat(ParsableByteArray, String, String, DrmInitData) - Static method in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Returns the AC-4 format given data containing the AC4SpecificBox according to ETSI TS + 103 190-1 Annex E.
      +
      +
      parseAc4SyncframeAudioSampleCount(ByteBuffer) - Static method in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Reads the number of audio samples represented by the given AC-4 syncframe.
      +
      +
      parseAc4SyncframeInfo(ParsableBitArray) - Static method in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Returns AC-4 format information given data containing a syncframe.
      +
      +
      parseAc4SyncframeSize(byte[], int) - Static method in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      Returns the size in bytes of the given AC-4 syncframe.
      +
      +
      parseAdaptationSet(XmlPullParser, String, SegmentBase, long, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseAdaptationSetChild(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses children of AdaptationSet elements not specifically parsed elsewhere.
      +
      +
      parseAlacAudioSpecificConfig(byte[]) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Parses an ALAC AudioSpecificConfig (i.e.
      +
      +
      parseAudioChannelConfiguration(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseAudioSpecificConfig(byte[]) - Static method in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Parses an AAC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
      +
      +
      parseAudioSpecificConfig(ParsableBitArray, boolean) - Static method in class com.google.android.exoplayer2.audio.AacUtil
      +
      +
      Parses an AAC AudioSpecificConfig, as defined in ISO 14496-3 1.6.2.1
      +
      +
      parseAvailabilityTimeOffsetUs(XmlPullParser, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses the availabilityTimeOffset value and returns the parsed value or the parent value if it + doesn't exist.
      +
      +
      parseBaseUrl(XmlPullParser, String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a BaseURL element.
      +
      +
      parseCea608AccessibilityChannel(List<Descriptor>) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseCea708AccessibilityChannel(List<Descriptor>) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseCea708InitializationData(List<byte[]>) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Returns whether the CEA-708 closed caption service with the given initialization data is + formatted for displays with 16:9 aspect ratio.
      +
      +
      parseContentProtection(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a ContentProtection element.
      +
      +
      parseContentType(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseCssColor(String) - Static method in class com.google.android.exoplayer2.util.ColorParser
      +
      +
      Parses a CSS color expression.
      +
      +
      parseCue(ParsableByteArray, List<WebvttCssStyle>) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttCueParser
      +
      +
      Parses the next valid WebVTT cue in a parsable array, including timestamps, settings and text.
      +
      +
      parseDateTime(XmlPullParser, String, long) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseDescriptor(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a Descriptor from an element.
      +
      +
      parseDolbyChannelConfiguration(XmlPullParser) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses the number of channels from the value attribute of an AudioElementConfiguration with + schemeIdUri "tag:dolby.com,2014:dash:audio_channel_configuration:2011", as defined by table E.5 + in ETSI TS 102 366, or the legacy schemeIdUri + "urn:dolby:dash:audio_channel_configuration:2011".
      +
      +
      parseDtsAudioSampleCount(byte[]) - Static method in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Returns the number of audio samples represented by the given DTS frame.
      +
      +
      parseDtsAudioSampleCount(ByteBuffer) - Static method in class com.google.android.exoplayer2.audio.DtsUtil
      +
      + +
      +
      parseDtsFormat(byte[], String, String, DrmInitData) - Static method in class com.google.android.exoplayer2.audio.DtsUtil
      +
      +
      Returns the DTS format given data containing the DTS frame according to ETSI TS 102 114 + subsections 5.3/5.4.
      +
      +
      parseDuration(XmlPullParser, String, long) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseEAc3AnnexFFormat(ParsableByteArray, String, String, DrmInitData) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns the E-AC-3 format given data containing the EC3SpecificBox according to Annex + F.
      +
      +
      parseEac3SupplementalProperties(List<Descriptor>) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseEvent(XmlPullParser, String, String, long, ByteArrayOutputStream) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a single Event node in the manifest.
      +
      +
      parseEventObject(XmlPullParser, ByteArrayOutputStream) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses an event object.
      +
      +
      parseEventStream(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a single EventStream node in the manifest.
      +
      +
      parseFloat(XmlPullParser, String, float) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseFrameRate(XmlPullParser, float) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseInitialization(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseInt(XmlPullParser, String, int) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseLabel(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses a Label element.
      +
      +
      parseLastSegmentNumberSupplementalProperty(List<Descriptor>) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseLong(XmlPullParser, String, long) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseMediaPresentationDescription(XmlPullParser, String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseMpegAudioFrameSampleCount(int) - Static method in class com.google.android.exoplayer2.audio.MpegAudioUtil
      +
      +
      Returns the number of samples per frame associated with headerData, or C.LENGTH_UNSET if it is invalid.
      +
      +
      parseMpegChannelConfiguration(XmlPullParser) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
      +
      Parses the number of channels from the value attribute of an AudioElementConfiguration with + schemeIdUri "urn:mpeg:mpegB:cicp:ChannelConfiguration", as defined by ISO 23001-8 clause 8.1.
      +
      +
      parsePercentage(String) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
      +
      +
      Parses a percentage string.
      +
      +
      parsePeriod(XmlPullParser, String, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parsePpsNalUnit(byte[], int, int) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Parses a PPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.2.
      +
      +
      parseProgramInformation(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseRangedUrl(XmlPullParser, String, String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseRepresentation(XmlPullParser, String, String, String, int, int, float, int, int, String, List<Descriptor>, List<Descriptor>, List<Descriptor>, List<Descriptor>, SegmentBase, long, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      ParserException - Exception in com.google.android.exoplayer2
      +
      +
      Thrown when an error occurs parsing media data and metadata.
      +
      +
      ParserException() - Constructor for exception com.google.android.exoplayer2.ParserException
      +
       
      +
      ParserException(String) - Constructor for exception com.google.android.exoplayer2.ParserException
      +
       
      +
      ParserException(String, Throwable) - Constructor for exception com.google.android.exoplayer2.ParserException
      +
       
      +
      ParserException(Throwable) - Constructor for exception com.google.android.exoplayer2.ParserException
      +
       
      +
      parseRoleFlagsFromAccessibilityDescriptors(List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseRoleFlagsFromDashRoleScheme(String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseRoleFlagsFromProperties(List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseRoleFlagsFromRoleDescriptors(List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSchemeSpecificData(byte[], UUID) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Parses the scheme specific data from a PSSH atom.
      +
      +
      parseSegmentBase(XmlPullParser, SegmentBase.SingleSegmentBase) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSegmentList(XmlPullParser, SegmentBase.SegmentList, long, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSegmentTemplate(XmlPullParser, SegmentBase.SegmentTemplate, List<Descriptor>, long, long, long, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSegmentTimeline(XmlPullParser, long, long) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSegmentUrl(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSelectionFlagsFromDashRoleScheme(String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSelectionFlagsFromRoleDescriptors(List<Descriptor>) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseServiceDescription(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseSpsNalUnit(byte[], int, int) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Parses an SPS NAL unit using the syntax defined in ITU-T Recommendation H.264 (2013) subsection + 7.3.2.1.1.
      +
      +
      parseString(XmlPullParser, String, String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseText(XmlPullParser, String) - Static method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseTimestampUs(String) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
      +
      +
      Parses a WebVTT timestamp.
      +
      +
      parseTrueHdSyncframeAudioSampleCount(byte[]) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Returns the number of audio samples represented by the given TrueHD syncframe, or 0 if the + buffer is not the start of a syncframe.
      +
      +
      parseTrueHdSyncframeAudioSampleCount(ByteBuffer, int) - Static method in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Reads the number of audio samples represented by a TrueHD syncframe.
      +
      +
      parseTtmlColor(String) - Static method in class com.google.android.exoplayer2.util.ColorParser
      +
      +
      Parses a TTML color expression.
      +
      +
      parseTvaAudioPurposeCsValue(String) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseUrlTemplate(XmlPullParser, String, UrlTemplate) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseUtcTiming(XmlPullParser) - Method in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser
      +
       
      +
      parseUuid(byte[]) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Parses the UUID from a PSSH atom.
      +
      +
      parseVersion(byte[]) - Static method in class com.google.android.exoplayer2.extractor.mp4.PsshAtomUtil
      +
      +
      Parses the version from a PSSH atom.
      +
      +
      parseXsDateTime(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Parses an xs:dateTime attribute value, returning the parsed timestamp in milliseconds since the + epoch.
      +
      +
      parseXsDuration(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Parses an xs:duration attribute value, returning the parsed duration in milliseconds.
      +
      +
      ParsingLoadable<T> - Class in com.google.android.exoplayer2.upstream
      +
      +
      A Loader.Loadable for objects that can be parsed from binary data using a ParsingLoadable.Parser.
      +
      +
      ParsingLoadable(DataSource, Uri, int, ParsingLoadable.Parser<? extends T>) - Constructor for class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
       
      +
      ParsingLoadable(DataSource, DataSpec, int, ParsingLoadable.Parser<? extends T>) - Constructor for class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
       
      +
      ParsingLoadable.Parser<T> - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Parses an object from loaded data.
      +
      +
      Part(String, HlsMediaPlaylist.Segment, long, int, long, DrmInitData, String, String, long, long, boolean, boolean, boolean) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Part
      +
      +
      Creates an instance.
      +
      +
      partHoldBackUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      The server-recommended live offset in microseconds in low-latency mode, or C.TIME_UNSET if none defined.
      +
      +
      parts - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Segment
      +
      +
      The parts belonging to this segment.
      +
      +
      partTargetDurationUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The target duration for segment parts, as defined by #EXT-X-PART-INF, or C.TIME_UNSET + if undefined.
      +
      +
      PassthroughSectionPayloadReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      A SectionPayloadReader that directly outputs the section bytes as sample data.
      +
      +
      PassthroughSectionPayloadReader(String) - Constructor for class com.google.android.exoplayer2.extractor.ts.PassthroughSectionPayloadReader
      +
      +
      Create a new PassthroughSectionPayloadReader.
      +
      +
      pause() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Pauses playback.
      +
      +
      pause() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      pause() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      pause() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      pause() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      pause() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      pause() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Pauses playback.
      +
      +
      pause() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a pause action.
      +
      +
      pauseDownloads() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Pauses downloads.
      +
      +
      pcmEncoding - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The C.PcmEncoding for PCM audio.
      +
      +
      peakBitrate - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The peak bitrate in bits per second, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      peakBitrate - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The peak bitrate as declared by the BANDWIDTH attribute of the EXT-X-STREAM-INF tag.
      +
      +
      peek(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      peek(byte[], int, int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Peeks up to length bytes from the peek position.
      +
      +
      peek(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      peek(byte[], int, int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      peek(FormatHolder, DecoderInputBuffer, boolean, boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      + +
      +
      peekChar() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Peeks at the next char.
      +
      +
      peekFully(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      peekFully(byte[], int, int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      + +
      +
      peekFully(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      peekFully(byte[], int, int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      peekFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      peekFully(byte[], int, int, boolean) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Like ExtractorInput.peek(byte[], int, int), but peeks the requested length in full.
      +
      +
      peekFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      peekFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      peekId3Data(ExtractorInput, Id3Decoder.FramePredicate) - Method in class com.google.android.exoplayer2.extractor.Id3Peeker
      +
      +
      Peeks ID3 data from the input and parses the first ID3 tag.
      +
      +
      peekId3Metadata(ExtractorInput, boolean) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Peeks ID3 Data.
      +
      +
      peekSourceId() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Peeks the source id of the next sample to be read, or the current upstream source id if the + queue is empty or if the read position is at the end of the queue.
      +
      +
      peekUnsignedByte() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Peeks at the next byte as an unsigned value.
      +
      +
      PERCENTAGE_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset or unknown percentage.
      +
      +
      percentDownloaded - Variable in class com.google.android.exoplayer2.offline.DownloadProgress
      +
      +
      The percentage that has been downloaded, or C.PERCENTAGE_UNSET if unknown.
      +
      +
      performAccessibilityAction(int, Bundle) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      performClick() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      performClick() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      Period - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Encapsulates media content components over a contiguous period of time.
      +
      +
      Period() - Constructor for class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Creates a new instance with no ad playback state.
      +
      +
      Period(String, long, List<AdaptationSet>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Period
      +
       
      +
      Period(String, long, List<AdaptationSet>, List<EventStream>) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Period
      +
       
      +
      Period(String, long, List<AdaptationSet>, List<EventStream>, Descriptor) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Period
      +
       
      +
      periodCount - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      periodIndex - Variable in class com.google.android.exoplayer2.offline.StreamKey
      +
      +
      The period index.
      +
      +
      periodUid - Variable in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      The unique id of the timeline period.
      +
      +
      perSampleIvSize - Variable in class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
      +
      The initialization vector size in bytes for the samples in the corresponding sample group.
      +
      +
      PesReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses PES packet data and extracts samples.
      +
      +
      PesReader(ElementaryStreamReader) - Constructor for class com.google.android.exoplayer2.extractor.ts.PesReader
      +
       
      +
      PgsDecoder - Class in com.google.android.exoplayer2.text.pgs
      +
      +
      A SimpleSubtitleDecoder for PGS subtitles.
      +
      +
      PgsDecoder() - Constructor for class com.google.android.exoplayer2.text.pgs.PgsDecoder
      +
       
      +
      photoPresentationTimestampUs - Variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      The presentation timestamp of the photo, in microseconds, or C.TIME_UNSET if unknown.
      +
      +
      photoSize - Variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      The size of the photo data, in bytes.
      +
      +
      photoStartPosition - Variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      The start offset of the photo data, in bytes.
      +
      +
      picOrderCntLsbLength - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      picOrderCountType - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      picParameterSetId - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.PpsData
      +
       
      +
      pictureData - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The encoded picture data.
      +
      +
      pictureData - Variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      PictureFrame - Class in com.google.android.exoplayer2.metadata.flac
      +
      +
      A picture parsed from a FLAC file.
      +
      +
      PictureFrame(int, String, String, int, int, int, int, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      pictureType - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The type of the picture.
      +
      +
      pictureType - Variable in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      pitch - Variable in class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      The factor by which pitch will be shifted.
      +
      +
      pixelWidthAspectRatio - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      pixelWidthAspectRatio - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      pixelWidthHeightRatio - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable.
      +
      +
      PLACEHOLDER - Static variable in interface com.google.android.exoplayer2.extractor.ExtractorOutput
      +
      +
      Placeholder ExtractorOutput implementation throwing an UnsupportedOperationException in each method.
      +
      +
      PlaceholderTimeline(MediaItem) - Constructor for class com.google.android.exoplayer2.source.MaskingMediaSource.PlaceholderTimeline
      +
      +
      Creates a new instance with the given media item.
      +
      +
      PlatformScheduler - Class in com.google.android.exoplayer2.scheduler
      +
      +
      A Scheduler that uses JobScheduler.
      +
      +
      PlatformScheduler(Context, int) - Constructor for class com.google.android.exoplayer2.scheduler.PlatformScheduler
      +
       
      +
      PlatformScheduler.PlatformSchedulerService - Class in com.google.android.exoplayer2.scheduler
      +
      +
      A JobService that starts the target service if the requirements are met.
      +
      +
      PlatformSchedulerService() - Constructor for class com.google.android.exoplayer2.scheduler.PlatformScheduler.PlatformSchedulerService
      +
       
      +
      play() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Starts or resumes consuming audio if initialized.
      +
      +
      play() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      play() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      play() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      play() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      play() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      play() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Resumes playback as soon as Player.getPlaybackState() == Player.STATE_READY.
      +
      +
      play() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a play action.
      +
      +
      PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has been paused to avoid becoming noisy.
      +
      +
      PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has been paused because of a loss of audio focus.
      +
      +
      PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has been paused at the end of a media item.
      +
      +
      PLAY_WHEN_READY_CHANGE_REASON_REMOTE - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has been started or paused because of a remote change.
      +
      +
      PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback has been started or paused by a call to Player.setPlayWhenReady(boolean).
      +
      +
      PLAYBACK_STATE_ABANDONED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is abandoned before reaching the end of the media.
      +
      +
      PLAYBACK_STATE_BUFFERING - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is buffering to resume active playback.
      +
      +
      PLAYBACK_STATE_ENDED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback has reached the end of the media.
      +
      +
      PLAYBACK_STATE_FAILED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is stopped due a fatal error and can be retried.
      +
      +
      PLAYBACK_STATE_INTERRUPTED_BY_AD - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is interrupted by an ad.
      +
      +
      PLAYBACK_STATE_JOINING_BACKGROUND - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is buffering in the background for initial playback start.
      +
      +
      PLAYBACK_STATE_JOINING_FOREGROUND - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is buffering in the foreground for initial playback start.
      +
      +
      PLAYBACK_STATE_NOT_STARTED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback has not started (initial state).
      +
      +
      PLAYBACK_STATE_PAUSED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is paused but ready to play.
      +
      +
      PLAYBACK_STATE_PAUSED_BUFFERING - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is buffering while paused.
      +
      +
      PLAYBACK_STATE_PLAYING - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is actively playing.
      +
      +
      PLAYBACK_STATE_SEEKING - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is handling a seek.
      +
      +
      PLAYBACK_STATE_STOPPED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is stopped and can be restarted.
      +
      +
      PLAYBACK_STATE_SUPPRESSED - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is suppressed (e.g.
      +
      +
      PLAYBACK_STATE_SUPPRESSED_BUFFERING - Static variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      Playback is suppressed (e.g.
      +
      +
      PLAYBACK_SUPPRESSION_REASON_NONE - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback is not suppressed.
      +
      +
      PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Playback is suppressed due to transient audio focus loss.
      +
      +
      PLAYBACK_TYPE_LOCAL - Static variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      Playback happens on the local device (e.g.
      +
      +
      PLAYBACK_TYPE_REMOTE - Static variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      Playback happens outside of the device (e.g.
      +
      +
      playbackCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of individual playbacks for which these stats were collected.
      +
      +
      PlaybackOutput - Class in com.google.android.exoplayer2.robolectric
      +
      +
      Class to capture output from a playback test.
      +
      +
      PlaybackParameters - Class in com.google.android.exoplayer2
      +
      +
      Parameters that apply to playback, including speed setting.
      +
      +
      PlaybackParameters(float) - Constructor for class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      Creates new playback parameters that set the playback speed.
      +
      +
      PlaybackParameters(float, float) - Constructor for class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      Creates new playback parameters that set the playback speed/pitch.
      +
      +
      playbackPositionUs - Variable in class com.google.android.exoplayer2.metadata.scte35.TimeSignalCommand
      +
      +
      Equivalent to TimeSignalCommand.ptsTime but in the playback timebase.
      +
      +
      PlaybackPreparer - Interface in com.google.android.exoplayer2
      +
      +
      Deprecated. +
      Use ControlDispatcher instead.
      +
      +
      +
      playbackProperties - Variable in class com.google.android.exoplayer2.MediaItem
      +
      +
      Optional playback properties.
      +
      +
      PlaybackSessionManager - Interface in com.google.android.exoplayer2.analytics
      +
      +
      Manager for active playback sessions.
      +
      +
      PlaybackSessionManager.Listener - Interface in com.google.android.exoplayer2.analytics
      +
      +
      A listener for session updates.
      +
      +
      playbackState - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats.EventTimeAndPlaybackState
      +
      +
      The playback state that became active.
      +
      +
      playbackStateHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The playback state history as EventTimeAndPlaybackStates + ordered by EventTime.realTimeMs.
      +
      +
      PlaybackStats - Class in com.google.android.exoplayer2.analytics
      +
      +
      Statistics about playbacks.
      +
      +
      PlaybackStats.EventTimeAndException - Class in com.google.android.exoplayer2.analytics
      +
      +
      Stores an exception with the event time at which it occurred.
      +
      +
      PlaybackStats.EventTimeAndFormat - Class in com.google.android.exoplayer2.analytics
      +
      +
      Stores a format with the event time at which it started being used, or null to indicate + that no format was used.
      +
      +
      PlaybackStats.EventTimeAndPlaybackState - Class in com.google.android.exoplayer2.analytics
      +
      +
      Stores a playback state with the event time at which it became active.
      +
      +
      PlaybackStatsListener - Class in com.google.android.exoplayer2.analytics
      +
      +
      AnalyticsListener to gather PlaybackStats from the player.
      +
      +
      PlaybackStatsListener(boolean, PlaybackStatsListener.Callback) - Constructor for class com.google.android.exoplayer2.analytics.PlaybackStatsListener
      +
      +
      Creates listener for playback stats.
      +
      +
      PlaybackStatsListener.Callback - Interface in com.google.android.exoplayer2.analytics
      +
      +
      A listener for PlaybackStats updates.
      +
      +
      playbackType - Variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      The type of playback.
      +
      +
      playClearContentWithoutKey - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      Whether clear samples within protected content should be played when keys for the encrypted + part of the content have yet to be loaded.
      +
      +
      playClearSamplesWithoutKeys() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns whether this session allows playback of clear samples prior to keys being loaded.
      +
      +
      playClearSamplesWithoutKeys() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      Player - Interface in com.google.android.exoplayer2
      +
      +
      A media player interface defining traditional high-level functionality, such as the ability to + play, pause, seek and query properties of the currently playing media.
      +
      +
      Player.AudioComponent - Interface in com.google.android.exoplayer2
      +
      +
      The audio component of a Player.
      +
      +
      Player.DefaultEventListener - Class in com.google.android.exoplayer2
      +
      +
      Deprecated. +
      Use Player.EventListener interface directly for selective overrides as all methods + are implemented as no-op default methods.
      +
      +
      +
      Player.DeviceComponent - Interface in com.google.android.exoplayer2
      +
      +
      The device component of a Player.
      +
      +
      Player.DiscontinuityReason - Annotation Type in com.google.android.exoplayer2
      +
      +
      Reasons for position discontinuities.
      +
      +
      Player.EventFlags - Annotation Type in com.google.android.exoplayer2
      +
      +
      Events that can be reported via Player.EventListener.onEvents(Player, Events).
      +
      +
      Player.EventListener - Interface in com.google.android.exoplayer2
      +
      +
      Listener of changes in player state.
      +
      +
      Player.Events - Class in com.google.android.exoplayer2
      +
      + +
      +
      Player.MediaItemTransitionReason - Annotation Type in com.google.android.exoplayer2
      +
      +
      Reasons for media item transitions.
      +
      +
      Player.MetadataComponent - Interface in com.google.android.exoplayer2
      +
      +
      The metadata component of a Player.
      +
      +
      Player.PlaybackSuppressionReason - Annotation Type in com.google.android.exoplayer2
      +
      +
      Reason why playback is suppressed even though Player.getPlayWhenReady() is true.
      +
      +
      Player.PlayWhenReadyChangeReason - Annotation Type in com.google.android.exoplayer2
      +
      +
      Reasons for playWhenReady changes.
      +
      +
      Player.RepeatMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Repeat modes for playback.
      +
      +
      Player.State - Annotation Type in com.google.android.exoplayer2
      +
      +
      Playback state.
      +
      +
      Player.TextComponent - Interface in com.google.android.exoplayer2
      +
      +
      The text component of a Player.
      +
      +
      Player.TimelineChangeReason - Annotation Type in com.google.android.exoplayer2
      +
      +
      Reasons for timeline changes.
      +
      +
      Player.VideoComponent - Interface in com.google.android.exoplayer2
      +
      +
      The video component of a Player.
      +
      +
      PlayerControlView - Class in com.google.android.exoplayer2.ui
      +
      +
      A view for controlling Player instances.
      +
      +
      PlayerControlView(Context) - Constructor for class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      PlayerControlView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      PlayerControlView(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      PlayerControlView(Context, AttributeSet, int, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.PlayerControlView
      +
       
      +
      PlayerControlView.ProgressUpdateListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be notified when progress has been updated.
      +
      +
      PlayerControlView.VisibilityListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be notified about changes of the visibility of the UI control.
      +
      +
      PlayerEmsgHandler - Class in com.google.android.exoplayer2.source.dash
      +
      +
      Handles all emsg messages from all media tracks for the player.
      +
      +
      PlayerEmsgHandler(DashManifest, PlayerEmsgHandler.PlayerEmsgCallback, Allocator) - Constructor for class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
      +
       
      +
      PlayerEmsgHandler.PlayerEmsgCallback - Interface in com.google.android.exoplayer2.source.dash
      +
      +
      Callbacks for player emsg events encountered during DASH live stream.
      +
      +
      PlayerEmsgHandler.PlayerTrackEmsgHandler - Class in com.google.android.exoplayer2.source.dash
      +
      +
      Handles emsg messages for a specific track for the player.
      +
      +
      PlayerMessage - Class in com.google.android.exoplayer2
      +
      +
      Defines a player message which can be sent with a PlayerMessage.Sender and received by a PlayerMessage.Target.
      +
      +
      PlayerMessage(PlayerMessage.Sender, PlayerMessage.Target, Timeline, int, Clock, Looper) - Constructor for class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Creates a new message.
      +
      +
      PlayerMessage.Sender - Interface in com.google.android.exoplayer2
      +
      +
      A sender for messages.
      +
      +
      PlayerMessage.Target - Interface in com.google.android.exoplayer2
      +
      +
      A target for messages.
      +
      +
      PlayerNotificationManager - Class in com.google.android.exoplayer2.ui
      +
      +
      Starts, updates and cancels a media style notification reflecting the player state.
      +
      +
      PlayerNotificationManager(Context, String, int, PlayerNotificationManager.MediaDescriptionAdapter) - Constructor for class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager using the specified notification channelId.
      +
      +
      PlayerNotificationManager(Context, String, int, PlayerNotificationManager.MediaDescriptionAdapter, PlayerNotificationManager.CustomActionReceiver) - Constructor for class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager using the specified notification channelId and PlayerNotificationManager.CustomActionReceiver.
      +
      +
      PlayerNotificationManager(Context, String, int, PlayerNotificationManager.MediaDescriptionAdapter, PlayerNotificationManager.NotificationListener) - Constructor for class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager using the specified notification channelId and PlayerNotificationManager.NotificationListener.
      +
      +
      PlayerNotificationManager(Context, String, int, PlayerNotificationManager.MediaDescriptionAdapter, PlayerNotificationManager.NotificationListener, PlayerNotificationManager.CustomActionReceiver) - Constructor for class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Creates a notification manager using the specified notification channelId, PlayerNotificationManager.NotificationListener and PlayerNotificationManager.CustomActionReceiver.
      +
      +
      PlayerNotificationManager.BitmapCallback - Class in com.google.android.exoplayer2.ui
      +
      +
      Receives a Bitmap.
      +
      +
      PlayerNotificationManager.CustomActionReceiver - Interface in com.google.android.exoplayer2.ui
      +
      +
      Defines and handles custom actions.
      +
      +
      PlayerNotificationManager.MediaDescriptionAdapter - Interface in com.google.android.exoplayer2.ui
      +
      +
      An adapter to provide content assets of the media currently playing.
      +
      +
      PlayerNotificationManager.NotificationListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      A listener for changes to the notification.
      +
      +
      PlayerNotificationManager.Priority - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      Priority of the notification (required for API 25 and lower).
      +
      +
      PlayerNotificationManager.Visibility - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      Visibility of notification on the lock screen.
      +
      +
      PlayerRunnable() - Constructor for class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerRunnable
      +
       
      +
      PlayerTarget() - Constructor for class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget
      +
       
      +
      PlayerView - Class in com.google.android.exoplayer2.ui
      +
      +
      A high level view for Player media playbacks.
      +
      +
      PlayerView(Context) - Constructor for class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      PlayerView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      PlayerView(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      PlayerView.ShowBuffering - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      Determines when the buffering view is shown.
      +
      +
      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
      +
       
      +
      PlaylistResetException(Uri) - Constructor for exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistResetException
      +
      +
      Creates an instance.
      +
      +
      PlaylistStuckException(Uri) - Constructor for exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistStuckException
      +
      +
      Creates an instance.
      +
      +
      playlistType - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The type of the playlist.
      +
      +
      playlistUri - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.RenditionReport
      +
      +
      The URI of the media playlist of the reported rendition.
      +
      +
      PLAYREADY_CUSTOM_DATA_KEY - Static variable in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      A key for specifying PlayReady custom data in the key request parameters passed to DefaultDrmSessionManager.Builder.setKeyRequestParameters(Map).
      +
      +
      PLAYREADY_UUID - Static variable in class com.google.android.exoplayer2.C
      +
      +
      UUID for the PlayReady DRM scheme.
      +
      +
      playToEndOfStream() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Processes any remaining data.
      +
      +
      playToEndOfStream() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      playToEndOfStream() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      playUntilPosition(int, long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a play action, waits until the player reaches the specified position, and pauses + the player again.
      +
      +
      playUntilPosition(ExoPlayer, int, long) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Calls Player.play(), runs tasks of the main Looper until the player + reaches the specified position and then pauses the player.
      +
      +
      PlayUntilPosition(String, int, long) - Constructor for class com.google.android.exoplayer2.testutil.Action.PlayUntilPosition
      +
       
      +
      playUntilStartOfWindow(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a play action, waits until the player reaches the start of the specified window, + and pauses the player again.
      +
      +
      playUntilStartOfWindow(ExoPlayer, int) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Calls Player.play(), runs tasks of the main Looper until the player + reaches the specified window and then pauses the player.
      +
      +
      pointOffsets - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata.SeekTable
      +
      +
      Seek points byte offsets from the first frame.
      +
      +
      pointSampleNumbers - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata.SeekTable
      +
      +
      Seek points sample numbers.
      +
      +
      poll(long) - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Returns the value with the closest timestamp to the given timestamp.
      +
      +
      pollFirst() - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Removes and returns the first value in the queue, or null if the queue is empty.
      +
      +
      pollFloor(long) - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Returns the value with the greatest timestamp which is less than or equal to the given + timestamp.
      +
      +
      pollRotationMatrix(float[], long) - Method in class com.google.android.exoplayer2.video.spherical.FrameRotationQueue
      +
      +
      Copies the rotation matrix with the greatest timestamp which is less than or equal to the given + timestamp to matrix.
      +
      +
      position - Variable in class com.google.android.exoplayer2.extractor.PositionHolder
      +
      +
      The held position.
      +
      +
      position - Variable in class com.google.android.exoplayer2.extractor.SeekPoint
      +
      +
      The byte offset of the seek point.
      +
      +
      position - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The fractional position of the Cue.positionAnchor of the cue box within the viewport in + the direction orthogonal to Cue.line, or Cue.DIMEN_UNSET.
      +
      +
      position - Variable in class com.google.android.exoplayer2.text.span.RubySpan
      +
      +
      The position of the ruby text relative to the base text.
      +
      +
      position - Variable in class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
      +
      The position of the text emphasis relative to the base text.
      +
      +
      position - Variable in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
      +
      The position of the CacheSpan in the resource.
      +
      +
      position - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      The position of the data when read from DataSpec.uri.
      +
      +
      POSITION_AFTER - Static variable in class com.google.android.exoplayer2.text.span.TextAnnotation
      +
      +
      For horizontal text, the text annotation should be positioned below the base text.
      +
      +
      POSITION_BEFORE - Static variable in class com.google.android.exoplayer2.text.span.TextAnnotation
      +
      +
      For horizontal text, the text annotation should be positioned above the base text.
      +
      +
      POSITION_COORDS_PER_VERTEX - Static variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Number of texture coordinates per vertex.
      +
      +
      POSITION_OUT_OF_RANGE - Static variable in exception com.google.android.exoplayer2.upstream.DataSourceException
      +
       
      +
      POSITION_UNKNOWN - Static variable in class com.google.android.exoplayer2.text.span.TextAnnotation
      +
      +
      The text annotation position is unknown.
      +
      +
      POSITION_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset or unknown position.
      +
      +
      positionAdvancing(long) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      positionAnchor - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The cue box anchor positioned by Cue.position.
      +
      +
      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.Timeline.Window
      +
      +
      The position of the start of this window relative to the start of the first period belonging + to it, in microseconds.
      +
      +
      positionMs - Variable in exception com.google.android.exoplayer2.IllegalSeekPositionException
      +
      +
      The seek position in the specified window.
      +
      +
      positionResetCount - Variable in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      post(Runnable) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      postDelayed(Runnable, long) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      postOrRun(Handler, Runnable) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Posts the Runnable if the calling thread differs with the Looper of the Handler.
      +
      +
      PpsData(int, int, boolean) - Constructor for class com.google.android.exoplayer2.util.NalUnitUtil.PpsData
      +
       
      +
      preferredAudioLanguages - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      The preferred languages for audio and forced text tracks as IETF BCP 47 conformant tags in + order of preference.
      +
      +
      preferredAudioMimeTypes - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      The preferred sample MIME types for audio tracks in order of preference, or an empty list for + no preference.
      +
      +
      preferredAudioRoleFlags - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      The preferred C.RoleFlags for audio tracks.
      +
      +
      preferredTextLanguages - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      The preferred languages for text tracks as IETF BCP 47 conformant tags in order of preference.
      +
      +
      preferredTextRoleFlags - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      The preferred C.RoleFlags for text tracks.
      +
      +
      preferredVideoMimeTypes - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      The preferred sample MIME types for video tracks in order of preference, or an empty list for + no preference.
      +
      +
      prepare() - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
       
      +
      prepare() - Method in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      +
      Acquires any required resources.
      +
      +
      prepare() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      prepare() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      prepare() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Prepares the player.
      +
      +
      prepare() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      prepare() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a prepare action to be executed.
      +
      +
      prepare() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
      + +
      +
      prepare(DownloadHelper.Callback) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Initializes the helper for starting a download.
      +
      +
      prepare(MediaPeriod.Callback, long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      prepare(MediaPeriod.Callback, long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      prepare(MediaPeriod.Callback, long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      prepare(MediaPeriod.Callback, long) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Prepares this media period asynchronously.
      +
      +
      prepare(MediaPeriod.Callback, long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      prepare(MediaPeriod.Callback, long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      prepare(MediaSource) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      + +
      +
      prepare(MediaSource) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      + +
      +
      prepare(MediaSource) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
      + +
      +
      prepare(MediaSource, boolean, boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      + +
      +
      prepare(MediaSource, boolean, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      + +
      +
      prepare(MediaSource, boolean, boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
      + +
      +
      Prepare(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.Prepare
      +
       
      +
      prepareChildSource(T, MediaSource) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Prepares a child source.
      +
      +
      preparePeriod(MediaPeriod, long) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Calls MediaPeriod.prepare(MediaPeriod.Callback, long) on the playback thread and blocks + until the method has been called.
      +
      +
      preparePlayback() - Method in interface com.google.android.exoplayer2.PlaybackPreparer
      +
      +
      Deprecated. + +
      +
      +
      prepareSource() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Prepares the source on the playback thread, asserting that it provides an initial timeline.
      +
      +
      prepareSource(MediaSource.MediaSourceCaller, TransferListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      prepareSource(MediaSource.MediaSourceCaller, TransferListener) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      + +
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Starts source preparation and enables the source, see BaseMediaSource.prepareSource(MediaSourceCaller, + TransferListener).
      +
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated.
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      prepareSourceInternal(TransferListener) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      preRelease() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Calls SampleQueue.discardToEnd() and releases any resources owned by the queue.
      +
      +
      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 + Unix epoch, or C.TIME_UNSET if unknown or not applicable.
      +
      +
      presentationTimeOffsetUs - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      The offset of the presentation timestamps in the media stream relative to media time.
      +
      +
      presentationTimesUs - Variable in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      Presentation time of the events in microsecond, sorted in ascending order.
      +
      +
      previous() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      previous() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to the default position of the previous window, which may depend on the current repeat + mode and whether shuffle mode is enabled.
      +
      +
      PREVIOUS_SYNC - Static variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Parameters for seeking to the sync point immediately before a requested seek position.
      +
      +
      primaryTrackType - Variable in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      PRIORITY_DOWNLOAD - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Priority for media downloading.
      +
      +
      PRIORITY_PLAYBACK - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Priority for media playback.
      +
      +
      PriorityDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource that can be used as part of a task registered with a + PriorityTaskManager.
      +
      +
      PriorityDataSource(DataSource, PriorityTaskManager, int) - Constructor for class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      PriorityDataSourceFactory - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource.Factory that produces PriorityDataSource instances.
      +
      +
      PriorityDataSourceFactory(DataSource.Factory, PriorityTaskManager, int) - Constructor for class com.google.android.exoplayer2.upstream.PriorityDataSourceFactory
      +
       
      +
      PriorityTaskManager - Class in com.google.android.exoplayer2.util
      +
      +
      Allows tasks with associated priorities to control how they proceed relative to one another.
      +
      +
      PriorityTaskManager() - Constructor for class com.google.android.exoplayer2.util.PriorityTaskManager
      +
       
      +
      PriorityTaskManager.PriorityTooLowException - Exception in com.google.android.exoplayer2.util
      +
      +
      Thrown when task attempts to proceed when another registered task has a higher priority.
      +
      +
      PriorityTooLowException(int, int) - Constructor for exception com.google.android.exoplayer2.util.PriorityTaskManager.PriorityTooLowException
      +
       
      +
      PRIVATE_STREAM_1 - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      PrivateCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a private command as defined in SCTE35, Section 9.3.6.
      +
      +
      privateData - Variable in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      PrivFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      PRIV (Private) ID3 frame.
      +
      +
      PrivFrame(String, byte[]) - Constructor for class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      proceed(int) - Method in class com.google.android.exoplayer2.util.PriorityTaskManager
      +
      +
      Blocks until the task is allowed to proceed.
      +
      +
      proceedNonBlocking(int) - Method in class com.google.android.exoplayer2.util.PriorityTaskManager
      +
      +
      A non-blocking variant of PriorityTaskManager.proceed(int).
      +
      +
      proceedOrThrow(int) - Method in class com.google.android.exoplayer2.util.PriorityTaskManager
      +
      +
      A throwing variant of PriorityTaskManager.proceed(int).
      +
      +
      process(ByteBuffer, ByteBuffer) - Method in class com.google.android.exoplayer2.robolectric.RandomizedMp3Decoder
      +
       
      +
      processOutputBuffer(long, long, MediaCodecAdapter, ByteBuffer, int, int, int, long, boolean, boolean, Format) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      processOutputBuffer(long, long, MediaCodecAdapter, ByteBuffer, int, int, int, long, boolean, boolean, Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Processes an output media buffer.
      +
      +
      processOutputBuffer(long, long, MediaCodecAdapter, ByteBuffer, int, int, int, long, boolean, boolean, Format) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      profile - Variable in class com.google.android.exoplayer2.video.DolbyVisionConfig
      +
      +
      The profile number.
      +
      +
      profileIdc - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      programInformation - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The ProgramInformation, or null if not present.
      +
      +
      ProgramInformation - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A parsed program information element.
      +
      +
      ProgramInformation(String, String, String, String, String) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
       
      +
      programSpliceFlag - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      Whether the splice mode is program splice mode, whereby all PIDs/components are to be spliced.
      +
      +
      programSpliceFlag - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      Whether the splice mode is program splice mode, whereby all PIDs/components are to be + spliced.
      +
      +
      programSplicePlaybackPositionUs - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      Equivalent to SpliceInsertCommand.programSplicePts but in the playback timebase.
      +
      +
      programSplicePts - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      If SpliceInsertCommand.programSpliceFlag is true, the PTS at which the program splice should occur.
      +
      +
      progress - Variable in class com.google.android.exoplayer2.transformer.ProgressHolder
      +
      +
      The held progress, expressed as an integer percentage.
      +
      +
      PROGRESS_STATE_AVAILABLE - Static variable in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Indicates that the progress is available.
      +
      +
      PROGRESS_STATE_NO_TRANSFORMATION - Static variable in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Indicates that there is no current transformation.
      +
      +
      PROGRESS_STATE_UNAVAILABLE - Static variable in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Indicates that the progress is permanently unavailable for the current transformation.
      +
      +
      PROGRESS_STATE_WAITING_FOR_AVAILABILITY - Static variable in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Indicates that the progress is unavailable for the current transformation, but might become + available.
      +
      +
      ProgressHolder - Class in com.google.android.exoplayer2.transformer
      +
      +
      Holds a progress percentage.
      +
      +
      ProgressHolder() - Constructor for class com.google.android.exoplayer2.transformer.ProgressHolder
      +
       
      +
      ProgressiveDownloader - Class in com.google.android.exoplayer2.offline
      +
      +
      A downloader for progressive media streams.
      +
      +
      ProgressiveDownloader(Uri, String, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
      + +
      +
      ProgressiveDownloader(Uri, String, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
      + +
      +
      ProgressiveDownloader(MediaItem, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
      +
      Creates a new instance.
      +
      +
      ProgressiveDownloader(MediaItem, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
      +
      Creates a new instance.
      +
      +
      ProgressiveMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Provides one period that loads data from a Uri and extracted using an Extractor.
      +
      +
      ProgressiveMediaSource.Factory - Class in com.google.android.exoplayer2.source
      +
      + +
      +
      Projection - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      The projection mesh used with 360/VR videos.
      +
      +
      Projection(Projection.Mesh, int) - Constructor for class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Creates a Projection with single mesh.
      +
      +
      Projection(Projection.Mesh, Projection.Mesh, int) - Constructor for class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Creates a Projection with dual mesh.
      +
      +
      PROJECTION_CUBEMAP - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Cube map projection.
      +
      +
      PROJECTION_EQUIRECTANGULAR - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Equirectangular spherical projection.
      +
      +
      PROJECTION_MESH - Static variable in class com.google.android.exoplayer2.C
      +
      +
      3-D mesh projection.
      +
      +
      PROJECTION_RECTANGULAR - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Conventional rectangular projection.
      +
      +
      Projection.DrawMode - Annotation Type in com.google.android.exoplayer2.video.spherical
      +
      +
      Enforces allowed (sub) mesh draw modes.
      +
      +
      Projection.Mesh - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      A Mesh associated with the projection scene.
      +
      +
      Projection.SubMesh - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      The sub mesh associated with the Projection.Mesh.
      +
      +
      projectionData - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The projection data for 360/VR video, or null if not applicable.
      +
      +
      ProjectionDecoder - Class in com.google.android.exoplayer2.video.spherical
      +
      +
      A decoder for the projection mesh.
      +
      +
      PROPERTY_LICENSE_DURATION_REMAINING - Static variable in class com.google.android.exoplayer2.drm.WidevineUtil
      +
      +
      Widevine specific key status field name for the remaining license duration, in seconds.
      +
      +
      PROPERTY_PLAYBACK_DURATION_REMAINING - Static variable in class com.google.android.exoplayer2.drm.WidevineUtil
      +
      +
      Widevine specific key status field name for the remaining playback duration, in seconds.
      +
      +
      protectionElement - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      Content protection information, or null if the content is not protected.
      +
      +
      ProtectionElement(UUID, byte[], TrackEncryptionBox[]) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.ProtectionElement
      +
       
      +
      protectionSchemes - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      Contains the CDM protection schemes used by segments in this playlist.
      +
      +
      provideKeyResponse(byte[], byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      provideKeyResponse(byte[], byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      + +
      +
      provideKeyResponse(byte[], byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      provideKeyResponse(byte[], byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      provideProvisionResponse(byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      provideProvisionResponse(byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Provides a provisioning response for the last request to be generated using ExoMediaDrm.getProvisionRequest().
      +
      +
      provideProvisionResponse(byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      provideProvisionResponse(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      ProvisionRequest(byte[], String) - Constructor for class com.google.android.exoplayer2.drm.ExoMediaDrm.ProvisionRequest
      +
      +
      Creates an instance.
      +
      +
      PS - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the MPEG-PS format.
      +
      +
      PsExtractor - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts data from the MPEG-2 PS container format.
      +
      +
      PsExtractor() - Constructor for class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      PsExtractor(TimestampAdjuster) - Constructor for class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      PsshAtomUtil - Class in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Utility methods for handling PSSH atoms.
      +
      +
      ptsAdjustment - Variable in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
      +
      +
      The pts_adjustment as defined in SCTE35, Section 9.2.
      +
      +
      ptsTime - Variable in class com.google.android.exoplayer2.metadata.scte35.TimeSignalCommand
      +
      +
      A PTS value, as defined in SCTE35, Section 9.3.4.
      +
      +
      ptsToUs(long) - Static method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Converts a 90 kHz clock timestamp to a timestamp in microseconds.
      +
      +
      publishTimeMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The publishTime value in milliseconds since epoch, or C.TIME_UNSET if + not present.
      +
      +
      purpose - Variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      The purpose of the overlay view.
      +
      +
      PURPOSE_CLOSE_AD - Static variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Purpose for ad close buttons overlaying the player.
      +
      +
      PURPOSE_CONTROLS - Static variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Purpose for playback controls overlaying the player.
      +
      +
      PURPOSE_NOT_VISIBLE - Static variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Purpose for overlays that are not visible.
      +
      +
      PURPOSE_OTHER - Static variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      Purpose for other overlays.
      +
      +
      putDownload(Download) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      putDownload(Download) - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      +
      Adds or replaces a Download.
      +
      +
      putInt(int, int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Overwrites numBits from this array using the numBits least significant bits + from value.
      +
      +
      + + + +

      Q

      +
      +
      queryKeyStatus() - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Returns a map describing the key status for the session, or null if called before the session + has been opened or after it's been released.
      +
      +
      queryKeyStatus() - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      queryKeyStatus(byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      queryKeyStatus(byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Returns the key status for a given session, as {name, value} pairs.
      +
      +
      queryKeyStatus(byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      queryKeyStatus(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      queueEndOfStream() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Queues an end of stream signal.
      +
      +
      queueEndOfStream() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      queueEndOfStream() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      queueEndOfStream() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      queueEvent(int, ListenerSet.Event<T>) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Adds an event that is sent to the listeners when ListenerSet.flushEvents() is called.
      +
      +
      queueInput(ByteBuffer) - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Queues audio data between the position and limit of the input buffer for processing.
      +
      +
      queueInput(ByteBuffer) - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
       
      +
      queueInput(ByteBuffer) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      queueInput(ByteBuffer) - Method in class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
       
      +
      queueInput(ByteBuffer) - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      queueInputBuffer(int, int, int, long, int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Submit an input buffer for decoding.
      +
      +
      queueInputBuffer(int, int, int, long, int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      queueInputBuffer(I) - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Queues an input buffer to the decoder.
      +
      +
      queueInputBuffer(I) - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      queueSecureInputBuffer(int, int, CryptoInfo, long, int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Submit an input buffer that is potentially encrypted for decoding.
      +
      +
      queueSecureInputBuffer(int, int, CryptoInfo, long, int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      + + + +

      R

      +
      +
      RandomizedMp3Decoder - Class in com.google.android.exoplayer2.robolectric
      +
      +
      Generates randomized, but correct amount of data on MP3 audio input.
      +
      +
      RandomizedMp3Decoder() - Constructor for class com.google.android.exoplayer2.robolectric.RandomizedMp3Decoder
      +
       
      +
      RandomTrackSelection - Class in com.google.android.exoplayer2.trackselection
      +
      +
      An ExoTrackSelection whose selected track is updated randomly.
      +
      +
      RandomTrackSelection(TrackGroup, int...) - Constructor for class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      RandomTrackSelection(TrackGroup, int[], long) - Constructor for class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      RandomTrackSelection(TrackGroup, int[], Random) - Constructor for class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      RandomTrackSelection.Factory - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Factory for RandomTrackSelection instances.
      +
      +
      RangedUri - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Defines a range of data located at a reference uri.
      +
      +
      RangedUri(String, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      Constructs an ranged uri.
      +
      +
      RATE_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Represents an unset or unknown rate.
      +
      +
      RAW_RESOURCE_SCHEME - Static variable in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
      +
      The scheme part of a raw resource URI.
      +
      +
      RawCcExtractor - Class in com.google.android.exoplayer2.extractor.rawcc
      +
      +
      Extracts data from the RawCC container format.
      +
      +
      RawCcExtractor(Format) - Constructor for class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      rawMetadata - Variable in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
      +
      The complete metadata bytes used to construct this IcyInfo.
      +
      +
      RawResourceDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A DataSource for reading a raw resource inside the APK.
      +
      +
      RawResourceDataSource(Context) - Constructor for class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
       
      +
      RawResourceDataSource.RawResourceDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an IOException is encountered reading from a raw resource.
      +
      +
      RawResourceDataSourceException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.RawResourceDataSource.RawResourceDataSourceException
      +
       
      +
      RawResourceDataSourceException(String) - Constructor for exception com.google.android.exoplayer2.upstream.RawResourceDataSource.RawResourceDataSourceException
      +
       
      +
      read() - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
       
      +
      read(byte[]) - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      read(byte[], int, int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Reads up to length bytes from the input and resets the peek position.
      +
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.AssetDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.ContentDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSource
      +
       
      +
      read(byte[], int, int) - Method in interface com.google.android.exoplayer2.upstream.DataReader
      +
      +
      Reads up to length bytes of data from the input.
      +
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.DataSourceInputStream
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.DefaultDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.DummyDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.FileDataSource
      +
       
      +
      read(byte[], int, int) - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.PriorityDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.RawResourceDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      read(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      read(ExtractorInput) - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      read(ExtractorInput) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor
      +
      +
      Reads from the given ExtractorInput.
      +
      +
      read(ExtractorInput) - Method in class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
       
      +
      read(ExtractorInput) - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      read(ExtractorInput) - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Extracts data read from a provided ExtractorInput.
      +
      +
      read(ExtractorInput) - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Extracts data read from a provided ExtractorInput.
      +
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      read(ExtractorInput, PositionHolder) - Method in class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      read(FormatHolder, DecoderInputBuffer, boolean, boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Attempts to read from the queue.
      +
      +
      read(ByteBuffer) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Reads up to buffer.remaining() bytes of data and stores them into buffer, + starting at buffer.position().
      +
      +
      readBit() - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Reads a single bit.
      +
      +
      readBit() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads a single bit.
      +
      +
      readBit() - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Reads a single bit.
      +
      +
      readBits(byte[], int, int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads numBits bits into buffer.
      +
      +
      readBits(int) - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Reads up to 32 bits.
      +
      +
      readBits(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads up to 32 bits.
      +
      +
      readBits(int) - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Reads up to 32 bits.
      +
      +
      readBitsToLong(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads up to 64 bits.
      +
      +
      readBoolean(Parcel) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Reads an integer from a Parcel and interprets it as a boolean, with 0 mapping to false + and all other values mapping to true.
      +
      +
      readBytes(byte[], int, int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads the next length bytes into buffer.
      +
      +
      readBytes(byte[], int, int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes into buffer at offset.
      +
      +
      readBytes(ParsableBitArray, int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes into bitArray, and resets the position of + bitArray to zero.
      +
      +
      readBytes(ByteBuffer, int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes into buffer.
      +
      +
      readBytesAsString(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads the next length bytes as a UTF-8 string.
      +
      +
      readBytesAsString(int, Charset) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Reads the next length bytes as a string encoded in Charset.
      +
      +
      readData(FormatHolder, DecoderInputBuffer, boolean) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      readData(FormatHolder, DecoderInputBuffer, boolean) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      readData(FormatHolder, DecoderInputBuffer, boolean) - Method in class com.google.android.exoplayer2.source.EmptySampleStream
      +
       
      +
      readData(FormatHolder, DecoderInputBuffer, boolean) - Method in interface com.google.android.exoplayer2.source.SampleStream
      +
      +
      Attempts to read from the stream.
      +
      +
      readData(FormatHolder, DecoderInputBuffer, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
       
      +
      readDelimiterTerminatedString(char) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads up to the next delimiter byte (or the limit) as UTF-8 characters.
      +
      +
      readDiscontinuity() - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      readDiscontinuity() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      readDiscontinuity() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      readDiscontinuity() - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Attempts to read a discontinuity.
      +
      +
      readDiscontinuity() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      readDiscontinuity() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      readDouble() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next eight bytes as a 64-bit floating point value.
      +
      +
      readExactly(DataSource, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Reads length bytes from the specified opened DataSource, and returns a byte + array containing the read data.
      +
      +
      readFloat() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as a 32-bit floating point value.
      +
      +
      readFrameBlockSizeSamplesFromKey(ParsableByteArray, int) - Static method in class com.google.android.exoplayer2.extractor.FlacFrameReader
      +
      +
      Reads the given block size.
      +
      +
      readFully(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      readFully(byte[], int, int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      + +
      +
      readFully(byte[], int, int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      readFully(byte[], int, int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      readFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      readFully(byte[], int, int, boolean) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Like ExtractorInput.read(byte[], int, int), but reads the requested length in full.
      +
      +
      readFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      readFully(byte[], int, int, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      readId3Metadata(ExtractorInput, boolean) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Reads ID3 Data.
      +
      +
      readInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as a signed value
      +
      +
      readInt24() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next three bytes as a signed value.
      +
      +
      readLine() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads a line of text.
      +
      +
      readLittleEndianInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as a signed value in little endian order.
      +
      +
      readLittleEndianInt24() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next three bytes as a signed value in little endian order.
      +
      +
      readLittleEndianLong() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next eight bytes as a signed value in little endian order.
      +
      +
      readLittleEndianShort() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next two bytes as a signed value.
      +
      +
      readLittleEndianUnsignedInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as an unsigned value in little endian order.
      +
      +
      readLittleEndianUnsignedInt24() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next three bytes as an unsigned value in little endian order.
      +
      +
      readLittleEndianUnsignedIntToInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as a little endian unsigned integer into an integer, if the top bit + is a zero.
      +
      +
      readLittleEndianUnsignedShort() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next two bytes as an unsigned value.
      +
      +
      readLong() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next eight bytes as a signed value.
      +
      +
      readMetadataBlock(ExtractorInput, FlacMetadataReader.FlacStreamMetadataHolder) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Reads one FLAC metadata block.
      +
      +
      readNullTerminatedString() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads up to the next NUL byte (or the limit) as UTF-8 characters.
      +
      +
      readNullTerminatedString(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes as UTF-8 characters.
      +
      +
      readPcrFromPacket(ParsableByteArray, int, int) - Static method in class com.google.android.exoplayer2.extractor.ts.TsUtil
      +
      +
      Returns the PCR value read from a given TS packet.
      +
      +
      readSeekTableMetadataBlock(ParsableByteArray) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Reads a FLAC seek table metadata block.
      +
      +
      readShort() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next two bytes as a signed value.
      +
      +
      readSignedExpGolombCodedInt() - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Reads an signed Exp-Golomb-coded format integer.
      +
      +
      readSource(FormatHolder, DecoderInputBuffer, boolean) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Reads from the enabled upstream source.
      +
      +
      readStreamMarker(ExtractorInput) - Static method in class com.google.android.exoplayer2.extractor.FlacMetadataReader
      +
      +
      Reads the FLAC stream marker.
      +
      +
      readString(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes as UTF-8 characters.
      +
      +
      readString(int, Charset) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next length bytes as characters in the specified Charset.
      +
      +
      readSynchSafeInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads a Synchsafe integer.
      +
      +
      readToEnd(DataSource) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Reads data from the specified opened DataSource until it ends, and returns a byte array + containing the read data.
      +
      +
      readUnsignedByte() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next byte as an unsigned value.
      +
      +
      readUnsignedExpGolombCodedInt() - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Reads an unsigned Exp-Golomb-coded format integer.
      +
      +
      readUnsignedFixedPoint1616() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes, returning the integer portion of the fixed point 16.16 integer.
      +
      +
      readUnsignedInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as an unsigned value.
      +
      +
      readUnsignedInt24() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next three bytes as an unsigned value.
      +
      +
      readUnsignedIntToInt() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next four bytes as an unsigned integer into an integer, if the top bit is a zero.
      +
      +
      readUnsignedLongToLong() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next eight bytes as an unsigned long into a long, if the top bit is a zero.
      +
      +
      readUnsignedShort() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads the next two bytes as an unsigned value.
      +
      +
      readUtf8EncodedLong() - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Reads a long value encoded by UTF-8 encoding
      +
      +
      readVorbisCommentHeader(ParsableByteArray) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      Reads a Vorbis comment header.
      +
      +
      readVorbisCommentHeader(ParsableByteArray, boolean, boolean) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      Reads a Vorbis comment header.
      +
      +
      readVorbisIdentificationHeader(ParsableByteArray) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      Reads a Vorbis identification header from headerData.
      +
      +
      readVorbisModes(ParsableByteArray, int) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      This method reads the modes which are located at the very end of the Vorbis setup header.
      +
      +
      realtimeMs - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Elapsed real-time as returned by SystemClock.elapsedRealtime() at the time of the + event, in milliseconds.
      +
      +
      reason - Variable in exception com.google.android.exoplayer2.drm.UnsupportedDrmException
      +
      + +
      +
      reason - Variable in exception com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
      +
      +
      The reason clipping failed.
      +
      +
      reason - Variable in exception com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException
      +
      +
      The reason the merge failed.
      +
      +
      reason - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      reason - Variable in class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
      +
      The track selection reason.
      +
      +
      reason - Variable in exception com.google.android.exoplayer2.upstream.DataSourceException
      +
      +
      The reason of this DataSourceException.
      +
      +
      REASON_INSTANTIATION_ERROR - Static variable in exception com.google.android.exoplayer2.drm.UnsupportedDrmException
      +
      +
      There device advertises support for the requested DRM scheme, but there was an error + instantiating it.
      +
      +
      REASON_INVALID_PERIOD_COUNT - Static variable in exception com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
      +
      +
      The wrapped source doesn't consist of a single period.
      +
      +
      REASON_NOT_SEEKABLE_TO_START - Static variable in exception com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
      +
      +
      The wrapped source is not seekable and a non-zero clipping start position was specified.
      +
      +
      REASON_PERIOD_COUNT_MISMATCH - Static variable in exception com.google.android.exoplayer2.source.MergingMediaSource.IllegalMergeException
      +
      +
      The sources have different period counts.
      +
      +
      REASON_START_EXCEEDS_END - Static variable in exception com.google.android.exoplayer2.source.ClippingMediaSource.IllegalClippingException
      +
      +
      The wrapped source ends before the specified clipping start position.
      +
      +
      REASON_UNSUPPORTED_SCHEME - Static variable in exception com.google.android.exoplayer2.drm.UnsupportedDrmException
      +
      +
      The requested DRM scheme is unsupported by the device.
      +
      +
      reasonDetail - Variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      An optional, detailed reason that the overlay view is needed.
      +
      +
      recreate() - Method in class com.google.android.exoplayer2.source.hls.BundledHlsMediaChunkExtractor
      +
       
      +
      recreate() - Method in interface com.google.android.exoplayer2.source.hls.HlsMediaChunkExtractor
      +
      +
      Returns a new instance for extracting the same type of media as this one.
      +
      +
      recreate() - Method in class com.google.android.exoplayer2.source.hls.MediaParserHlsMediaChunkExtractor
      +
       
      +
      recursiveDelete(File) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Recursively deletes a directory and its content.
      +
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.source.CompositeSequenceableLoader
      +
       
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      reevaluateBuffer(long) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Re-evaluates the buffer given the playback position.
      +
      +
      reevaluateBuffer(long) - Method in interface com.google.android.exoplayer2.source.SequenceableLoader
      +
      +
      Re-evaluates the buffer given the playback position.
      +
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      reevaluateBuffer(long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      refreshPlaylist(Uri) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      refreshPlaylist(Uri) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Requests a playlist refresh and removes it from the exclusion list.
      +
      +
      refreshSourceInfo(Timeline) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      +
      Updates timeline and manifest and notifies all listeners of the update.
      +
      +
      register() - Method in class com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver
      +
      +
      Registers the receiver, meaning it will notify the listener when audio capability changes + occur.
      +
      +
      register(SimpleExoPlayer, CapturingRenderersFactory) - Static method in class com.google.android.exoplayer2.robolectric.PlaybackOutput
      +
      +
      Create an instance that captures the metadata and text output from player and the audio + and video output via capturingRenderersFactory.
      +
      +
      registerCustomCommandReceiver(MediaSessionConnector.CommandReceiver) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Registers a custom command receiver for responding to commands delivered via MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver).
      +
      +
      registerCustomMimeType(String, String, int) - Static method in class com.google.android.exoplayer2.util.MimeTypes
      +
      +
      Registers a custom MIME type.
      +
      +
      registeredModules() - Static method in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Returns a string consisting of registered module names separated by ", ".
      +
      +
      registerModule(String) - Static method in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Registers a module to be returned in the ExoPlayerLibraryInfo.registeredModules() string.
      +
      +
      REJECT_PAYWALL_TYPES - Static variable in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      A Predicate that rejects content types often used for pay-walls.
      +
      +
      relativeDiscontinuitySequence - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The number of #EXT-X-DISCONTINUITY tags in the playlist before the segment.
      +
      +
      relativeStartTimeUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The start time of the segment in microseconds, relative to the start of the playlist.
      +
      +
      relativeToDefaultPosition - Variable in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
      + +
      +
      relativeToLiveWindow - Variable in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
      +
      Whether the clipping of active media periods moves with a live window.
      +
      +
      release() - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Releases the collector.
      +
      +
      release() - Method in interface com.google.android.exoplayer2.decoder.Decoder
      +
      +
      Releases the decoder.
      +
      +
      release() - Method in class com.google.android.exoplayer2.decoder.OutputBuffer
      +
      +
      Releases the output buffer for reuse.
      +
      +
      release() - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.decoder.SimpleOutputBuffer
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.drm.DrmSessionManager
      +
      +
      Releases any acquired resources.
      +
      +
      release() - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Decrements the reference count.
      +
      +
      release() - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Releases the helper.
      +
      +
      release() - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.flac.FlacDecoder
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.opus.OpusDecoder
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Releases all kept resources.
      +
      +
      release() - Method in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Releases the adapter and the underlying MediaCodec.
      +
      +
      release() - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Releases the helper and all resources it is holding.
      +
      +
      release() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Stops the downloads and releases resources.
      +
      +
      release() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Releases the player.
      +
      +
      release() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Releases the loader.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor
      +
      +
      Releases any held resources.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Releases the stream.
      +
      +
      release() - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Releases any held resources.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.chunk.MediaParserChunkExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
      +
      Release this track emsg handler.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
      +
      +
      Release this emsg handler.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Calls reset(true) and releases any resources owned by the queue.
      +
      +
      release() - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
      +
      Releases the media period.
      +
      +
      release() - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Releases the media period.
      +
      +
      release() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Release the stream and its underlying sample queue.
      +
      +
      release() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Releases the runner.
      +
      +
      release() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.text.cea.Cea608Decoder
      +
       
      +
      release() - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Releases the cache.
      +
      +
      release() - Method in class com.google.android.exoplayer2.upstream.cache.CachedRegionTracker
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Releases the loader.
      +
      +
      release() - Method in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      Releases all allocated resources.
      +
      +
      release() - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Releases the set of listeners immediately.
      +
      +
      release() - Method in class com.google.android.exoplayer2.video.DummySurface
      +
       
      +
      release() - Method in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      release(DrmSessionEventListener.EventDispatcher) - Method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Decrements the reference count.
      +
      +
      release(DrmSessionEventListener.EventDispatcher) - Method in class com.google.android.exoplayer2.drm.ErrorStateDrmSession
      +
       
      +
      release(ChunkSampleStream.ReleaseCallback<T>) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Releases the stream.
      +
      +
      release(Allocation) - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Releases an Allocation back to the allocator.
      +
      +
      release(Allocation) - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      release(Allocation[]) - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Releases an array of Allocations back to the allocator.
      +
      +
      release(Allocation[]) - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      release(Loader.ReleaseCallback) - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Releases the loader.
      +
      +
      releaseChildSource(T) - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
      +
      Releases a child source.
      +
      +
      releaseCodec() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      releaseCount - Variable in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      releaseDecoder() - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Releases the decoder.
      +
      +
      releaseHoleSpan(CacheSpan) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Releases a CacheSpan obtained from Cache.startReadWrite(String, long, long) which + corresponded to a hole in the cache.
      +
      +
      releaseHoleSpan(CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      releaseLicense(byte[]) - Method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Releases an offline license.
      +
      +
      releaseMediaPeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaSource
      +
       
      +
      releaseMediaPeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      + +
      +
      releaseOutputBuffer(int, boolean) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Returns the buffer to the MediaCodec.
      +
      +
      releaseOutputBuffer(int, boolean) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      releaseOutputBuffer(int, long) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Updates the output buffer's surface timestamp and sends it to the MediaCodec to render + it on the output surface.
      +
      +
      releaseOutputBuffer(int, long) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      releaseOutputBuffer(VideoDecoderOutputBuffer) - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
       
      +
      releaseOutputBuffer(VideoDecoderOutputBuffer) - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
       
      +
      releaseOutputBuffer(O) - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Releases an output buffer back to the decoder.
      +
      +
      releaseOutputBuffer(S) - Method in interface com.google.android.exoplayer2.decoder.OutputBuffer.Owner
      +
      +
      Releases the buffer.
      +
      +
      releasePeriod() - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Releases the period.
      +
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource
      +
      +
      Deprecated.
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.LoopingMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Releases the period.
      +
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      releasePeriod(MediaPeriod) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Calls MediaSource.releasePeriod(MediaPeriod) on the playback thread.
      +
      +
      releaseSource() - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Calls MediaSource.releaseSource(MediaSourceCaller) on the playback thread.
      +
      +
      releaseSource(MediaSource.MediaSourceCaller) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      releaseSource(MediaSource.MediaSourceCaller) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Unregisters a caller, and disables and releases the source if no longer required.
      +
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ads.AdsMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
      + +
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ClippingMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.CompositeMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.MaskingMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.MergingMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.SilenceMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
      +
       
      +
      releaseSourceInternal() - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
       
      +
      remove() - Method in interface com.google.android.exoplayer2.offline.Downloader
      +
      +
      Removes the content.
      +
      +
      remove() - Method in class com.google.android.exoplayer2.offline.ProgressiveDownloader
      +
       
      +
      remove() - Method in class com.google.android.exoplayer2.offline.SegmentDownloader
      +
       
      +
      remove() - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Remove an item from the queue.
      +
      +
      remove(int) - Method in interface com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor.QueueDataAdapter
      +
      +
      Removes the item at the given position.
      +
      +
      remove(int) - Method in class com.google.android.exoplayer2.util.PriorityTaskManager
      +
      +
      Unregister a task.
      +
      +
      remove(E) - Method in class com.google.android.exoplayer2.util.CopyOnWriteMultiset
      +
      +
      Removes element from the multiset.
      +
      +
      remove(String) - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Adds a mutation to remove a metadata value.
      +
      +
      remove(String) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Removes a request property by name.
      +
      +
      remove(T) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Removes a listener from the set.
      +
      +
      removeAllDownloads() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Cancels all pending downloads and removes all downloaded data.
      +
      +
      removeAnalyticsListener(AnalyticsListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Removes an AnalyticsListener.
      +
      +
      removeAudioListener(AudioListener) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Removes a listener of audio events.
      +
      +
      removeAudioListener(AudioListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeCallbacksAndMessages(Object) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      removeDeviceListener(DeviceListener) - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Removes a listener of device events.
      +
      +
      removeDeviceListener(DeviceListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeDownload(String) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      removeDownload(String) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Cancels the download with the id and removes all downloaded data.
      +
      +
      removeDownload(String) - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      +
      Removes the download with the given ID.
      +
      +
      removeDrmEventListener(DrmSessionEventListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      removeDrmEventListener(DrmSessionEventListener) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Removes a DrmSessionEventListener from the list of listeners which are notified of DRM + events for this media source.
      +
      +
      removeEventListener(DrmSessionEventListener) - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      Removes a listener from the event dispatcher.
      +
      +
      removeEventListener(MediaSourceEventListener) - Method in class com.google.android.exoplayer2.source.BaseMediaSource
      +
       
      +
      removeEventListener(MediaSourceEventListener) - Method in interface com.google.android.exoplayer2.source.MediaSource
      +
      +
      Removes a MediaSourceEventListener from the list of listeners which are notified of + media source events.
      +
      +
      removeEventListener(MediaSourceEventListener) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      Removes a listener from the event dispatcher.
      +
      +
      removeEventListener(BandwidthMeter.EventListener) - Method in interface com.google.android.exoplayer2.upstream.BandwidthMeter
      +
      + +
      +
      removeEventListener(BandwidthMeter.EventListener) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
       
      +
      removeItem(int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Deprecated. + +
      +
      +
      removeListener(AnalyticsListener) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Removes a previously added analytics event listener.
      +
      +
      removeListener(DownloadManager.Listener) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      + +
      +
      removeListener(Player.EventListener) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      removeListener(Player.EventListener) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Unregister a listener.
      +
      +
      removeListener(Player.EventListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeListener(Player.EventListener) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      removeListener(HlsPlaylistTracker.PlaylistEventListener) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      removeListener(HlsPlaylistTracker.PlaylistEventListener) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Unregisters a listener.
      +
      +
      removeListener(TimeBar.OnScrubListener) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      removeListener(TimeBar.OnScrubListener) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Removes a listener for scrubbing events.
      +
      +
      removeListener(BandwidthMeter.EventListener) - Method in class com.google.android.exoplayer2.upstream.BandwidthMeter.EventListener.EventDispatcher
      +
      +
      Removes a listener from the event dispatcher.
      +
      +
      removeListener(String, Cache.Listener) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Unregisters a listener.
      +
      +
      removeListener(String, Cache.Listener) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      removeMediaItem(int) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      removeMediaItem(int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Removes the media item at the given index of the playlist.
      +
      +
      removeMediaItem(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeMediaItem(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a remove media item action to be executed.
      +
      +
      removeMediaItem(int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      RemoveMediaItem(String, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.RemoveMediaItem
      +
       
      +
      removeMediaItems(int, int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      removeMediaItems(int, int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Removes a range of media items from the playlist.
      +
      +
      removeMediaItems(int, int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeMediaItems(int, int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a remove media items action to be executed.
      +
      +
      removeMediaItems(int, int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      RemoveMediaItems(String, int, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.RemoveMediaItems
      +
       
      +
      removeMediaSource(int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Removes a MediaSource from the playlist.
      +
      +
      removeMediaSource(int, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Removes a MediaSource from the playlist and executes a custom action on completion.
      +
      +
      removeMediaSourceRange(int, int) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Removes a range of MediaSources from the playlist, by specifying an initial index + (included) and a final index (excluded).
      +
      +
      removeMediaSourceRange(int, int, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Removes a range of MediaSources from the playlist, by specifying an initial index + (included) and a final index (excluded), and executes a custom action on completion.
      +
      +
      removeMessages(int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      removeMetadataOutput(MetadataOutput) - Method in interface com.google.android.exoplayer2.Player.MetadataComponent
      +
      +
      Removes a MetadataOutput.
      +
      +
      removeMetadataOutput(MetadataOutput) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removePlaylistItem(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      removeQueryParameter(Uri, String) - Static method in class com.google.android.exoplayer2.util.UriUtil
      +
      +
      Removes query parameter from an Uri, if present.
      +
      +
      removeRange(List<T>, int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Removes an indexed range from a List.
      +
      +
      removeResource(String) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Removes all CacheSpans for a resource, deleting the underlying files.
      +
      +
      removeResource(String) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      removeSpan(CacheSpan) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Removes a cached CacheSpan from the cache, deleting the underlying file.
      +
      +
      removeSpan(CacheSpan) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      removeTextOutput(TextOutput) - Method in interface com.google.android.exoplayer2.Player.TextComponent
      +
      +
      Removes a text output.
      +
      +
      removeTextOutput(TextOutput) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeVersion(SQLiteDatabase, int, String) - Static method in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Removes the version of a specified instance of a feature.
      +
      +
      removeVideoListener(VideoListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Removes a listener of video events.
      +
      +
      removeVideoListener(VideoListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      removeVisibilityListener(PlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      removeVisibilityListener(StyledPlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      + +
      +
      render(long, long) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      render(long, long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      render(long, long) - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      render(long, long) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Incrementally renders the SampleStream.
      +
      +
      render(long, long) - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      render(long, long) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      render(long, long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
       
      +
      render(long, long) - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      renderedFirstFrame(Surface) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      renderedOutputBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of rendered output buffers.
      +
      +
      Renderer - Interface in com.google.android.exoplayer2
      +
      +
      Renders media read from a SampleStream.
      +
      +
      RENDERER_SUPPORT_EXCEEDS_CAPABILITIES_TRACKS - Static variable in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      The renderer has tracks mapped to it and at least one is of a supported type, but all such + tracks exceed the renderer's capabilities.
      +
      +
      RENDERER_SUPPORT_NO_TRACKS - Static variable in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      The renderer does not have any associated tracks.
      +
      +
      RENDERER_SUPPORT_PLAYABLE_TRACKS - Static variable in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      The renderer has tracks mapped to it, and at least one such track is playable.
      +
      +
      RENDERER_SUPPORT_UNSUPPORTED_TRACKS - Static variable in class com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedTrackInfo
      +
      +
      The renderer has tracks mapped to it, but all are unsupported.
      +
      +
      Renderer.State - Annotation Type in com.google.android.exoplayer2
      +
      +
      The renderer states.
      +
      +
      Renderer.VideoScalingMode - Annotation Type in com.google.android.exoplayer2
      +
      +
      Deprecated. + +
      +
      +
      Renderer.WakeupListener - Interface in com.google.android.exoplayer2
      +
      +
      Some renderers can signal when Renderer.render(long, long) should be called.
      +
      +
      RendererCapabilities - Interface in com.google.android.exoplayer2
      +
      +
      Defines the capabilities of a Renderer.
      +
      +
      RendererCapabilities.AdaptiveSupport - Annotation Type in com.google.android.exoplayer2
      +
      +
      Level of renderer support for adaptive format switches.
      +
      +
      RendererCapabilities.Capabilities - Annotation Type in com.google.android.exoplayer2
      +
      +
      Combined renderer capabilities.
      +
      +
      RendererCapabilities.FormatSupport - Annotation Type in com.google.android.exoplayer2
      +
      +
      Deprecated. +
      Use C.FormatSupport instead.
      +
      +
      +
      RendererCapabilities.TunnelingSupport - Annotation Type in com.google.android.exoplayer2
      +
      +
      Level of renderer support for tunneling.
      +
      +
      RendererConfiguration - Class in com.google.android.exoplayer2
      +
      +
      The configuration of a Renderer.
      +
      +
      RendererConfiguration(boolean) - Constructor for class com.google.android.exoplayer2.RendererConfiguration
      +
       
      +
      rendererConfigurations - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      A RendererConfiguration for each renderer.
      +
      +
      rendererFormat - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      If ExoPlaybackException.type is ExoPlaybackException.TYPE_RENDERER, this is the Format the renderer was using + at the time of the exception, or null if the renderer wasn't using a Format.
      +
      +
      rendererFormatSupport - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      + +
      +
      rendererIndex - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      If ExoPlaybackException.type is ExoPlaybackException.TYPE_RENDERER, this is the index of the renderer, or C.INDEX_UNSET if unknown.
      +
      +
      rendererName - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      If ExoPlaybackException.type is ExoPlaybackException.TYPE_RENDERER, this is the name of the renderer, or null if + unknown.
      +
      +
      renderers - Variable in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      RenderersFactory - Interface in com.google.android.exoplayer2
      +
      +
      Builds Renderer instances for use by a SimpleExoPlayer.
      +
      +
      renderOutputBuffer(MediaCodecAdapter, int, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Renders the output buffer with the specified index.
      +
      +
      renderOutputBuffer(VideoDecoderOutputBuffer, long, Format) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Renders the specified output buffer.
      +
      +
      renderOutputBufferToSurface(VideoDecoderOutputBuffer, Surface) - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      renderOutputBufferToSurface(VideoDecoderOutputBuffer, Surface) - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      renderOutputBufferToSurface(VideoDecoderOutputBuffer, Surface) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Renders the specified output buffer to the passed surface.
      +
      +
      renderOutputBufferV21(MediaCodecAdapter, int, long, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Renders the output buffer with the specified index.
      +
      +
      renderToEndOfStream() - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      renderToEndOfStream() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Incrementally renders any remaining output.
      +
      +
      renderToSurface(VideoDecoderOutputBuffer, Surface) - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
      +
      Renders output buffer to the given surface.
      +
      +
      renderToSurface(VideoDecoderOutputBuffer, Surface) - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
      +
      Renders the outputBuffer to the surface.
      +
      +
      Rendition(Uri, Format, String, String) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
      +
       
      +
      RenditionReport(Uri, long, int) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.RenditionReport
      +
      +
      Creates a new instance.
      +
      +
      renditionReports - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The rendition reports of alternative rendition playlists.
      +
      +
      renewLicense(byte[]) - Method in class com.google.android.exoplayer2.drm.OfflineLicenseHelper
      +
      +
      Renews an offline license.
      +
      +
      repeat(Action, long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules an action repeatedly.
      +
      +
      REPEAT_MODE_ALL - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Repeats the entire timeline infinitely.
      +
      +
      REPEAT_MODE_OFF - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Normal playback without repetition.
      +
      +
      REPEAT_MODE_ONE - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Repeats the currently playing window infinitely during ongoing playback.
      +
      +
      REPEAT_TOGGLE_MODE_ALL - Static variable in class com.google.android.exoplayer2.util.RepeatModeUtil
      +
      +
      "Repeat All" button enabled.
      +
      +
      REPEAT_TOGGLE_MODE_NONE - Static variable in class com.google.android.exoplayer2.util.RepeatModeUtil
      +
      +
      All repeat mode buttons disabled.
      +
      +
      REPEAT_TOGGLE_MODE_ONE - Static variable in class com.google.android.exoplayer2.util.RepeatModeUtil
      +
      +
      "Repeat One" button enabled.
      +
      +
      RepeatModeActionProvider - Class in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Provides a custom action for toggling repeat modes.
      +
      +
      RepeatModeActionProvider(Context) - Constructor for class com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
      +
      +
      Creates a new instance.
      +
      +
      RepeatModeActionProvider(Context, int) - Constructor for class com.google.android.exoplayer2.ext.mediasession.RepeatModeActionProvider
      +
      +
      Creates a new instance enabling the given repeat toggle modes.
      +
      +
      RepeatModeUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Util class for repeat mode handling.
      +
      +
      RepeatModeUtil.RepeatToggleModes - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      Set of repeat toggle modes.
      +
      +
      replaceManifestUri(Uri) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource
      +
      +
      Manually replaces the manifest Uri.
      +
      +
      replaceOutputBuffer(int) - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
      +
      Replaces the current output buffer with a buffer of at least count bytes and returns + it.
      +
      +
      replacePlaylistItem(int, MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      replaceSession(DrmSession, DrmSession) - Static method in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      Acquires newSession then releases previousSession.
      +
      +
      replaceStream(Format[], SampleStream, long, long) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      replaceStream(Format[], SampleStream, long, long) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      replaceStream(Format[], SampleStream, long, long) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Replaces the SampleStream from which samples will be consumed.
      +
      +
      replaceTrackSelections(int, DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.offline.DownloadHelper
      +
      +
      Replaces a selection of tracks to be downloaded.
      +
      +
      reportVideoFrameProcessingOffset(long, int) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      representation - Variable in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      Representation - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A DASH representation.
      +
      +
      Representation.MultiSegmentRepresentation - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A DASH representation consisting of multiple segments.
      +
      +
      Representation.SingleSegmentRepresentation - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A DASH representation consisting of a single segment.
      +
      +
      representationHolders - Variable in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      RepresentationInfo(Format, String, SegmentBase, String, ArrayList<DrmInitData.SchemeData>, ArrayList<Descriptor>, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      representations - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      Representations in the adaptation set.
      +
      +
      RepresentationSegmentIterator(DefaultDashChunkSource.RepresentationHolder, long, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationSegmentIterator
      +
      +
      Creates iterator.
      +
      +
      request - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download request.
      +
      +
      REQUEST_HEADER_ENABLE_METADATA_NAME - Static variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      REQUEST_HEADER_ENABLE_METADATA_VALUE - Static variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      REQUEST_TYPE_INITIAL - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Key request type for an initial license request.
      +
      +
      REQUEST_TYPE_NONE - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Key request type if keys are already loaded and available for use.
      +
      +
      REQUEST_TYPE_RELEASE - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Key request type for license release.
      +
      +
      REQUEST_TYPE_RENEWAL - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Key request type for license renewal.
      +
      +
      REQUEST_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Value returned from ExoMediaDrm.KeyRequest.getRequestType() if the underlying key request does not specify + a type.
      +
      +
      REQUEST_TYPE_UPDATE - Static variable in class com.google.android.exoplayer2.drm.ExoMediaDrm.KeyRequest
      +
      +
      Key request type if keys have been loaded, but an additional license request is needed to + update their values.
      +
      +
      requestAds(DataSpec, Object, ViewGroup) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
      +
      Requests ads, if they have not already been requested.
      +
      +
      requestHeaders - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      The headers to attach to the request to the DRM license server.
      +
      +
      RequestProperties() - Constructor for class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
       
      +
      RequestSet(FakeDataSet) - Constructor for class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      requiredCapacity - Variable in exception com.google.android.exoplayer2.decoder.DecoderInputBuffer.InsufficientCapacityException
      +
      +
      The required capacity of the buffer.
      +
      +
      Requirements - Class in com.google.android.exoplayer2.scheduler
      +
      +
      Defines a set of device state requirements.
      +
      +
      Requirements(int) - Constructor for class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      Requirements.RequirementFlags - Annotation Type in com.google.android.exoplayer2.scheduler
      +
      +
      Requirement flags.
      +
      +
      RequirementsWatcher - Class in com.google.android.exoplayer2.scheduler
      +
      +
      Watches whether the Requirements are met and notifies the RequirementsWatcher.Listener on changes.
      +
      +
      RequirementsWatcher(Context, RequirementsWatcher.Listener, Requirements) - Constructor for class com.google.android.exoplayer2.scheduler.RequirementsWatcher
      +
       
      +
      RequirementsWatcher.Listener - Interface in com.google.android.exoplayer2.scheduler
      +
      +
      Notified when RequirementsWatcher instance first created and on changes whether the Requirements are met.
      +
      +
      requiresCacheSpanTouches() - Method in interface com.google.android.exoplayer2.upstream.cache.CacheEvictor
      +
      +
      Returns whether the evictor requires the Cache to touch CacheSpans + when it accesses them.
      +
      +
      requiresCacheSpanTouches() - Method in class com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
      +
       
      +
      requiresCacheSpanTouches() - Method in class com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor
      +
       
      +
      reset() - Method in interface com.google.android.exoplayer2.audio.AudioProcessor
      +
      +
      Resets the processor to its unconfigured state, releasing any resources.
      +
      +
      reset() - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Resets the renderer, releasing any resources that it currently holds.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.audio.BaseAudioProcessor
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      reset() - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Resets the reading position to zero.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      reset() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Forces the renderer to give up any resources (e.g.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkIterator
      +
       
      +
      reset() - Method in interface com.google.android.exoplayer2.source.chunk.MediaChunkIterator
      +
      +
      Resets the iterator to the initial position.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.source.hls.TimestampAdjusterProvider
      +
      +
      Resets the provider.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Convenience method for reset(false).
      +
      +
      reset() - Method in class com.google.android.exoplayer2.testutil.CapturingAudioSink
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
      +
      Resets the input to its initial state.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Resets the sample queue.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      reset() - Method in class com.google.android.exoplayer2.util.SlidingPercentile
      +
      +
      Resets the sliding percentile.
      +
      +
      reset() - Method in class com.google.android.exoplayer2.video.spherical.FrameRotationQueue
      +
      +
      Removes all of the rotations and forces rotations to be recentered.
      +
      +
      reset(boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Clears all samples from the queue.
      +
      +
      reset(byte[]) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Updates the instance to wrap data, and resets the position to zero.
      +
      +
      reset(byte[]) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Updates the instance to wrap data, and resets the position to zero and the limit to + data.length.
      +
      +
      reset(byte[], int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Updates the instance to wrap data, and resets the position to zero.
      +
      +
      reset(byte[], int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Updates the instance to wrap data, and resets the position to zero.
      +
      +
      reset(byte[], int, int) - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Resets the wrapped data, limit and offset.
      +
      +
      reset(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Resets the position to zero and the limit to the specified value.
      +
      +
      reset(long) - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Resets the instance to its initial state.
      +
      +
      reset(ParsableByteArray) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Sets this instance's data, position and limit to match the provided parsableByteArray.
      +
      +
      reset(OutputStream) - Method in class com.google.android.exoplayer2.util.ReusableBufferedOutputStream
      +
      +
      Resets this stream and uses the given output stream for writing.
      +
      +
      resetBytesRead() - Method in class com.google.android.exoplayer2.upstream.StatsDataSource
      +
      +
      Resets the number of bytes read as returned from StatsDataSource.getBytesRead() to zero.
      +
      +
      resetCodecStateForFlush() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Resets the renderer internal state after a codec flush.
      +
      +
      resetCodecStateForFlush() - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      resetCodecStateForRelease() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Resets the renderer internal state after a codec release.
      +
      +
      resetForNewPlaylist() - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Resets the analytics collector for a new playlist.
      +
      +
      resetHandler() - Method in class com.google.android.exoplayer2.testutil.AutoAdvancingFakeClock
      +
      +
      Resets the internal handler, so that this clock can later be used with another handler.
      +
      +
      resetPeekPosition() - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      resetPeekPosition() - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Resets the peek position to equal the current read position.
      +
      +
      resetPeekPosition() - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      resetPeekPosition() - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      resetPosition(long) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      resetPosition(long) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      resetPosition(long) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Signals to the renderer that a position discontinuity has occurred.
      +
      +
      resetPosition(long) - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
      +
      Resets the clock's position.
      +
      +
      resetSupplementalData(int) - Method in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Clears DecoderInputBuffer.supplementalData and ensures that it's large enough to accommodate + length bytes.
      +
      +
      RESIZE_MODE_FILL - Static variable in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      The specified aspect ratio is ignored.
      +
      +
      RESIZE_MODE_FIT - Static variable in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      Either the width or height is decreased to obtain the desired aspect ratio.
      +
      +
      RESIZE_MODE_FIXED_HEIGHT - Static variable in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      The height is fixed and the width is increased or decreased to obtain the desired aspect ratio.
      +
      +
      RESIZE_MODE_FIXED_WIDTH - Static variable in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      The width is fixed and the height is increased or decreased to obtain the desired aspect ratio.
      +
      +
      RESIZE_MODE_ZOOM - Static variable in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      Either the width or height is increased to obtain the desired aspect ratio.
      +
      +
      resolve(String, String) - Static method in class com.google.android.exoplayer2.util.UriUtil
      +
      +
      Performs relative resolution of a referenceUri with respect to a baseUri.
      +
      +
      resolveDataSpec(DataSpec) - Method in interface com.google.android.exoplayer2.upstream.ResolvingDataSource.Resolver
      +
      +
      Resolves a DataSpec before forwarding it to the wrapped DataSource.
      +
      +
      resolveReportedUri(Uri) - Method in interface com.google.android.exoplayer2.upstream.ResolvingDataSource.Resolver
      +
      +
      Resolves a URI reported by DataSource.getUri() for event reporting and caching + purposes.
      +
      +
      resolveSeekPositionUs(long, long, long) - Method in class com.google.android.exoplayer2.SeekParameters
      +
      +
      Resolves a seek based on the parameters, given the requested seek position and two candidate + sync points.
      +
      +
      resolvesToUnknownLength() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns true if the resource should resolve to an unknown length.
      +
      +
      resolvesToUnknownLength(boolean) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Sets if the server shouldn't include the resource length in header responses.
      +
      +
      resolveToUri(String, String) - Static method in class com.google.android.exoplayer2.util.UriUtil
      +
      +
      Like UriUtil.resolve(String, String), but returns a Uri instead of a String.
      +
      +
      resolveUri(String) - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      Returns the resolved Uri represented by the instance.
      +
      +
      resolveUriString(String) - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      Returns the resolved uri represented by the instance as a string.
      +
      +
      ResolvingDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      DataSource wrapper allowing just-in-time resolution of DataSpecs.
      +
      +
      ResolvingDataSource(DataSource, ResolvingDataSource.Resolver) - Constructor for class com.google.android.exoplayer2.upstream.ResolvingDataSource
      +
       
      +
      ResolvingDataSource.Factory - Class in com.google.android.exoplayer2.upstream
      +
      + +
      +
      ResolvingDataSource.Resolver - Interface in com.google.android.exoplayer2.upstream
      +
      +
      Resolves DataSpecs.
      +
      +
      resourceNotFound() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      responseBody - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      +
      The response body.
      +
      +
      responseCode - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      +
      The response code that was outside of the 2xx range.
      +
      +
      responseHeaders - Variable in exception com.google.android.exoplayer2.drm.MediaDrmCallbackException
      +
      +
      The HTTP request headers included in the response.
      +
      +
      responseHeaders - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      The response headers associated with the load, or an empty map if unavailable.
      +
      +
      responseMessage - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException
      +
      +
      The http status message.
      +
      +
      restoreKeys(byte[], byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      restoreKeys(byte[], byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Restores persisted offline keys into a session.
      +
      +
      restoreKeys(byte[], byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      restoreKeys(byte[], byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      result - Variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The result of the evaluation.
      +
      +
      RESULT_BUFFER_READ - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A return value for methods where a buffer was read.
      +
      +
      RESULT_CONTINUE - Static variable in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Returned by Extractor.read(ExtractorInput, PositionHolder) if the ExtractorInput passed + to the next Extractor.read(ExtractorInput, PositionHolder) is required to provide data + continuing from the position in the stream reached by the returning call.
      +
      +
      RESULT_END_OF_INPUT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A return value for methods where the end of an input was encountered.
      +
      +
      RESULT_END_OF_INPUT - Static variable in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Returned by Extractor.read(ExtractorInput, PositionHolder) if the end of the + ExtractorInput was reached.
      +
      +
      RESULT_FORMAT_READ - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A return value for methods where a format was read.
      +
      +
      RESULT_MAX_LENGTH_EXCEEDED - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A return value for methods where the length of parsed data exceeds the maximum length allowed.
      +
      +
      RESULT_NOTHING_READ - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A return value for methods where nothing was read.
      +
      +
      RESULT_SEEK - Static variable in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Returned by Extractor.read(ExtractorInput, PositionHolder) if the ExtractorInput passed + to the next Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting + from a specified position in the stream.
      +
      +
      resumeDownloads() - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Resumes downloads.
      +
      +
      retainBackBufferFromKeyframe() - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      retainBackBufferFromKeyframe() - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Returns whether media should be retained from the keyframe before the current playback position + minus LoadControl.getBackBufferDurationUs(), rather than any sample before or at that position.
      +
      +
      retrieveMetadata(Context, MediaItem) - Static method in class com.google.android.exoplayer2.MetadataRetriever
      +
      +
      Retrieves the TrackGroupArray corresponding to a MediaItem.
      +
      +
      retrieveMetadata(MediaSourceFactory, MediaItem) - Static method in class com.google.android.exoplayer2.MetadataRetriever
      +
      +
      Retrieves the TrackGroupArray corresponding to a MediaItem.
      +
      +
      retry() - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Deprecated. +
      Use Player.prepare() instead.
      +
      +
      +
      retry() - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      retry() - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      RETRY - Static variable in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Retries the load using the default delay.
      +
      +
      RETRY_RESET_ERROR_COUNT - Static variable in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Retries the load using the default delay and resets the error count.
      +
      +
      ReusableBufferedOutputStream - Class in com.google.android.exoplayer2.util
      +
      +
      This is a subclass of BufferedOutputStream with a ReusableBufferedOutputStream.reset(OutputStream) method + that allows an instance to be re-used with another underlying output stream.
      +
      +
      ReusableBufferedOutputStream(OutputStream) - Constructor for class com.google.android.exoplayer2.util.ReusableBufferedOutputStream
      +
       
      +
      ReusableBufferedOutputStream(OutputStream, int) - Constructor for class com.google.android.exoplayer2.util.ReusableBufferedOutputStream
      +
       
      +
      REUSE_RESULT_NO - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The decoder cannot be reused.
      +
      +
      REUSE_RESULT_YES_WITH_FLUSH - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The decoder can be reused, but must be flushed.
      +
      +
      REUSE_RESULT_YES_WITH_RECONFIGURATION - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The decoder can be reused.
      +
      +
      REUSE_RESULT_YES_WITHOUT_RECONFIGURATION - Static variable in class com.google.android.exoplayer2.decoder.DecoderReuseEvaluation
      +
      +
      The decoder can be kept.
      +
      +
      REVISION_ID_DEFAULT - Static variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      A default value for Representation.revisionId.
      +
      +
      revisionId - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      revisionId - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation
      +
      +
      Identifies the revision of the media contained within the representation.
      +
      +
      RIFF_FOURCC - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Four character code for "RIFF".
      +
      +
      rightMesh - Variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      The Mesh corresponding to the right eye.
      +
      +
      RobolectricUtil - Class in com.google.android.exoplayer2.robolectric
      +
      +
      Utility methods for Robolectric-based tests.
      +
      +
      ROLE_FLAG_ALTERNATE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates an alternate track.
      +
      +
      ROLE_FLAG_CAPTION - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains captions.
      +
      +
      ROLE_FLAG_COMMENTARY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains commentary, for example from the director.
      +
      +
      ROLE_FLAG_DESCRIBES_MUSIC_AND_SOUND - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains a textual description of music and sound.
      +
      +
      ROLE_FLAG_DESCRIBES_VIDEO - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains an audio or textual description of a video track.
      +
      +
      ROLE_FLAG_DUB - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track is in a different language from the original, for example dubbed audio or + translated captions.
      +
      +
      ROLE_FLAG_EASY_TO_READ - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains a text that has been edited for ease of reading.
      +
      +
      ROLE_FLAG_EMERGENCY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains information about a current emergency.
      +
      +
      ROLE_FLAG_ENHANCED_DIALOG_INTELLIGIBILITY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track is designed for improved intelligibility of dialogue.
      +
      +
      ROLE_FLAG_MAIN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates a main track.
      +
      +
      ROLE_FLAG_SIGN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains a visual sign-language interpretation of an audio track.
      +
      +
      ROLE_FLAG_SUBTITLE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains subtitles.
      +
      +
      ROLE_FLAG_SUPPLEMENTARY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates a supplementary track, meaning the track has lower importance than the main track(s).
      +
      +
      ROLE_FLAG_TRANSCRIBES_DIALOG - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track contains a transcription of spoken dialog.
      +
      +
      ROLE_FLAG_TRICK_PLAY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates the track is intended for trick play.
      +
      +
      roleFlags - Variable in class com.google.android.exoplayer2.Format
      +
      +
      Track role flags.
      +
      +
      roleFlags - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The role flags.
      +
      +
      rotationDegrees - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The clockwise rotation that should be applied to the video for it to be rendered in the correct + orientation, or 0 if unknown or not applicable.
      +
      +
      RtmpDataSource - Class in com.google.android.exoplayer2.ext.rtmp
      +
      +
      A Real-Time Messaging Protocol (RTMP) DataSource.
      +
      +
      RtmpDataSource() - Constructor for class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
      +
       
      +
      RtmpDataSourceFactory - Class in com.google.android.exoplayer2.ext.rtmp
      +
      + +
      +
      RtmpDataSourceFactory() - Constructor for class com.google.android.exoplayer2.ext.rtmp.RtmpDataSourceFactory
      +
       
      +
      RtmpDataSourceFactory(TransferListener) - Constructor for class com.google.android.exoplayer2.ext.rtmp.RtmpDataSourceFactory
      +
       
      +
      RubySpan - Class in com.google.android.exoplayer2.text.span
      +
      +
      A styling span for ruby text.
      +
      +
      RubySpan(String, int) - Constructor for class com.google.android.exoplayer2.text.span.RubySpan
      +
       
      +
      rubyText - Variable in class com.google.android.exoplayer2.text.span.RubySpan
      +
      +
      The ruby text, i.e.
      +
      +
      run() - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      run() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerRunnable
      +
       
      +
      run() - Method in interface com.google.android.exoplayer2.testutil.DummyMainThread.TestRunnable
      +
       
      +
      run() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      run() - Method in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
       
      +
      run() - Method in class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      run(SimpleExoPlayer) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerRunnable
      +
      +
      Executes Runnable with reference to player.
      +
      +
      runLooperUntil(Looper, Supplier<Boolean>) - Static method in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      Runs tasks of the looper until the condition returns true.
      +
      +
      runLooperUntil(Looper, Supplier<Boolean>, long, Clock) - Static method in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      Runs tasks of the looper until the condition returns true.
      +
      +
      runMainLooperUntil(Supplier<Boolean>) - Static method in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      Runs tasks of the main Robolectric Looper until the condition returns + true.
      +
      +
      runMainLooperUntil(Supplier<Boolean>, long, Clock) - Static method in class com.google.android.exoplayer2.robolectric.RobolectricUtil
      +
      +
      Runs tasks of the main Robolectric Looper until the condition returns + true.
      +
      +
      RunnableFutureTask<R,E extends Exception> - Class in com.google.android.exoplayer2.util
      +
      +
      A RunnableFuture that supports additional uninterruptible operations to query whether + execution has started and finished.
      +
      +
      RunnableFutureTask() - Constructor for class com.google.android.exoplayer2.util.RunnableFutureTask
      +
       
      +
      runOnMainThread(int, Runnable) - Method in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
      +
      Runs the provided Runnable on the main thread, blocking until execution completes or + until timeout milliseconds have passed.
      +
      +
      runOnMainThread(Runnable) - Method in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
      +
      Runs the provided Runnable on the main thread, blocking until execution completes or + until DummyMainThread.TIMEOUT_MS milliseconds have passed.
      +
      +
      runOnPlaybackThread(Runnable) - Method in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
      +
      Runs the provided Runnable on the playback thread, blocking until execution completes.
      +
      +
      runTest(HostActivity.HostedTest, long) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
      +
      Executes a HostActivity.HostedTest inside the host.
      +
      +
      runTest(HostActivity.HostedTest, long, boolean) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
      +
      Executes a HostActivity.HostedTest inside the host.
      +
      +
      runTestOnMainThread(int, DummyMainThread.TestRunnable) - Method in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
      +
      Runs the provided DummyMainThread.TestRunnable on the main thread, blocking until execution completes + or until timeout milliseconds have passed.
      +
      +
      runTestOnMainThread(DummyMainThread.TestRunnable) - Method in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
      +
      Runs the provided DummyMainThread.TestRunnable on the main thread, blocking until execution completes + or until DummyMainThread.TIMEOUT_MS milliseconds have passed.
      +
      +
      runUntilError(Player) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until a player error occurred.
      +
      +
      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 + commands on the internal playback thread.
      +
      +
      runUntilPlaybackState(Player, int) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until Player.getPlaybackState() matches the + expected state.
      +
      +
      runUntilPlayWhenReady(Player, boolean) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until Player.getPlayWhenReady() matches the + expected value.
      +
      +
      runUntilPositionDiscontinuity(Player, int) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until a Player.EventListener.onPositionDiscontinuity(int) callback with the specified Player.DiscontinuityReason occurred.
      +
      +
      runUntilReceiveOffloadSchedulingEnabledNewState(Player) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      + +
      +
      runUntilRenderedFirstFrame(SimpleExoPlayer) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until the VideoListener.onRenderedFirstFrame() + callback has been called.
      +
      +
      runUntilSleepingForOffload(Player, boolean) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until a Player.EventListener.onExperimentalSleepingForOffloadChanged(boolean) callback occurred.
      +
      +
      runUntilTimelineChanged(Player) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until a timeline change occurred.
      +
      +
      runUntilTimelineChanged(Player, Timeline) - Static method in class com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
      +
      +
      Runs tasks of the main Looper until Player.getCurrentTimeline() matches the + expected timeline.
      +
      +
      + + + +

      S

      +
      +
      sample(long, int, byte[]) - Static method in class com.google.android.exoplayer2.testutil.FakeSampleStream.FakeSampleStreamItem
      +
      +
      Creates an item representing a sample with the provided timestamp, flags and data.
      +
      +
      SAMPLE_DATA_PART_ENCRYPTION - Static variable in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Sample encryption data.
      +
      +
      SAMPLE_DATA_PART_MAIN - Static variable in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Main media sample data.
      +
      +
      SAMPLE_DATA_PART_SUPPLEMENTAL - Static variable in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Sample supplemental data.
      +
      +
      SAMPLE_HEADER_SIZE - Static variable in class com.google.android.exoplayer2.audio.Ac4Util
      +
      +
      The AC-4 sync frame header size for extractor.
      +
      +
      SAMPLE_RATE - Static variable in class com.google.android.exoplayer2.audio.OpusUtil
      +
      +
      Opus streams are always 48000 Hz.
      +
      +
      SAMPLE_RATE_NO_CHANGE - Static variable in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Indicates that the output sample rate should be the same as the input.
      +
      +
      sampleBufferReadCount - Variable in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      sampleCount - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      Number of audio samples in the frame.
      +
      +
      sampleCount - Variable in class com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
      +
      +
      Number of audio samples in the frame.
      +
      +
      sampleData(DataReader, int, boolean) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      + +
      +
      sampleData(DataReader, int, boolean, int) - Method in class com.google.android.exoplayer2.extractor.DummyTrackOutput
      +
       
      +
      sampleData(DataReader, int, boolean, int) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Called to write sample data to the output.
      +
      +
      sampleData(DataReader, int, boolean, int) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
       
      +
      sampleData(DataReader, int, boolean, int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      sampleData(DataReader, int, boolean, int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      sampleData(ParsableByteArray, int) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Equivalent to TrackOutput.sampleData(ParsableByteArray, int, int) sampleData(data, length, + SAMPLE_DATA_PART_MAIN)}.
      +
      +
      sampleData(ParsableByteArray, int, int) - Method in class com.google.android.exoplayer2.extractor.DummyTrackOutput
      +
       
      +
      sampleData(ParsableByteArray, int, int) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Called to write sample data to the output.
      +
      +
      sampleData(ParsableByteArray, int, int) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
       
      +
      sampleData(ParsableByteArray, int, int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      sampleData(ParsableByteArray, int, int) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      sampleMetadata(long, int, int, int, TrackOutput.CryptoData) - Method in class com.google.android.exoplayer2.extractor.DummyTrackOutput
      +
       
      +
      sampleMetadata(long, int, int, int, TrackOutput.CryptoData) - Method in interface com.google.android.exoplayer2.extractor.TrackOutput
      +
      +
      Called when metadata associated with a sample has been extracted from the stream.
      +
      +
      sampleMetadata(long, int, int, int, TrackOutput.CryptoData) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler.PlayerTrackEmsgHandler
      +
       
      +
      sampleMetadata(long, int, int, int, TrackOutput.CryptoData) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      sampleMetadata(long, int, int, int, TrackOutput.CryptoData) - Method in class com.google.android.exoplayer2.testutil.FakeTrackOutput
      +
       
      +
      sampleMimeType - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The sample mime type, or null if unknown or not applicable.
      +
      +
      sampleNumber - Variable in class com.google.android.exoplayer2.extractor.FlacFrameReader.SampleNumberHolder
      +
      +
      The sample number.
      +
      +
      SampleNumberHolder() - Constructor for class com.google.android.exoplayer2.extractor.FlacFrameReader.SampleNumberHolder
      +
       
      +
      SampleQueue - Class in com.google.android.exoplayer2.source
      +
      +
      A queue of media samples.
      +
      +
      SampleQueue(Allocator, Looper, DrmSessionManager, DrmSessionEventListener.EventDispatcher) - Constructor for class com.google.android.exoplayer2.source.SampleQueue
      +
       
      +
      SampleQueue.UpstreamFormatChangedListener - Interface in com.google.android.exoplayer2.source
      +
      +
      A listener for changes to the upstream format.
      +
      +
      SampleQueueMappingException - Exception in com.google.android.exoplayer2.source.hls
      +
      +
      Thrown when it is not possible to map a TrackGroup to a SampleQueue.
      +
      +
      SampleQueueMappingException(String) - Constructor for exception com.google.android.exoplayer2.source.hls.SampleQueueMappingException
      +
       
      +
      sampleRate - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      The audio sampling rate in Hz.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.audio.Ac4Util.SyncFrameInfo
      +
      +
      The audio sampling rate in Hz.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
      +
      The sample rate in Hertz.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      Sample rate in samples per second.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Sample rate in Hertz.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The audio_sample_rate field.
      +
      +
      sampleRate - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The audio sampling rate in Hz, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      sampleRateHz - Variable in class com.google.android.exoplayer2.audio.AacUtil.Config
      +
      +
      The sample rate in Hertz.
      +
      +
      sampleRateLookupKey - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Lookup key corresponding to the stream sample rate, or FlacStreamMetadata.NOT_IN_LOOKUP_TABLE if it is + not in the lookup table.
      +
      +
      samplesPerFrame - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      Number of samples stored in the frame.
      +
      +
      SampleStream - Interface in com.google.android.exoplayer2.source
      +
      +
      A stream of media samples (and associated format information).
      +
      +
      SampleStream.ReadDataResult - Annotation Type in com.google.android.exoplayer2.source
      +
      + +
      +
      sampleTransformation - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      One of TRANSFORMATION_*.
      +
      +
      SANS_SERIF_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The name of the sans-serif font family.
      +
      +
      scaleLargeTimestamp(long, long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Scales a large timestamp.
      +
      +
      scaleLargeTimestamps(List<Long>, long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Applies Util.scaleLargeTimestamp(long, long, long) to a list of unscaled timestamps.
      +
      +
      scaleLargeTimestampsInPlace(long[], long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Applies Util.scaleLargeTimestamp(long, long, long) to an array of unscaled timestamps.
      +
      +
      schedule(Requirements, String, String) - Method in class com.google.android.exoplayer2.ext.jobdispatcher.JobDispatcherScheduler
      +
      +
      Deprecated.
      +
      schedule(Requirements, String, String) - Method in class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
      +
       
      +
      schedule(Requirements, String, String) - Method in class com.google.android.exoplayer2.scheduler.PlatformScheduler
      +
       
      +
      schedule(Requirements, String, String) - Method in interface com.google.android.exoplayer2.scheduler.Scheduler
      +
      +
      Schedules a service to be started in the foreground when some Requirements are met.
      +
      +
      Scheduler - Interface in com.google.android.exoplayer2.scheduler
      +
      +
      Schedules a service to be started in the foreground when some Requirements are met.
      +
      +
      SchedulerWorker(Context, WorkerParameters) - Constructor for class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler.SchedulerWorker
      +
       
      +
      SCHEME_DATA - Static variable in class com.google.android.exoplayer2.upstream.DataSchemeDataSource
      +
       
      +
      SchemeData(UUID, String, byte[]) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      SchemeData(UUID, String, String, byte[]) - Constructor for class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      schemeDataCount - Variable in class com.google.android.exoplayer2.drm.DrmInitData
      +
      + +
      +
      schemeIdUri - Variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      The message scheme.
      +
      +
      schemeIdUri - Variable in class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
      +
      The scheme URI.
      +
      +
      schemeIdUri - Variable in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      The scheme URI.
      +
      +
      schemeIdUri - Variable in class com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
      +
       
      +
      schemeType - Variable in class com.google.android.exoplayer2.drm.DrmInitData
      +
      +
      The protection scheme type, or null if not applicable or unknown.
      +
      +
      schemeType - Variable in class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
      +
      The protection scheme type, as defined by the 'schm' box, or null if unknown.
      +
      +
      SCTE35_SCHEME_ID - Static variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      scheme_id_uri from section 7.3.2 of SCTE 214-3 + 2015.
      +
      +
      SDK_INT - Static variable in class com.google.android.exoplayer2.util.Util
      +
      +
      Like Build.VERSION.SDK_INT, but in a place where it can be conveniently + overridden for local testing.
      +
      +
      searchForTimestamp(ExtractorInput, long) - Method in interface com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSeeker
      +
      +
      Searches a limited window of the provided input for a target timestamp.
      +
      +
      second - Variable in class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
      +
      The second seek point, or SeekMap.SeekPoints.first if there's only one seek point.
      +
      +
      SectionPayloadReader - Interface in com.google.android.exoplayer2.extractor.ts
      +
      +
      Reads section data.
      +
      +
      SectionReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Reads section data packets and feeds the whole sections to a given SectionPayloadReader.
      +
      +
      SectionReader(SectionPayloadReader) - Constructor for class com.google.android.exoplayer2.extractor.ts.SectionReader
      +
       
      +
      secure - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder is secure.
      +
      +
      secure - Variable in class com.google.android.exoplayer2.video.DummySurface
      +
      +
      Whether the surface is secure.
      +
      +
      SECURE_MODE_NONE - Static variable in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      No secure EGL surface and context required.
      +
      +
      SECURE_MODE_PROTECTED_PBUFFER - Static variable in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      Creating a secure surface backed by a pixel buffer.
      +
      +
      SECURE_MODE_SURFACELESS_CONTEXT - Static variable in class com.google.android.exoplayer2.util.EGLSurfaceTexture
      +
      +
      Creating a surfaceless, secured EGL context.
      +
      +
      secureDecoderRequired - Variable in exception com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.DecoderInitializationException
      +
      +
      Whether it was required that the decoder support a secure output path.
      +
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.AdtsReader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.DtsReader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.DvbSubtitleReader
      +
       
      +
      seek() - Method in interface com.google.android.exoplayer2.extractor.ts.ElementaryStreamReader
      +
      +
      Notifies the reader that a seek has occurred.
      +
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.H262Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.H263Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.H264Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.H265Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.Id3Reader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.LatmReader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.MpegAudioReader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.PesReader
      +
       
      +
      seek() - Method in class com.google.android.exoplayer2.extractor.ts.SectionReader
      +
       
      +
      seek() - Method in interface com.google.android.exoplayer2.extractor.ts.TsPayloadReader
      +
      +
      Notifies the reader that a seek has occurred.
      +
      +
      seek(int, long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a seek action.
      +
      +
      seek(int, long, boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a seek action to be executed.
      +
      +
      seek(long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a seek action.
      +
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      seek(long, long) - Method in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Notifies the extractor that a seek has occurred.
      +
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      seek(long, long) - Method in class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      Seek(String, int, long, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.Seek
      +
      + +
      +
      Seek(String, long) - Constructor for class com.google.android.exoplayer2.testutil.Action.Seek
      +
      +
      Action calls Player.seekTo(long).
      +
      +
      seekAndWait(long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a seek action and waits until playback resumes after the seek.
      +
      +
      seekMap - Variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      seekMap - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      seekMap(SeekMap) - Method in class com.google.android.exoplayer2.extractor.DummyExtractorOutput
      +
       
      +
      seekMap(SeekMap) - Method in interface com.google.android.exoplayer2.extractor.ExtractorOutput
      +
      +
      Called when a SeekMap has been extracted from the stream.
      +
      +
      seekMap(SeekMap) - Method in class com.google.android.exoplayer2.extractor.jpeg.StartOffsetExtractorOutput
      +
       
      +
      seekMap(SeekMap) - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      seekMap(SeekMap) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      SeekMap - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Maps seek positions (in microseconds) to corresponding positions (byte offsets) in the stream.
      +
      +
      SeekMap.SeekPoints - Class in com.google.android.exoplayer2.extractor
      +
      +
      Contains one or two SeekPoints.
      +
      +
      SeekMap.Unseekable - Class in com.google.android.exoplayer2.extractor
      +
      +
      A SeekMap that does not support seeking.
      +
      +
      seekOperationParams - Variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      SeekOperationParams(long, long, long, long, long, long, long) - Constructor for class com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekOperationParams
      +
       
      +
      SeekParameters - Class in com.google.android.exoplayer2
      +
      +
      Parameters that apply to seeking.
      +
      +
      SeekParameters(long, long) - Constructor for class com.google.android.exoplayer2.SeekParameters
      +
       
      +
      SeekPoint - Class in com.google.android.exoplayer2.extractor
      +
      +
      Defines a seek point in a media stream.
      +
      +
      SeekPoint(long, long) - Constructor for class com.google.android.exoplayer2.extractor.SeekPoint
      +
       
      +
      SeekPoints(SeekPoint) - Constructor for class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
       
      +
      SeekPoints(SeekPoint, SeekPoint) - Constructor for class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
       
      +
      seekTable - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Seek table, or null if it is not provided.
      +
      +
      SeekTable(long[], long[]) - Constructor for class com.google.android.exoplayer2.extractor.FlacStreamMetadata.SeekTable
      +
       
      +
      seekTo(int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      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 interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to a position specified in milliseconds in the specified window.
      +
      +
      seekTo(int, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      seekTo(int, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      seekTo(long) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      seekTo(long) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      seekTo(long) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      seekTo(long) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to a position specified in milliseconds in the current window.
      +
      +
      seekTo(long, boolean) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Attempts to seek the read position to the keyframe before or at the specified time.
      +
      +
      seekToDefaultPosition() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      seekToDefaultPosition() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to the default position associated with the current window.
      +
      +
      seekToDefaultPosition(int) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      seekToDefaultPosition(int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Seeks to the default position associated with the specified window.
      +
      +
      seekToPosition(long) - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
       
      +
      seekToPosition(ExtractorInput, long, PositionHolder) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      seekToTimeUs(Extractor, SeekMap, long, DataSource, FakeTrackOutput, Uri) - Static method in class com.google.android.exoplayer2.testutil.TestUtil
      +
      +
      Seeks to the given seek time of the stream from the given input, and keeps reading from the + input until we can extract at least one sample following the seek position, or until + end-of-input is reached.
      +
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Seeks to the specified position in microseconds.
      +
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      seekToUs(long) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Attempts to seek to the specified position in microseconds.
      +
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      seekToUs(long) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Seeks the stream to a new position using already available data in the queue.
      +
      +
      Segment(long, long, int) - Constructor for class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
      +
      Creates an instance.
      +
      +
      Segment(long, DataSpec) - Constructor for class com.google.android.exoplayer2.offline.SegmentDownloader.Segment
      +
      +
      Constructs a Segment.
      +
      +
      Segment(String, long, long, String, String) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Segment
      +
      +
      Creates an instance to be used as init segment.
      +
      +
      Segment(String, HlsMediaPlaylist.Segment, String, long, int, long, DrmInitData, String, String, long, long, boolean, List<HlsMediaPlaylist.Part>) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Segment
      +
      +
      Creates an instance.
      +
      +
      segmentBase - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifestParser.RepresentationInfo
      +
       
      +
      SegmentBase - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      An approximate representation of a SegmentBase manifest element.
      +
      +
      SegmentBase(RangedUri, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase
      +
       
      +
      SegmentBase.MultiSegmentBase - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A SegmentBase that consists of multiple segments.
      +
      +
      SegmentBase.SegmentList - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A SegmentBase.MultiSegmentBase that uses a SegmentList to define its segments.
      +
      +
      SegmentBase.SegmentTemplate - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A SegmentBase.MultiSegmentBase that uses a SegmentTemplate to define its segments.
      +
      +
      SegmentBase.SegmentTimelineElement - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Represents a timeline segment from the MPD's SegmentTimeline list.
      +
      +
      SegmentBase.SingleSegmentBase - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A SegmentBase that defines a single segment.
      +
      +
      SegmentDownloader<M extends FilterableManifest<M>> - Class in com.google.android.exoplayer2.offline
      +
      +
      Base class for multi segment stream downloaders.
      +
      +
      SegmentDownloader(MediaItem, ParsingLoadable.Parser<M>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.offline.SegmentDownloader
      +
       
      +
      SegmentDownloader.Segment - Class in com.google.android.exoplayer2.offline
      +
      +
      Smallest unit of content to be downloaded.
      +
      +
      segmentIndex - Variable in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.RepresentationHolder
      +
       
      +
      SegmentList(RangedUri, long, long, long, long, List<SegmentBase.SegmentTimelineElement>, long, List<RangedUri>, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentList
      +
       
      +
      segments - Variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      segments - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The list of segments in the playlist.
      +
      +
      SegmentTemplate(RangedUri, long, long, long, long, long, List<SegmentBase.SegmentTimelineElement>, long, UrlTemplate, UrlTemplate, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTemplate
      +
       
      +
      SegmentTimelineElement(long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SegmentTimelineElement
      +
       
      +
      SeiReader - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Consumes SEI buffers, outputting contained CEA-608/708 messages to a TrackOutput.
      +
      +
      SeiReader(List<Format>) - Constructor for class com.google.android.exoplayer2.extractor.ts.SeiReader
      +
       
      +
      selectAllTracks(MappingTrackSelector.MappedTrackInfo, int[][][], int[], DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelector
      +
       
      +
      selectAllTracks(MappingTrackSelector.MappedTrackInfo, int[][][], int[], DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Called from DefaultTrackSelector.selectTracks(MappedTrackInfo, int[][][], int[], MediaPeriodId, Timeline) + to make a track selection for each renderer, prior to overrides and disabled flags being + applied.
      +
      +
      selectAudioTrack(TrackGroupArray, int[][], int, DefaultTrackSelector.Parameters, boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      + +
      +
      selectEmbeddedTrack(long, int) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
      +
      Selects the embedded track, returning a new ChunkSampleStream.EmbeddedSampleStream from which the track's + samples can be consumed.
      +
      +
      SELECTION_FLAG_AUTOSELECT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that the player may choose to play the track in absence of an explicit user + preference.
      +
      +
      SELECTION_FLAG_DEFAULT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that the track should be selected if user preferences do not state otherwise.
      +
      +
      SELECTION_FLAG_FORCED - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates that the track must be displayed.
      +
      +
      SELECTION_REASON_ADAPTIVE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A selection reason constant for an adaptive track selection.
      +
      +
      SELECTION_REASON_CUSTOM_BASE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Applications or extensions may define custom SELECTION_REASON_* constants greater than + or equal to this value.
      +
      +
      SELECTION_REASON_INITIAL - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A selection reason constant for an initial track selection.
      +
      +
      SELECTION_REASON_MANUAL - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A selection reason constant for an manual (i.e.
      +
      +
      SELECTION_REASON_TRICK_PLAY - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A selection reason constant for a trick play track selection.
      +
      +
      SELECTION_REASON_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A selection reason constant for selections whose reasons are unknown or unspecified.
      +
      +
      selectionFlags - Variable in class com.google.android.exoplayer2.Format
      +
      +
      Track selection flags.
      +
      +
      selectionFlags - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The selection flags.
      +
      +
      SelectionOverride(int, int...) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      SelectionOverride(int, int[], int, int) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      selections - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
      +
      A ExoTrackSelection array containing the track selection for each renderer.
      +
      +
      selectOtherTrack(int, TrackGroupArray, int[][], DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Called by DefaultTrackSelector.selectAllTracks(MappedTrackInfo, int[][][], int[], Parameters) to create a + ExoTrackSelection for a renderer whose type is neither video, audio or text.
      +
      +
      selectTextTrack(TrackGroupArray, int[][], DefaultTrackSelector.Parameters, String) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      + +
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
       
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaPeriod
      +
       
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
       
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in interface com.google.android.exoplayer2.source.MediaPeriod
      +
      +
      Performs a track selection.
      +
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in class com.google.android.exoplayer2.testutil.FakeAdaptiveMediaPeriod
      +
       
      +
      selectTracks(ExoTrackSelection[], boolean[], SampleStream[], boolean[], long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
       
      +
      selectTracks(RendererCapabilities[], TrackGroupArray, MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector
      +
       
      +
      selectTracks(RendererCapabilities[], TrackGroupArray, MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.TrackSelector
      +
      +
      Called by the player to perform a track selection.
      +
      +
      selectTracks(MappingTrackSelector.MappedTrackInfo, int[][][], int[], MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
       
      +
      selectTracks(MappingTrackSelector.MappedTrackInfo, int[][][], int[], MediaSource.MediaPeriodId, Timeline) - Method in class com.google.android.exoplayer2.trackselection.MappingTrackSelector
      +
      +
      Given mapped track information, returns a track selection and configuration for each renderer.
      +
      +
      selectUndeterminedTextLanguage - Variable in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
      +
      Whether a text track with undetermined language should be selected if no track with TrackSelectionParameters.preferredTextLanguages is available, or if TrackSelectionParameters.preferredTextLanguages is unset.
      +
      +
      selectVideoTrack(TrackGroupArray, int[][], int, DefaultTrackSelector.Parameters, boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      + +
      +
      send() - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sends the message.
      +
      +
      sendAddDownload(Context, Class<? extends DownloadService>, DownloadRequest, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and adds a new download.
      +
      +
      sendAddDownload(Context, Class<? extends DownloadService>, DownloadRequest, int, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and adds a new download.
      +
      +
      sendEmptyMessage(int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      sendEmptyMessageAtTime(int, long) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      sendEmptyMessageDelayed(int, int) - Method in interface com.google.android.exoplayer2.util.HandlerWrapper
      +
      + +
      +
      sendEvent(int, ListenerSet.Event<T>) - Method in class com.google.android.exoplayer2.util.ListenerSet
      +
      +
      Queues a single event and immediately flushes the event queue to notify all listeners.
      +
      +
      sendEvent(AnalyticsListener.EventTime, int, ListenerSet.Event<AnalyticsListener>) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Sends an event to registered listeners.
      +
      +
      sendLevel - Variable in class com.google.android.exoplayer2.audio.AuxEffectInfo
      +
      +
      The send level for the effect.
      +
      +
      sendMessage(PlayerMessage) - Method in interface com.google.android.exoplayer2.PlayerMessage.Sender
      +
      +
      Sends a message.
      +
      +
      sendMessage(PlayerMessage.Target, int, long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules sending a PlayerMessage.
      +
      +
      sendMessage(PlayerMessage.Target, int, long, boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules to send a PlayerMessage.
      +
      +
      sendMessage(PlayerMessage.Target, long) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules sending a PlayerMessage.
      +
      +
      SendMessages(String, PlayerMessage.Target, int, long, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.SendMessages
      +
       
      +
      SendMessages(String, PlayerMessage.Target, long) - Constructor for class com.google.android.exoplayer2.testutil.Action.SendMessages
      +
       
      +
      sendPauseDownloads(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and pauses all downloads.
      +
      +
      sendRemoveAllDownloads(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and removes all downloads.
      +
      +
      sendRemoveDownload(Context, Class<? extends DownloadService>, String, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and removes a download.
      +
      +
      sendResumeDownloads(Context, Class<? extends DownloadService>, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and resumes all downloads.
      +
      +
      sendSetRequirements(Context, Class<? extends DownloadService>, Requirements, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and sets the requirements that need to be met for + downloads to progress.
      +
      +
      sendSetStopReason(Context, Class<? extends DownloadService>, String, int, boolean) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service if not started already and sets the stop reason for one or all downloads.
      +
      +
      separateColorPlaneFlag - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      seqParameterSetId - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.PpsData
      +
       
      +
      seqParameterSetId - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      SequenceableLoader - Interface in com.google.android.exoplayer2.source
      +
      +
      A loader that can proceed in approximate synchronization with other loaders.
      +
      +
      SequenceableLoader.Callback<T extends SequenceableLoader> - Interface in com.google.android.exoplayer2.source
      +
      +
      A callback to be notified of SequenceableLoader events.
      +
      +
      SERIF_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The name of the serif font family.
      +
      +
      serverControl - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The attributes of the #EXT-X-SERVER-CONTROL header.
      +
      +
      ServerControl(long, boolean, long, long, boolean) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      Creates a new instance.
      +
      +
      serviceDescription - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The ServiceDescriptionElement, or null if not present.
      +
      +
      ServiceDescriptionElement - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Represents a service description element.
      +
      +
      ServiceDescriptionElement(long, long, long, float, float) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      Creates a service description element.
      +
      +
      SessionAvailabilityListener - Interface in com.google.android.exoplayer2.ext.cast
      +
      +
      Listener of changes in the cast session availability.
      +
      +
      SessionCallbackBuilder - Class in com.google.android.exoplayer2.ext.media2
      +
      +
      Builds a MediaSession.SessionCallback with various collaborators.
      +
      +
      SessionCallbackBuilder(Context, SessionPlayerConnector) - Constructor for class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Creates a new builder.
      +
      +
      SessionCallbackBuilder.AllowedCommandProvider - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Provides allowed commands for MediaController.
      +
      +
      SessionCallbackBuilder.CustomCommandProvider - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Callbacks for querying what custom commands are supported, and for handling a custom command + when a controller sends it.
      +
      +
      SessionCallbackBuilder.DefaultAllowedCommandProvider - Class in com.google.android.exoplayer2.ext.media2
      +
      +
      Default implementation of SessionCallbackBuilder.AllowedCommandProvider that behaves as follows: + + + Accepts connection requests from controller if any of the following conditions are met: + + Controller is in the same package as the session.
      +
      +
      SessionCallbackBuilder.DisconnectedCallback - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Callback for handling controller disconnection.
      +
      +
      SessionCallbackBuilder.MediaIdMediaItemProvider - Class in com.google.android.exoplayer2.ext.media2
      +
      +
      A SessionCallbackBuilder.MediaItemProvider that creates media items containing only a media ID.
      +
      +
      SessionCallbackBuilder.MediaItemProvider - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Provides the MediaItem.
      +
      +
      SessionCallbackBuilder.PostConnectCallback - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Callback for handling extra initialization after the connection.
      +
      +
      SessionCallbackBuilder.RatingCallback - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Callback receiving a user rating for a specified media id.
      +
      +
      SessionCallbackBuilder.SkipCallback - Interface in com.google.android.exoplayer2.ext.media2
      +
      +
      Callback receiving skip backward and skip forward.
      +
      +
      sessionForClearTypes - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      The types of clear tracks for which to use a DRM session.
      +
      +
      sessionId - Variable in class com.google.android.exoplayer2.drm.FrameworkMediaCrypto
      +
      +
      The DRM session id.
      +
      +
      sessionKeyDrmInitData - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      DRM initialization data derived from #EXT-X-SESSION-KEY tags.
      +
      +
      SessionPlayerConnector - Class in com.google.android.exoplayer2.ext.media2
      +
      +
      An implementation of SessionPlayer that wraps a given ExoPlayer Player instance.
      +
      +
      SessionPlayerConnector(Player) - Constructor for class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      +
      Creates an instance using DefaultMediaItemConverter to convert between ExoPlayer and + media2 MediaItems and DefaultControlDispatcher to dispatch player commands.
      +
      +
      SessionPlayerConnector(Player, MediaItemConverter) - Constructor for class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      +
      Creates an instance using the provided ControlDispatcher to dispatch player commands.
      +
      +
      set(int, int[], int[], byte[], byte[], int, int, int) - Method in class com.google.android.exoplayer2.decoder.CryptoInfo
      +
       
      +
      set(Object, MediaItem, Object, long, long, long, boolean, boolean, MediaItem.LiveConfiguration, long, long, int, int, long) - Method in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Sets the data held by this window.
      +
      +
      set(Object, Object, int, long, long) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Sets the data held by this period.
      +
      +
      set(Object, Object, int, long, long, AdPlaybackState) - Method in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      Sets the data held by this period.
      +
      +
      set(String, byte[]) - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Adds a mutation to set a metadata value.
      +
      +
      set(String, long) - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Adds a mutation to set a metadata value.
      +
      +
      set(String, String) - Method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Adds a mutation to set a metadata value.
      +
      +
      set(String, String) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Sets the specified property value for the specified name.
      +
      +
      set(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties
      +
      +
      Sets the keys and values contained in the map.
      +
      +
      setAccessibilityChannel(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setActionSchedule(ActionSchedule) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets an ActionSchedule to be run by the test runner.
      +
      +
      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 + BaseManager.addAdErrorListener(AdErrorListener).
      +
      +
      setAdEventListener(AdEvent.AdEventListener) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets a listener for ad events that will be passed to BaseManager.addAdEventListener(AdEventListener).
      +
      +
      setAdGroupTimesMs(long[], boolean[], int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setAdGroupTimesMs(long[], boolean[], int) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the times of ad groups and whether each ad group has been played.
      +
      +
      setAdMarkerColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for unplayed ad markers.
      +
      +
      setAdMediaMimeTypes(List<String>) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the MIME types to prioritize for linear ad media.
      +
      +
      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 + group before that ad group is skipped and marked as having failed to load.
      +
      +
      setAdsLoaderProvider(DefaultMediaSourceFactory.AdsLoaderProvider) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the DefaultMediaSourceFactory.AdsLoaderProvider that provides AdsLoader instances for media items + that have ads configurations.
      +
      +
      setAdTagUri(Uri) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional ad tag Uri.
      +
      +
      setAdTagUri(Uri, Object) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional ad tag Uri and ads identifier.
      +
      +
      setAdTagUri(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional ad tag Uri.
      +
      +
      setAdtsExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for AdtsExtractor instances created by the factory.
      +
      +
      setAdUiElements(Set<UiElement>) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the ad UI elements to be rendered by the IMA SDK.
      +
      +
      setAdViewProvider(AdsLoader.AdViewProvider) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the AdsLoader.AdViewProvider that provides information about views for the ad playback UI.
      +
      +
      setAllocator(DefaultAllocator) - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Sets the DefaultAllocator used by the loader.
      +
      +
      setAllowAdaptiveSelections(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets whether adaptive selections (consisting of more than one track) can be made.
      +
      +
      setAllowAdaptiveSelections(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Sets whether adaptive selections (consisting of more than one track) can be made using this + selection view.
      +
      +
      setAllowAudioMixedChannelCountAdaptiveness(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to allow adaptive audio selections containing mixed channel counts.
      +
      +
      setAllowAudioMixedMimeTypeAdaptiveness(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to allow adaptive audio selections containing mixed MIME types.
      +
      +
      setAllowAudioMixedSampleRateAdaptiveness(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to allow adaptive audio selections containing mixed sample rates.
      +
      +
      setAllowChunklessPreparation(boolean) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets whether chunkless preparation is allowed.
      +
      +
      setAllowCrossProtocolRedirects(boolean) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets whether to allow cross protocol redirects.
      +
      +
      setAllowedCapturePolicy(int) - Method in class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
      + +
      +
      setAllowedCommandProvider(SessionCallbackBuilder.AllowedCommandProvider) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.AllowedCommandProvider to provide allowed commands for controllers.
      +
      +
      setAllowedVideoJoiningTimeMs(long) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets the maximum duration for which video renderers can attempt to seamlessly join an ongoing + playback.
      +
      +
      setAllowMultipleAdaptiveSelections(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether multiple adaptive selections with more than one track are allowed.
      +
      +
      setAllowMultipleOverrides(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets whether multiple overrides can be set and selected, i.e.
      +
      +
      setAllowMultipleOverrides(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Sets whether tracks from multiple track groups can be selected.
      +
      +
      setAllowPreparation(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      + +
      +
      setAllowVideoMixedMimeTypeAdaptiveness(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to allow adaptive video selections containing mixed MIME types.
      +
      +
      setAllowVideoNonSeamlessAdaptiveness(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to allow adaptive video selections where adaptation may not be completely + seamless.
      +
      +
      setAmrExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for AmrExtractor instances created by the factory.
      +
      +
      setAnalyticsCollector(AnalyticsCollector) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the AnalyticsCollector that will collect and forward all player events.
      +
      +
      setAnalyticsCollector(AnalyticsCollector) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the AnalyticsCollector that will collect and forward all player events.
      +
      +
      setAnalyticsListener(AnalyticsListener) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets an AnalyticsListener to be registered.
      +
      +
      setAnimationEnabled(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether an animation is used to show and hide the playback controls.
      +
      +
      setApplyEmbeddedFontSizes(boolean) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets whether font sizes embedded within the cues should be applied.
      +
      +
      setApplyEmbeddedStyles(boolean) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets whether styling embedded within the cues should be applied.
      +
      +
      setAspectRatio(float) - Method in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      +
      Sets the aspect ratio that this view should satisfy.
      +
      +
      setAspectRatioListener(AspectRatioFrameLayout.AspectRatioListener) - Method in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      + +
      +
      setAspectRatioListener(AspectRatioFrameLayout.AspectRatioListener) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setAspectRatioListener(AspectRatioFrameLayout.AspectRatioListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      setAudioAttributes(AudioAttributesCompat) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      setAudioAttributes(AudioAttributes) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets attributes for audio playback.
      +
      +
      setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setAudioAttributes(AudioAttributes) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setAudioAttributes(AudioAttributes, boolean) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Sets the attributes for audio playback, used by the underlying audio track.
      +
      +
      setAudioAttributes(AudioAttributes, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets AudioAttributes that will be used by the player and whether to handle audio + focus.
      +
      +
      setAudioAttributes(AudioAttributes, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setAudioAttributes(AudioAttributes, boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules application of audio attributes.
      +
      +
      SetAudioAttributes(String, AudioAttributes, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetAudioAttributes
      +
       
      +
      setAudioSessionId(int) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets the audio session id.
      +
      +
      setAudioSessionId(int) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setAudioSessionId(int) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setAudioSessionId(int) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Sets the ID of the audio session to attach to the underlying AudioTrack.
      +
      +
      setAudioSessionId(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setAuxEffectInfo(AuxEffectInfo) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets the auxiliary effect.
      +
      +
      setAuxEffectInfo(AuxEffectInfo) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setAuxEffectInfo(AuxEffectInfo) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setAuxEffectInfo(AuxEffectInfo) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Sets information on an auxiliary audio effect to attach to the underlying audio track.
      +
      +
      setAuxEffectInfo(AuxEffectInfo) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setAverageBitrate(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setBackBuffer(int, boolean) - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Sets the back buffer duration, and whether the back buffer is retained from the previous + keyframe.
      +
      +
      setBackgroundColor(int) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setBadgeIconType(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the badge icon type of the notification.
      +
      +
      setBandwidthMeter(BandwidthMeter) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the BandwidthMeter that will be used by the player.
      +
      +
      setBandwidthMeter(BandwidthMeter) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the BandwidthMeter that will be used by the player.
      +
      +
      setBandwidthMeter(BandwidthMeter) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setBandwidthMeter(BandwidthMeter) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets the BandwidthMeter.
      +
      +
      setBitmap(Bitmap) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the cue image.
      +
      +
      setBitmapHeight(float) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the bitmap height as a fraction of the viewport size.
      +
      +
      setBold(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setBottomPaddingFraction(float) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET, + as a fraction of the view's remaining height after its top and bottom padding have been + subtracted.
      +
      +
      setBuffer(float[], int) - Method in class com.google.android.exoplayer2.util.GlUtil.Attribute
      +
      +
      Configures GlUtil.Attribute.bind() to attach vertices in buffer (each of size size + elements) to this GlUtil.Attribute.
      +
      +
      setBufferDurationsMs(int, int, int, int) - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Sets the buffer duration parameters.
      +
      +
      setBufferedColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for the portion of the time bar after the current played position up to the + current buffered position.
      +
      +
      setBufferedPosition(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setBufferedPosition(long) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the buffered position.
      +
      +
      setBufferSize(int) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
      +
      +
      Sets the size of an in-memory buffer used when writing to a cache file.
      +
      +
      setBytesDownloaded(long) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setCache(Cache) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
      +
      +
      Sets the cache to which data will be written.
      +
      +
      setCache(Cache) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the cache that will be used.
      +
      +
      setCacheControl(CacheControl) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      +
      Sets the CacheControl that will be used.
      +
      +
      setCacheKey(String) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setCacheKeyFactory(CacheKeyFactory) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the CacheKeyFactory.
      +
      +
      setCacheReadDataSourceFactory(DataSource.Factory) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the DataSource.Factory for DataSources for reading from the + cache.
      +
      +
      setCacheWriteDataSinkFactory(DataSink.Factory) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the DataSink.Factory for generating DataSinks for writing data + to the cache.
      +
      +
      setCallback(ActionSchedule.PlayerTarget.Callback) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.PlayerTarget
      +
       
      +
      setCameraMotionListener(CameraMotionListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets a listener of camera motion events.
      +
      +
      setCameraMotionListener(CameraMotionListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setCaptionCallback(MediaSessionConnector.CaptionCallback) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the MediaSessionConnector.CaptionCallback to handle requests to enable or disable captions.
      +
      +
      setChannelCount(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setClipEndPositionMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional end position in milliseconds which must be a value larger than or equal to + zero, or C.TIME_END_OF_SOURCE to end when playback reaches the end of media (Default: + C.TIME_END_OF_SOURCE).
      +
      +
      setClipRelativeToDefaultPosition(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether the start position and the end position are relative to the default position in + the window (Default: false).
      +
      +
      setClipRelativeToLiveWindow(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether the start/end positions should move with the live window for live streams.
      +
      +
      setClipStartPositionMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional start position in milliseconds which must be a value larger than or equal + to zero (Default: 0).
      +
      +
      setClipStartsAtKeyFrame(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether the start point is guaranteed to be a key frame.
      +
      +
      setClock(Clock) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the Clock that will be used by the player.
      +
      +
      setClock(Clock) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the Clock that will be used by the player.
      +
      +
      setClock(Clock) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setClock(Clock) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets the Clock to be used by the player.
      +
      +
      setClock(Clock) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets the clock used to estimate bandwidth from data transfers.
      +
      +
      setCodecs(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setColor(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the accent color of the notification.
      +
      +
      setColorInfo(ColorInfo) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setColorized(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the notification should be colorized.
      +
      +
      setCombineUpright(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setCompanionAdSlots(Collection<CompanionAdSlot>) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the slots to use for companion ads, if they are present in the loaded ad.
      +
      +
      setCompositeSequenceableLoaderFactory(CompositeSequenceableLoaderFactory) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Sets the factory to create composite SequenceableLoaders for when this media source + loads data from multiple streams (video, audio etc...).
      +
      +
      setCompositeSequenceableLoaderFactory(CompositeSequenceableLoaderFactory) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets the factory to create composite SequenceableLoaders for when this media source + loads data from multiple streams (video, audio etc...).
      +
      +
      setCompositeSequenceableLoaderFactory(CompositeSequenceableLoaderFactory) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Sets the factory to create composite SequenceableLoaders for when this media source + loads data from multiple streams (video, audio etc.).
      +
      +
      setConnectionTimeoutMs(int) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets the connect timeout, in milliseconds.
      +
      +
      setConnectTimeoutMs(int) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets the connect timeout, in milliseconds.
      +
      +
      setConstantBitrateSeekingEnabled(boolean) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Convenience method to set whether approximate seeking using constant bitrate assumptions should + be enabled for all extractors that support it.
      +
      +
      setContainerMimeType(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setContent(long, Subtitle, long) - Method in class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
      +
      Sets the content of the output buffer, consisting of a Subtitle and associated + metadata.
      +
      +
      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
      +
      +
      Adds a mutation to set the ContentMetadata.KEY_CONTENT_LENGTH value, or to remove any + existing value if C.LENGTH_UNSET is passed.
      +
      +
      setContentType(int) - Method in class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
       
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets a content type Predicate.
      +
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
      +
      Deprecated.
      +
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      +
      Sets a content type Predicate.
      +
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
      + +
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets a content type Predicate.
      +
      +
      setContentTypePredicate(Predicate<String>) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
      + +
      +
      setContext(Context) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets the Context.
      +
      +
      setContinueLoadingCheckIntervalBytes(int) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      Sets the number of bytes that should be loaded between each invocation of SequenceableLoader.Callback.onContinueLoadingRequested(SequenceableLoader).
      +
      +
      setContinueLoadingCheckIntervalBytes(int) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      +
      Sets the number of bytes that should be loaded between each invocation of SequenceableLoader.Callback.onContinueLoadingRequested(SequenceableLoader).
      +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      + +
      +
      setControlDispatcher(ControlDispatcher) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      setControllerAutoShow(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the playback controls are automatically shown when playback starts, pauses, ends, + or fails.
      +
      +
      setControllerAutoShow(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the playback controls are automatically shown when playback starts, pauses, ends, + or fails.
      +
      +
      setControllerHideDuringAds(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the playback controls are hidden when ads are playing.
      +
      +
      setControllerHideDuringAds(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the playback controls are hidden when ads are playing.
      +
      +
      setControllerHideOnTouch(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the playback controls are hidden by touch events.
      +
      +
      setControllerHideOnTouch(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the playback controls are hidden by touch events.
      +
      +
      setControllerOnFullScreenModeChangedListener(StyledPlayerControlView.OnFullScreenModeChangedListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      setControllerShowTimeoutMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets the playback controls timeout.
      +
      +
      setControllerShowTimeoutMs(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets the playback controls timeout.
      +
      +
      setControllerVisibilityListener(PlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setControllerVisibilityListener(StyledPlayerControlView.VisibilityListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      setCsdBuffers(MediaFormat, List<byte[]>) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat's codec specific data buffers.
      +
      +
      setCues(List<Cue>) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the cues to be displayed by the view.
      +
      +
      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.
      +
      +
      setCurrentStreamFinal() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      setCurrentStreamFinal() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      setCurrentStreamFinal() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Signals to the renderer that the current SampleStream will be the final one supplied + before it is next disabled or reset.
      +
      +
      setCustomActionProviders(MediaSessionConnector.CustomActionProvider...) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets custom action providers.
      +
      +
      setCustomCacheKey(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional custom cache key (only used for progressive streams).
      +
      +
      setCustomCacheKey(String) - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
      + +
      +
      setCustomCacheKey(String) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      Sets the custom key that uniquely identifies the original stream.
      +
      +
      setCustomCacheKey(String) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      + +
      +
      setCustomCommandProvider(SessionCallbackBuilder.CustomCommandProvider) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.CustomCommandProvider to handle incoming custom commands.
      +
      +
      setCustomData(Object) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setCustomErrorMessage(CharSequence) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets a custom error on the session.
      +
      +
      setCustomErrorMessage(CharSequence) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets a custom error message to be displayed by the view.
      +
      +
      setCustomErrorMessage(CharSequence) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets a custom error message to be displayed by the view.
      +
      +
      setCustomErrorMessage(CharSequence, int) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets a custom error on the session.
      +
      +
      setCustomErrorMessage(CharSequence, int, Bundle) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets a custom error on the session.
      +
      +
      setCustomMetadata(byte[]) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setData(byte[]) - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
      + +
      +
      setData(byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      setData(byte[]) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Sets the data served by this resource.
      +
      +
      setData(Uri, byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Sets the given data for the given uri.
      +
      +
      setData(String, byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Sets the given data for the given uri.
      +
      +
      setDataReader(DataReader, long) - Method in class com.google.android.exoplayer2.source.mediaparser.InputReaderAdapterV30
      +
      +
      Sets the wrapped DataReader.
      +
      +
      setDebugModeEnabled(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets whether to enable outputting verbose logs for the IMA extension and IMA SDK.
      +
      +
      setDecoderOutputMode(int) - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      setDecoderOutputMode(int) - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      setDecoderOutputMode(int) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Sets output mode of the decoder.
      +
      +
      setDeduplicateConsecutiveFormats(boolean) - Method in class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig.Builder
      +
       
      +
      setDefaultArtwork(Drawable) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets the default artwork to display if useArtwork is true and no artwork is + present in the media.
      +
      +
      setDefaultArtwork(Drawable) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets the default artwork to display if useArtwork is true and no artwork is + present in the media.
      +
      +
      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
      +
       
      +
      setDefaultRequestProperties(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
       
      +
      setDefaultRequestProperties(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory
      +
       
      +
      setDefaultRequestProperties(Map<String, String>) - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource.Factory
      +
      +
      Sets the default request headers for HttpDataSource instances created by the factory.
      +
      +
      setDefaults(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the defaults.
      +
      +
      setDefaultStereoMode(int) - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
      +
      Sets the default stereo mode.
      +
      +
      setDeleteAfterDelivery(boolean) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets whether the message will be deleted after delivery.
      +
      +
      setDetachSurfaceTimeoutMs(long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets a timeout for detaching a surface from the player.
      +
      +
      setDeviceMuted(boolean) - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Sets the mute state of the device.
      +
      +
      setDeviceMuted(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setDeviceVolume(int) - Method in interface com.google.android.exoplayer2.Player.DeviceComponent
      +
      +
      Sets the volume of the device.
      +
      +
      setDeviceVolume(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setDisabledTextTrackSelectionFlags(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setDisabledTextTrackSelectionFlags(int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets a bitmask of selection flags that are disabled for text track selections.
      +
      +
      setDisconnectedCallback(SessionCallbackBuilder.DisconnectedCallback) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.DisconnectedCallback to handle cleaning up controller.
      +
      +
      setDiscontinuityPositionUs(long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Sets a discontinuity position to be returned from the next call to FakeMediaPeriod.readDiscontinuity().
      +
      +
      setDownloadingStatesToQueued() - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      setDownloadingStatesToQueued() - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      + +
      +
      setDrmForceDefaultLicenseUri(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether to force use the default DRM license server URI even if the media specifies its + own DRM license server URI.
      +
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManagerProvider
      +
      +
      Sets the HttpDataSource.Factory to be used for creating HttpMediaDrmCallbacks which executes key and provisioning requests over HTTP.
      +
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
       
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
       
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Deprecated. +
      Use MediaSourceFactory.setDrmSessionManagerProvider(DrmSessionManagerProvider) and pass an + implementation that configures the returned DrmSessionManager with the desired + HttpDataSource.Factory.
      +
      +
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
       
      +
      setDrmHttpDataSourceFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
       
      +
      setDrmInitData(DrmInitData) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setDrmKeySetId(byte[]) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the key set ID of the offline license.
      +
      +
      setDrmLicenseRequestHeaders(Map<String, String>) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional request headers attached to the DRM license request.
      +
      +
      setDrmLicenseUri(Uri) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional default DRM license server URI.
      +
      +
      setDrmLicenseUri(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional default DRM license server URI.
      +
      +
      setDrmMultiSession(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether the DRM configuration is multi session enabled.
      +
      +
      setDrmPlayClearContentWithoutKey(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether clear samples within protected content should be played when keys for the + encrypted part of the content have yet to be loaded.
      +
      +
      setDrmSessionForClearPeriods(boolean) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets whether a DRM session should be used for clear tracks of type C.TRACK_TYPE_VIDEO + and C.TRACK_TYPE_AUDIO.
      +
      +
      setDrmSessionForClearTypes(List<Integer>) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets a list of C.TRACK_TYPE_* constants for which to use a DRM session even + when the tracks are in the clear.
      +
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
       
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
       
      +
      setDrmSessionManager(DrmSessionManager) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Deprecated. +
      Use MediaSourceFactory.setDrmSessionManagerProvider(DrmSessionManagerProvider) and pass an + implementation that always returns the same instance.
      +
      +
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
       
      +
      setDrmSessionManager(DrmSessionManager) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
       
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
       
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
       
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Sets the DrmSessionManagerProvider used to obtain a DrmSessionManager for a + MediaItem.
      +
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
       
      +
      setDrmSessionManagerProvider(DrmSessionManagerProvider) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
       
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManagerProvider
      +
      +
      Sets the optional user agent to be used for DRM requests.
      +
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
       
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
       
      +
      setDrmUserAgent(String) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Deprecated. +
      Use MediaSourceFactory.setDrmSessionManagerProvider(DrmSessionManagerProvider) and pass an + implementation that configures the returned DrmSessionManager with the desired + userAgent.
      +
      +
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
       
      +
      setDrmUserAgent(String) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
       
      +
      setDrmUuid(UUID) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the UUID of the protection scheme.
      +
      +
      setDumpFilesPrefix(String) - Method in class com.google.android.exoplayer2.testutil.ExtractorAsserts.AssertionConfig.Builder
      +
       
      +
      setDuration(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setDuration(long) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the duration.
      +
      +
      setDurationUs(long) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource.Factory
      +
      +
      Sets the duration of the silent audio.
      +
      +
      setEnableAudioFloatOutput(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets whether floating point audio should be output when possible.
      +
      +
      setEnableAudioOffload(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets whether audio should be played using the offload path.
      +
      +
      setEnableAudioTrackPlaybackParams(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets whether to enable setting playback speed using AudioTrack.setPlaybackParams(PlaybackParams), which is supported from API level + 23, rather than using application-level audio speed adjustment.
      +
      +
      setEnableContinuousPlayback(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets whether to enable continuous playback.
      +
      +
      setEnabled(boolean) - Method in class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      Sets whether to skip silence in the input.
      +
      +
      setEnabled(boolean) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setEnabled(boolean) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
       
      +
      setEnableDecoderFallback(boolean) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets whether to enable fallback to lower-priority decoders if decoder initialization fails.
      +
      +
      setEnabledPlaybackActions(long) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the enabled playback actions.
      +
      +
      setEncoderDelay(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setEncoderPadding(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setEndOfInputExpected(boolean) - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
      +
      Sets whether DataReader.read(byte[], int, int) is expected to return C.RESULT_END_OF_INPUT + after all the resource data have been read.
      +
      +
      setErrorMessageProvider(ErrorMessageProvider<? super ExoPlaybackException>) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
      +
      Sets the optional ErrorMessageProvider.
      +
      +
      setErrorMessageProvider(ErrorMessageProvider<? super ExoPlaybackException>) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the optional ErrorMessageProvider.
      +
      +
      setErrorMessageProvider(ErrorMessageProvider<? super ExoPlaybackException>) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets the optional ErrorMessageProvider.
      +
      +
      setErrorMessageProvider(ErrorMessageProvider<? super ExoPlaybackException>) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets the optional ErrorMessageProvider.
      +
      +
      setEventListener(Player.EventListener) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets an Player.EventListener to be registered to listen to player events.
      +
      +
      setEventListener(CacheDataSource.EventListener) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the {link EventListener} to which events are delivered.
      +
      +
      setEventTimes(SparseArray<AnalyticsListener.EventTime>) - Method in class com.google.android.exoplayer2.analytics.AnalyticsListener.Events
      +
      +
      Sets the AnalyticsListener.EventTime values for events recorded in this set.
      +
      +
      setExceedAudioConstraintsIfNecessary(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      setExceedRendererCapabilitiesIfNecessary(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to exceed renderer capabilities when no selection can be made otherwise.
      +
      +
      setExceedVideoConstraintsIfNecessary(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      setExoMediaCryptoType(Class<? extends ExoMediaCrypto>) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setExpectedBytes(byte[]) - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
      +
      Sets the expected contents of this resource.
      +
      +
      setExpectedPlayerEndedCount(int) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets the number of times the test runner is expected to reach the Player.STATE_ENDED + or Player.STATE_IDLE.
      +
      +
      setExtensionRendererMode(int) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets the extension renderer mode, which determines if and how available extension renderers are + used.
      +
      +
      setExtraAdGroupMarkers(long[], boolean[]) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not.
      +
      +
      setExtraAdGroupMarkers(long[], boolean[]) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not.
      +
      +
      setExtraAdGroupMarkers(long[], boolean[]) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not.
      +
      +
      setExtraAdGroupMarkers(long[], boolean[]) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets the millisecond positions of extra ad markers relative to the start of the window (or + timeline, if in multi-window mode) and whether each extra ad has been played or not.
      +
      +
      setExtractorFactory(HlsExtractorFactory) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets the factory for Extractors for the segments.
      +
      +
      setExtractorOutput(ExtractorOutput) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Sets the ExtractorOutput to which MediaParser's output is directed.
      +
      +
      setExtractorsFactory(ExtractorsFactory) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      +
      Sets the factory for Extractors to process the media stream.
      +
      +
      setExtractorsFactory(ExtractorsFactory) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      +
      Deprecated. +
      Pass the ExtractorsFactory via Factory(DataSource.Factory, + ExtractorsFactory). This is necessary so that proguard can treat the default extractors + factory as unused.
      +
      +
      +
      setFailureReason(int) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setFakeDataSet(FakeDataSet) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      setFallbackFactory(HttpDataSource.Factory) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets the fallback HttpDataSource.Factory that is used as a fallback if the CronetEngineWrapper fails to provide a CronetEngine.
      +
      +
      setFallbackMaxPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the maximum playback speed that should be used if no maximum playback speed is defined + by the media.
      +
      +
      setFallbackMinPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the minimum playback speed that should be used if no minimum playback speed is defined + by the media.
      +
      +
      setFallbackTargetLiveOffsetMs(long) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Sets the target offset for live streams that is used if + no value is defined in the MediaItem or the manifest.
      +
      +
      setFastForwardIncrementMs(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the fast forward increment in milliseconds.
      +
      +
      setFastForwardIncrementMs(int) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      + +
      +
      setFastForwardIncrementMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      setFastForwardIncrementMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setFastForwardIncrementMs(long) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Deprecated. +
      Create a new instance instead and pass the new instance to the UI component. This + makes sure the UI gets updated and is in sync with the new values.
      +
      +
      +
      setFastForwardIncrementMs(long) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setFinalStreamEndPositionUs(long) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
      +
      Sets the position at which to stop rendering the current stream.
      +
      +
      setFixedTextSize(int, float) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Set the text size to a given unit and value.
      +
      +
      setFlacExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for FlacExtractor instances created by the factory.
      +
      +
      setFlags(int) - Method in class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
       
      +
      setFlags(int) - Method in class com.google.android.exoplayer2.decoder.Buffer
      +
      +
      Replaces this buffer's flags with flags.
      +
      +
      setFlags(int) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      + +
      +
      setFlags(int) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      +
      Sets the DataSpec.flags.
      +
      +
      setFlattenForSlowMotion(boolean) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets whether the input should be flattened for media containing slow motion markers.
      +
      +
      setFloat(float) - Method in class com.google.android.exoplayer2.util.GlUtil.Uniform
      +
      +
      Configures GlUtil.Uniform.bind() to use the specified float value for this uniform.
      +
      +
      setFocusSkipButtonWhenAvailable(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets whether to focus the skip button (when available) on Android TV devices.
      +
      +
      setFontColor(int) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setFontFamily(String) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setFontSize(float) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setFontSizeUnit(short) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setForceHighestSupportedBitrate(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to force selection of the highest bitrate audio and video tracks that comply + with all other constraints.
      +
      +
      setForceLowestBitrate(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to force selection of the single lowest bitrate audio and video tracks that + comply with all other constraints.
      +
      +
      setForegroundMode(boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Sets whether the player is allowed to keep holding limited resources such as video decoders, + even when in the idle state.
      +
      +
      setForegroundMode(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setForegroundMode(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setForHeaderData(int) - Method in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      Populates the fields in this instance to reflect the MPEG audio header in headerData, + returning whether the header was valid.
      +
      +
      setFractionalTextSize(float) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the text size to be a fraction of the view's remaining height after its top and bottom + padding have been subtracted.
      +
      +
      setFractionalTextSize(float, boolean) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the text size to be a fraction of the height of this view.
      +
      +
      setFragmentedMp4ExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for FragmentedMp4Extractor instances created by the factory.
      +
      +
      setFragmentSize(long) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink.Factory
      +
      +
      Sets the cache file fragment size.
      +
      +
      setFrameRate(float) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setFromMetadata(Metadata) - Method in class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      +
      Populates the holder with data parsed from ID3 Metadata.
      +
      +
      setFromXingHeaderValue(int) - Method in class com.google.android.exoplayer2.extractor.GaplessInfoHolder
      +
      +
      Populates the holder with data from an MP3 Xing header, if valid and non-zero.
      +
      +
      setGzipSupport(int) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Sets the level of gzip support for this resource.
      +
      +
      setHandleAudioBecomingNoisy(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets whether the player should pause automatically when audio is rerouted from a headset to + device speakers.
      +
      +
      setHandleAudioBecomingNoisy(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Sets whether the player should pause automatically when audio is rerouted from a headset to + device speakers.
      +
      +
      setHandler(Handler) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Deprecated. + +
      +
      +
      setHandleSetCookieRequests(boolean) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets whether "Set-Cookie" requests on redirect should be forwarded to the redirect url in the + "Cookie" header.
      +
      +
      setHandleWakeLock(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      setHeight(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setHttpBody(byte[]) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setHttpMethod(int) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setHttpRequestHeaders(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setId(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setId(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      +
      Sets Format.id.
      +
      +
      setImaSdkSettings(ImaSdkSettings) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the IMA SDK settings.
      +
      +
      setIndex(int) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      setIndex(int) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      setIndex(int) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Sets the index of this renderer within the player.
      +
      +
      setInfo(String) - Method in class com.google.android.exoplayer2.testutil.AdditionalFailureInfo
      +
      +
      Set the additional info to be added to any test failures.
      +
      +
      setInitialBitrateEstimate(int, long) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets the initial bitrate estimate in bits per second that should be assumed when a bandwidth + estimate is unavailable and the current network connection is of the specified type.
      +
      +
      setInitialBitrateEstimate(long) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets the initial bitrate estimate in bits per second that should be assumed when a bandwidth + estimate is unavailable.
      +
      +
      setInitialBitrateEstimate(String) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets the initial bitrate estimates to the default values of the specified country.
      +
      +
      setInitialInputBufferSize(int) - Method in class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
      +
      Sets the initial size of each input buffer.
      +
      +
      setInitializationData(List<byte[]>) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setIsDisabled(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets whether the selection is initially shown as disabled.
      +
      +
      setIsNetwork(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeDataSource.Factory
      +
       
      +
      setItalic(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setKeepContentOnPlayerReset(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the currently displayed video frame or media artwork is kept visible when the + player is reset.
      +
      +
      setKeepContentOnPlayerReset(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the currently displayed video frame or media artwork is kept visible when the + player is reset.
      +
      +
      setKey(String) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      +
      Sets the DataSpec.key.
      +
      +
      setKeyCountIncrement(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setKeyCountIncrement(int) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the position increment for key presses and accessibility actions, as a number of + increments that divide the duration of the media.
      +
      +
      setKeyRequestParameters(Map<String, String>) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets the key request parameters to pass as the last argument to ExoMediaDrm.getKeyRequest(byte[], List, int, HashMap).
      +
      +
      setKeyRequestProperty(String, String) - Method in class com.google.android.exoplayer2.drm.HttpMediaDrmCallback
      +
      +
      Sets a header for key requests made by the callback.
      +
      +
      setKeySetId(byte[]) - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
      + +
      +
      setKeySetId(byte[]) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setKeyTimeIncrement(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setKeyTimeIncrement(long) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the position increment for key presses and accessibility actions, in milliseconds.
      +
      +
      setLabel(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setLanguage(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setLength(long) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      +
      Sets the DataSpec.length.
      +
      +
      setLibraries(Class<? extends ExoMediaCrypto>, String...) - Static method in class com.google.android.exoplayer2.ext.opus.OpusLibrary
      +
      +
      Override the names of the Opus native libraries.
      +
      +
      setLibraries(Class<? extends ExoMediaCrypto>, String...) - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
      +
      Override the names of the Vpx native libraries.
      +
      +
      setLibraries(String...) - Static method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
      +
      +
      Override the names of the FFmpeg native libraries.
      +
      +
      setLibraries(String...) - Static method in class com.google.android.exoplayer2.ext.flac.FlacLibrary
      +
      +
      Override the names of the Flac native libraries.
      +
      +
      setLibraries(String...) - Method in class com.google.android.exoplayer2.util.LibraryLoader
      +
      +
      Overrides the names of the libraries to load.
      +
      +
      setLimit(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Sets the limit.
      +
      +
      setLine(float, int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the position of the cue box within the viewport in the direction orthogonal to the + writing direction.
      +
      +
      setLineAnchor(int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the cue box anchor positioned by line.
      +
      +
      setLinethrough(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setListener(PlaybackSessionManager.Listener) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      setListener(PlaybackSessionManager.Listener) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Sets the listener to be notified of session updates.
      +
      +
      setListener(AudioSink.Listener) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets the listener for sink events, which should be the audio renderer.
      +
      +
      setListener(AudioSink.Listener) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setListener(AudioSink.Listener) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setListener(Transformer.Listener) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets the Transformer.Listener to listen to the transformation events.
      +
      +
      setListener(Transformer.Listener) - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Sets the Transformer.Listener to listen to the transformation events.
      +
      +
      setListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.FileDataSource.Factory
      +
      +
      Sets a TransferListener for FileDataSource instances created by this factory.
      +
      +
      setLiveConfiguration(MediaItem.LiveConfiguration) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
       
      +
      setLiveConfiguration(MediaItem.LiveConfiguration) - Method in interface com.google.android.exoplayer2.LivePlaybackSpeedControl
      +
      +
      Sets the live configuration defined by the media.
      +
      +
      setLiveMaxOffsetMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional maximum offset from the live edge for live streams, in milliseconds.
      +
      +
      setLiveMaxOffsetMs(long) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the maximum offset from the live edge for live streams, in milliseconds.
      +
      +
      setLiveMaxPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional maximum playback speed for live stream speed adjustment.
      +
      +
      setLiveMaxSpeed(float) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the maximum playback speed for live streams.
      +
      +
      setLiveMinOffsetMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional minimum offset from the live edge for live streams, in milliseconds.
      +
      +
      setLiveMinOffsetMs(long) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the minimum offset from the live edge for live streams, in milliseconds.
      +
      +
      setLiveMinPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional minimum playback speed for live stream speed adjustment.
      +
      +
      setLiveMinSpeed(float) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the minimum playback speed for live streams.
      +
      +
      setLivePlaybackSpeedControl(LivePlaybackSpeedControl) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the LivePlaybackSpeedControl that will control the playback speed when playing + live streams, in order to maintain a steady target offset from the live stream edge.
      +
      +
      setLivePlaybackSpeedControl(LivePlaybackSpeedControl) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the LivePlaybackSpeedControl that will control the playback speed when playing + live streams, in order to maintain a steady target offset from the live stream edge.
      +
      +
      setLivePresentationDelayMs(long) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Sets the duration in milliseconds by which the default start position should precede the end + of the live window for live playbacks.
      +
      +
      setLivePresentationDelayMs(long, boolean) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Deprecated. + +
      +
      +
      setLiveTargetOffsetMs(long) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional target offset from the live edge for live streams, in milliseconds.
      +
      +
      setLiveTargetOffsetMs(long) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      +
      Sets the target live offset for live streams, in milliseconds.
      +
      +
      setLoadControl(LoadControl) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the LoadControl that will be used by the player.
      +
      +
      setLoadControl(LoadControl) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the LoadControl that will be used by the player.
      +
      +
      setLoadControl(LoadControl) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setLoadControl(LoadControl) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets a LoadControl to be used by the player.
      +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets the LoadErrorHandlingPolicy for key and provisioning requests.
      +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      + +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
       
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      +
      Deprecated.
      + +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      + +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Sets an optional LoadErrorHandlingPolicy.
      +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      + +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      + +
      +
      setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      + +
      +
      setLogLevel(int) - Static method in class com.google.android.exoplayer2.util.Log
      +
      +
      Sets the Log.LogLevel for ExoPlayer logcat logging.
      +
      +
      setLogStackTraces(boolean) - Static method in class com.google.android.exoplayer2.util.Log
      +
      +
      Sets whether stack traces of Throwables will be logged to logcat.
      +
      +
      setLooper(Looper) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the Looper that must be used for all calls to the player and that is used to + call listeners on.
      +
      +
      setLooper(Looper) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets the Looper the message is delivered on.
      +
      +
      setLooper(Looper) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the Looper that must be used for all calls to the player and that is used to + call listeners on.
      +
      +
      setLooper(Looper) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets the Looper to be used by the player.
      +
      +
      setLooper(Looper) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      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.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets a manifest to be used by a FakeMediaSource in the test runner.
      +
      +
      setManifestParser(ParsingLoadable.Parser<? extends DashManifest>) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      +
      Sets the manifest parser to parse loaded manifest data when loading a manifest URI.
      +
      +
      setManifestParser(ParsingLoadable.Parser<? extends SsManifest>) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      +
      Sets the manifest parser to parse loaded manifest data when loading a manifest URI.
      +
      +
      setMatroskaExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for MatroskaExtractor instances created by the factory.
      +
      +
      setMaxAudioBitrate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the maximum allowed audio bitrate.
      +
      +
      setMaxAudioChannelCount(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the maximum allowed audio channel count.
      +
      +
      setMaxInputSize(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setMaxLiveOffsetErrorMsForUnitSpeed(long) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the maximum difference between the current live offset and the target live offset, in + milliseconds, for which unit speed (1.0f) is used.
      +
      +
      setMaxMediaBitrate(int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the media maximum recommended bitrate for ads, in bps.
      +
      +
      setMaxParallelDownloads(int) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Sets the maximum number of parallel downloads.
      +
      +
      setMaxVideoBitrate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the maximum allowed video bitrate.
      +
      +
      setMaxVideoFrameRate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the maximum allowed video frame rate.
      +
      +
      setMaxVideoSize(int, int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the maximum allowed video width and height.
      +
      +
      setMaxVideoSizeSd() - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      setMediaButtonEventHandler(MediaSessionConnector.MediaButtonEventHandler) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      + +
      +
      setMediaCodecSelector(MediaCodecSelector) - Method in class com.google.android.exoplayer2.DefaultRenderersFactory
      +
      +
      Sets a MediaCodecSelector for use by MediaCodec based renderers.
      +
      +
      setMediaId(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional media ID which identifies the media item.
      +
      +
      setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      setMediaItem(MediaItem) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist, adds the specified MediaItem and resets the position to the + default position.
      +
      +
      setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItem(MediaItem) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaItem(MediaItem, boolean) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      setMediaItem(MediaItem, boolean) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist and adds the specified MediaItem.
      +
      +
      setMediaItem(MediaItem, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItem(MediaItem, boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaItem(MediaItem, long) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      setMediaItem(MediaItem, long) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist and adds the specified MediaItem.
      +
      +
      setMediaItem(MediaItem, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItem(MediaItem, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaItemProvider(SessionCallbackBuilder.MediaItemProvider) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.MediaItemProvider that will convert media ids to MediaItems.
      +
      +
      setMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      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.
      +
      +
      setMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItems(List<MediaItem>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, boolean) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist and adds the specified MediaItems.
      +
      +
      setMediaItems(List<MediaItem>, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, int, long) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, int, long) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Clears the playlist and adds the specified MediaItems.
      +
      +
      setMediaItems(List<MediaItem>, int, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaItems(List<MediaItem>, int, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      SetMediaItems(String, int, long, MediaSource...) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetMediaItems
      +
       
      +
      SetMediaItemsResetPosition(String, boolean, MediaSource...) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetMediaItemsResetPosition
      +
       
      +
      setMediaLoadTimeoutMs(int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the ad media load timeout, in milliseconds.
      +
      +
      setMediaMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the media metadata.
      +
      +
      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.
      +
      +
      setMediaSessionToken(MediaSessionCompat.Token) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setMediaSource(MediaSource) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist, adds the specified MediaSource and resets the position to the + default position.
      +
      +
      setMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Sets the MediaSource that will create the underlying media period.
      +
      +
      setMediaSource(MediaSource) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaSource(MediaSource, boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist and adds the specified MediaSource.
      +
      +
      setMediaSource(MediaSource, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSource(MediaSource, boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaSource(MediaSource, long) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist and adds the specified MediaSource.
      +
      +
      setMediaSource(MediaSource, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSource(MediaSource, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaSourceFactory(MediaSourceFactory) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the MediaSourceFactory that will be used by the player.
      +
      +
      setMediaSourceFactory(MediaSourceFactory) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the MediaSourceFactory that will be used by the player.
      +
      +
      setMediaSourceFactory(MediaSourceFactory) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets the MediaSourceFactory to be used to retrieve the inputs to transform.
      +
      +
      setMediaSources(boolean, MediaSource...) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a set media items action to be executed.
      +
      +
      setMediaSources(int, long, MediaSource...) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a set media items action to be executed.
      +
      +
      setMediaSources(MediaSource...) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a set media items action to be executed.
      +
      +
      setMediaSources(MediaSource...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets the MediaSources to be used by the test runner.
      +
      +
      setMediaSources(List<MediaSource>) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist, adds the specified MediaSources and resets the + position to the default position.
      +
      +
      setMediaSources(List<MediaSource>) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSources(List<MediaSource>) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaSources(List<MediaSource>, boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist and adds the specified MediaSources.
      +
      +
      setMediaSources(List<MediaSource>, boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSources(List<MediaSource>, boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMediaSources(List<MediaSource>, int, long) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Clears the playlist and adds the specified MediaSources.
      +
      +
      setMediaSources(List<MediaSource>, int, long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setMediaSources(List<MediaSource>, int, long) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setMetadata(Metadata) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setMetadataType(int) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets the type of metadata to extract from the HLS source (defaults to HlsMediaSource.METADATA_TYPE_ID3).
      +
      +
      setMimeType(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional MIME type.
      +
      +
      setMimeType(String) - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
      + +
      +
      setMimeType(String) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setMinPossibleLiveOffsetSmoothingFactor(float) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the smoothing factor when smoothing the minimum possible live offset that can be + achieved during playback.
      +
      +
      setMinRetryCount(int) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Sets the minimum number of times that a download will be retried.
      +
      +
      setMinUpdateIntervalMs(long) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the minimum interval between playback speed changes, in milliseconds.
      +
      +
      setMinVideoBitrate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the minimum allowed video bitrate.
      +
      +
      setMinVideoFrameRate(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the minimum allowed video frame rate.
      +
      +
      setMinVideoSize(int, int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the minimum allowed video width and height.
      +
      +
      setMode(int, byte[]) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager
      +
      +
      Sets the mode, which determines the role of sessions acquired from the instance.
      +
      +
      setMp3ExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for Mp3Extractor instances created by the factory.
      +
      +
      setMp4ExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for Mp4Extractor instances created by the factory.
      +
      +
      setMultiSession(boolean) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets whether this session manager is allowed to acquire multiple simultaneous sessions.
      +
      +
      setMuxedCaptionFormats(List<Format>) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Sets Format information associated to the caption tracks multiplexed in the media.
      +
      +
      setName(String) - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
      +
      Sets a human-readable name for this resource which will be shown in test failure messages.
      +
      +
      setNetworkTypeOverride(int) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
      +
      +
      Overrides the network type.
      +
      +
      setNewSourceInfo(Timeline) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Sets a new timeline.
      +
      +
      setNewSourceInfo(Timeline, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeMediaSource
      +
      +
      Sets a new timeline.
      +
      +
      setNotification(Context, int, Notification) - Static method in class com.google.android.exoplayer2.util.NotificationUtil
      +
      +
      Post a notification to be shown in the status bar.
      +
      +
      setNotificationListener(PlayerNotificationManager.NotificationListener) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Deprecated. +
      Pass the notification listener to the constructor instead.
      +
      +
      +
      setNtpHost(String) - Static method in class com.google.android.exoplayer2.util.SntpClient
      +
      +
      Sets the NTP host address used to retrieve SntpClient.getElapsedRealtimeOffsetMs().
      +
      +
      setOnEventListener(ExoMediaDrm.OnEventListener) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      setOnEventListener(ExoMediaDrm.OnEventListener) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Sets the listener for DRM events.
      +
      +
      setOnEventListener(ExoMediaDrm.OnEventListener) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      setOnEventListener(ExoMediaDrm.OnEventListener) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      setOnExpirationUpdateListener(ExoMediaDrm.OnExpirationUpdateListener) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      setOnExpirationUpdateListener(ExoMediaDrm.OnExpirationUpdateListener) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Sets the listener for session expiration events.
      +
      +
      setOnExpirationUpdateListener(ExoMediaDrm.OnExpirationUpdateListener) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
      +
      Sets the listener for session expiration events.
      +
      +
      setOnExpirationUpdateListener(ExoMediaDrm.OnExpirationUpdateListener) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      setOnFrameRenderedListener(MediaCodecAdapter.OnFrameRenderedListener, Handler) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Registers a callback to be invoked when an output frame is rendered on the output surface.
      +
      +
      setOnFrameRenderedListener(MediaCodecAdapter.OnFrameRenderedListener, Handler) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      setOnFullScreenModeChangedListener(StyledPlayerControlView.OnFullScreenModeChangedListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets a listener to be called when the fullscreen mode should be changed.
      +
      +
      setOnKeyStatusChangeListener(ExoMediaDrm.OnKeyStatusChangeListener) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      setOnKeyStatusChangeListener(ExoMediaDrm.OnKeyStatusChangeListener) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Sets the listener for key status change events.
      +
      +
      setOnKeyStatusChangeListener(ExoMediaDrm.OnKeyStatusChangeListener) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
      +
      Sets the listener for key status change events.
      +
      +
      setOnKeyStatusChangeListener(ExoMediaDrm.OnKeyStatusChangeListener) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      setOutputBuffer(VideoDecoderOutputBuffer) - Method in interface com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer
      +
      +
      Sets the output buffer to be rendered.
      +
      +
      setOutputBufferRenderer(VideoDecoderOutputBufferRenderer) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Sets output buffer renderer.
      +
      +
      setOutputMimeType(String) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets the MIME type of the output.
      +
      +
      setOutputMode(int) - Method in class com.google.android.exoplayer2.ext.av1.Gav1Decoder
      +
      +
      Sets the output mode for frames rendered by the decoder.
      +
      +
      setOutputMode(int) - Method in class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
      +
      Sets the output mode for frames rendered by the decoder.
      +
      +
      setOutputSampleRateHz(int) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Sets the sample rate for output audio, in Hertz.
      +
      +
      setOutputSurface(Surface) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Dynamically sets the output surface of a MediaCodec.
      +
      +
      setOutputSurface(Surface) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      setOutputSurface(Surface) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Sets output surface.
      +
      +
      setOutputSurfaceV23(MediaCodecAdapter, Surface) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      setOverride(DefaultTrackSelector.SelectionOverride) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets the initial selection override to show.
      +
      +
      setOverrides(List<DefaultTrackSelector.SelectionOverride>) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets the list of initial selection overrides to show.
      +
      +
      setParameters(Bundle) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Communicate additional parameter changes to the MediaCodec instance.
      +
      +
      setParameters(Bundle) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      setParameters(DefaultTrackSelector.Parameters) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Atomically sets the provided parameters for track selection.
      +
      +
      setParameters(DefaultTrackSelector.ParametersBuilder) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector
      +
      +
      Atomically sets the provided parameters for track selection.
      +
      +
      setPath(String) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Sets the path this data should be served at.
      +
      +
      setPauseAtEndOfMediaItems(boolean) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets whether to pause playback at the end of each media item.
      +
      +
      setPauseAtEndOfMediaItems(boolean) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Sets whether to pause playback at the end of each media item.
      +
      +
      setPauseAtEndOfMediaItems(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets whether to pause playback at the end of each media item.
      +
      +
      setPauseAtEndOfMediaItems(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setPauseAtEndOfMediaItems(boolean) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets whether to enable pausing at the end of media items.
      +
      +
      setPauseAtEndOfMediaItems(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setPayload(Object) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets the message payload forwarded to PlayerMessage.Target.handleMessage(int, Object).
      +
      +
      setPcmEncoding(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setPeakBitrate(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setPendingOutputEndOfStream() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Notifies the renderer that output end of stream is pending and should be handled on the next + render.
      +
      +
      setPendingPlaybackException(ExoPlaybackException) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Sets an exception to be re-thrown by render.
      +
      +
      setPercentDownloaded(float) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setPitch(float) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Sets the target playback pitch.
      +
      +
      setPixelWidthHeightRatio(float) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setPlayAdBeforeStartPosition(boolean) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets whether to play an ad before the start position when beginning playback.
      +
      +
      setPlaybackParameters(PlaybackParameters) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Attempts to set the playback parameters.
      +
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Attempts to set the playback parameters.
      +
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a playback parameters setting action.
      +
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setPlaybackParameters(PlaybackParameters) - Method in interface com.google.android.exoplayer2.util.MediaClock
      +
      +
      Attempts to set the playback parameters.
      +
      +
      setPlaybackParameters(PlaybackParameters) - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
       
      +
      SetPlaybackParameters(String, PlaybackParameters) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetPlaybackParameters
      +
      +
      Creates a set playback parameters action instance.
      +
      +
      setPlaybackPreparer(MediaSessionConnector.PlaybackPreparer) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      + +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
      +
      Deprecated. +
      Use LeanbackPlayerAdapter.setControlDispatcher(ControlDispatcher) instead. The adapter calls + ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that the adapter + uses by default, calls Player.prepare(). If you wish to customize this behaviour, + you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player).
      +
      +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Deprecated. +
      Use PlayerControlView.setControlDispatcher(ControlDispatcher) instead. The view calls ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that the view + uses by default, calls Player.prepare(). If you wish to customize this behaviour, + you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player).
      +
      +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Deprecated. +
      Use PlayerNotificationManager.setControlDispatcher(ControlDispatcher) instead. The manager calls + ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that this manager + uses by default, calls Player.prepare(). If you wish to intercept or customize this + behaviour, you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player) and pass it to PlayerNotificationManager.setControlDispatcher(ControlDispatcher).
      +
      +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Deprecated. +
      Use PlayerView.setControlDispatcher(ControlDispatcher) instead. The view calls ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that the view + uses by default, calls Player.prepare(). If you wish to customize this behaviour, + you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player).
      +
      +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Deprecated. +
      Use StyledPlayerControlView.setControlDispatcher(ControlDispatcher) instead. The view calls ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that the view + uses by default, calls Player.prepare(). If you wish to customize this behaviour, + you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player).
      +
      +
      +
      setPlaybackPreparer(PlaybackPreparer) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Deprecated. +
      Use StyledPlayerView.setControlDispatcher(ControlDispatcher) instead. The view calls ControlDispatcher.dispatchPrepare(Player) instead of PlaybackPreparer.preparePlayback(). The DefaultControlDispatcher that the view + uses by default, calls Player.prepare(). If you wish to customize this behaviour, + you can provide a custom implementation of ControlDispatcher.dispatchPrepare(Player).
      +
      +
      +
      setPlaybackSpeed(float) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      setPlaybackSpeed(float, float) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      setPlaybackSpeed(float, float) - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Indicates the playback speed to this renderer.
      +
      +
      setPlaybackSpeed(float, float) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      setPlayClearSamplesWithoutKeys(boolean) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets whether clear samples within protected content should be played when keys for the + encrypted part of the content have yet to be loaded.
      +
      +
      setPlayedAdMarkerColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for played ad markers.
      +
      +
      setPlayedColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for the portion of the time bar representing media before the playback position.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the player to be connected to the media session.
      +
      +
      setPlayer(Player) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Sets the player that will play the loaded ads.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets the Player to control.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the Player.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Set the Player to use.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets the Player to control.
      +
      +
      setPlayer(Player) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Set the Player to use.
      +
      +
      setPlayer(Player, Looper) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Sets the player for which data will be collected.
      +
      +
      setPlaylist(List<MediaItem>, MediaMetadata) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
      setPlaylistParserFactory(HlsPlaylistParserFactory) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets the factory from which playlist parsers will be obtained.
      +
      +
      setPlaylistTrackerFactory(HlsPlaylistTracker.Factory) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets the HlsPlaylistTracker factory.
      +
      +
      setPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setPlayWhenReady(boolean) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Sets whether playback should proceed when Player.getPlaybackState() == Player.STATE_READY.
      +
      +
      setPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      SetPlayWhenReady(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetPlayWhenReady
      +
       
      +
      setPosition(float) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the fractional position of the positionAnchor of the cue + box within the viewport in the direction orthogonal to line.
      +
      +
      setPosition(int) - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Sets the reading position in bits.
      +
      +
      setPosition(int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
      +
      Sets the read and peek positions.
      +
      +
      setPosition(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Sets the current bit offset.
      +
      +
      setPosition(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Sets the reading offset in the array.
      +
      +
      setPosition(int, long) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets a position in a window at which the message will be delivered.
      +
      +
      setPosition(long) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets a position in the current window at which the message will be delivered.
      +
      +
      setPosition(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
       
      +
      setPosition(long) - Method in interface com.google.android.exoplayer2.ui.TimeBar
      +
      +
      Sets the current position.
      +
      +
      setPosition(long) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setPositionAnchor(int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the cue box anchor positioned by position.
      +
      +
      setPositionUs(long) - Method in class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      setPositionUs(long) - Method in interface com.google.android.exoplayer2.text.SubtitleDecoder
      +
      +
      Informs the decoder of the current playback position.
      +
      +
      setPostConnectCallback(SessionCallbackBuilder.PostConnectCallback) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.PostConnectCallback to handle extra initialization after the connection.
      +
      +
      setPreferredAudioLanguage(String) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredAudioLanguage(String) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred language for audio and forced text tracks.
      +
      +
      setPreferredAudioLanguages(String...) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredAudioLanguages(String...) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred languages for audio and forced text tracks.
      +
      +
      setPreferredAudioMimeType(String) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the preferred sample MIME type for audio tracks.
      +
      +
      setPreferredAudioMimeTypes(String...) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the preferred sample MIME types for audio tracks.
      +
      +
      setPreferredAudioRoleFlags(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredAudioRoleFlags(int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred C.RoleFlags for audio tracks.
      +
      +
      setPreferredTextLanguage(String) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredTextLanguage(String) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred language for text tracks.
      +
      +
      setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(Context) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(Context) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred language and role flags for text tracks based on the accessibility + settings of CaptioningManager.
      +
      +
      setPreferredTextLanguages(String...) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredTextLanguages(String...) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred languages for text tracks.
      +
      +
      setPreferredTextRoleFlags(int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setPreferredTextRoleFlags(int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets the preferred C.RoleFlags for text tracks.
      +
      +
      setPreferredVideoMimeType(String) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the preferred sample MIME type for video tracks.
      +
      +
      setPreferredVideoMimeTypes(String...) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the preferred sample MIME types for video tracks.
      +
      +
      setPreparationComplete() - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Allows the fake media period to complete preparation.
      +
      +
      setPrepareListener(MaskingMediaPeriod.PrepareListener) - Method in class com.google.android.exoplayer2.source.MaskingMediaPeriod
      +
      +
      Sets a listener for preparation events.
      +
      +
      setPrioritizeTimeOverSizeThresholds(boolean) - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Sets whether the load control prioritizes buffer time constraints over buffer size + constraints.
      +
      +
      setPriority(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the priority of the notification required for API 25 and lower.
      +
      +
      setPriorityTaskManager(PriorityTaskManager) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets an PriorityTaskManager that will be used by the player.
      +
      +
      setPriorityTaskManager(PriorityTaskManager) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Sets a PriorityTaskManager, or null to clear a previously set priority task manager.
      +
      +
      setProgressUpdateListener(PlayerControlView.ProgressUpdateListener) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      setProgressUpdateListener(StyledPlayerControlView.ProgressUpdateListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      + +
      +
      setProgressUpdatingEnabled(boolean) - Method in class com.google.android.exoplayer2.ext.leanback.LeanbackPlayerAdapter
      +
       
      +
      setProjectionData(byte[]) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setPropertyByteArray(String, byte[]) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      setPropertyByteArray(String, byte[]) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Sets the value of a byte array property.
      +
      +
      setPropertyByteArray(String, byte[]) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      setPropertyByteArray(String, byte[]) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      setPropertyString(String, String) - Method in class com.google.android.exoplayer2.drm.DummyExoMediaDrm
      +
       
      +
      setPropertyString(String, String) - Method in interface com.google.android.exoplayer2.drm.ExoMediaDrm
      +
      +
      Sets the value of a string property.
      +
      +
      setPropertyString(String, String) - Method in class com.google.android.exoplayer2.drm.FrameworkMediaDrm
      +
       
      +
      setPropertyString(String, String) - Method in class com.google.android.exoplayer2.testutil.FakeExoMediaDrm
      +
       
      +
      setProportionalControlFactor(float) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the proportional control factor used to adjust the playback speed.
      +
      +
      setQueueEditor(MediaSessionConnector.QueueEditor) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the MediaSessionConnector.QueueEditor to handle queue edits sent by the media controller.
      +
      +
      setQueueNavigator(MediaSessionConnector.QueueNavigator) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the MediaSessionConnector.QueueNavigator to handle queue navigation actions ACTION_SKIP_TO_NEXT, + ACTION_SKIP_TO_PREVIOUS and ACTION_SKIP_TO_QUEUE_ITEM.
      +
      +
      setRandomData(Uri, int) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Sets random data with the given length for the given uri.
      +
      +
      setRandomData(String, int) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet
      +
      +
      Sets random data with the given length for the given uri.
      +
      +
      setRatingCallback(SessionCallbackBuilder.RatingCallback) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.RatingCallback to handle user ratings.
      +
      +
      setRatingCallback(MediaSessionConnector.RatingCallback) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Sets the MediaSessionConnector.RatingCallback to handle user ratings.
      +
      +
      setReadTimeoutMs(int) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets the read timeout, in milliseconds.
      +
      +
      setReadTimeoutMs(int) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets the read timeout, in milliseconds.
      +
      +
      setRedirectedUri(ContentMetadataMutations, Uri) - Static method in class com.google.android.exoplayer2.upstream.cache.ContentMetadataMutations
      +
      +
      Adds a mutation to set the ContentMetadata.KEY_REDIRECTED_URI value, or to remove any + existing entry if null is passed.
      +
      +
      setReleaseTimeoutMs(long) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      + +
      +
      setReleaseTimeoutMs(long) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      + +
      +
      setRemoveAudio(boolean) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets whether to remove the audio from the output.
      +
      +
      setRemoveVideo(boolean) - Method in class com.google.android.exoplayer2.transformer.Transformer.Builder
      +
      +
      Sets whether to remove the video from the output.
      +
      +
      setRendererDisabled(int, boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether the renderer at the specified index is disabled.
      +
      +
      SetRendererDisabled(String, int, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetRendererDisabled
      +
       
      +
      setRenderers(Renderer...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setRenderers(Renderer...) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets the Renderers.
      +
      +
      setRenderersFactory(RenderersFactory) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setRenderersFactory(RenderersFactory) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      + +
      +
      setRenderTimeLimitMs(long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Set a limit on the time a single MediaCodecRenderer.render(long, long) call can spend draining and + filling the decoder.
      +
      +
      setRepeatMode(int) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setRepeatMode(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      setRepeatMode(int) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Sets the Player.RepeatMode to be used for playback.
      +
      +
      setRepeatMode(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setRepeatMode(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a repeat mode setting action.
      +
      +
      setRepeatMode(int) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      SetRepeatMode(String, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetRepeatMode
      +
       
      +
      setRepeatToggleModes(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets which repeat toggle modes are enabled.
      +
      +
      setRepeatToggleModes(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets which repeat toggle modes are enabled.
      +
      +
      setRepeatToggleModes(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets which repeat toggle modes are enabled.
      +
      +
      setRepeatToggleModes(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets which repeat toggle modes are enabled.
      +
      +
      setRequestProperty(String, String) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource
      +
       
      +
      setRequestProperty(String, String) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource
      +
       
      +
      setRequestProperty(String, String) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource
      +
       
      +
      setRequestProperty(String, String) - Method in interface com.google.android.exoplayer2.upstream.HttpDataSource
      +
      +
      Sets the value of a request header.
      +
      +
      setRequirements(Requirements) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Sets the requirements that need to be met for downloads to progress.
      +
      +
      setResetOnNetworkTypeChange(boolean) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets whether to reset if the network type changes.
      +
      +
      setResetTimeoutOnRedirects(boolean) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets whether the connect timeout is reset when a redirect occurs.
      +
      +
      setResizeMode(int) - Method in class com.google.android.exoplayer2.ui.AspectRatioFrameLayout
      +
      + +
      +
      setResizeMode(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setResizeMode(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      + +
      +
      setRetryPosition(long, E) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      setRetryPosition(long, E) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Called when reading fails and the required retry position is different from the last position.
      +
      +
      setRetryPosition(long, E) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      setRetryPosition(long, E) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      setRewindIncrementMs(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the rewind increment in milliseconds.
      +
      +
      setRewindIncrementMs(int) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      + +
      +
      setRewindIncrementMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      + +
      +
      setRewindIncrementMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      + +
      +
      setRewindIncrementMs(long) - Method in class com.google.android.exoplayer2.DefaultControlDispatcher
      +
      +
      Deprecated. +
      Create a new instance instead and pass the new instance to the UI component. This + makes sure the UI gets updated and is in sync with the new values.
      +
      +
      +
      setRewindIncrementMs(long) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setRoleFlags(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setRotation(long, float[]) - Method in class com.google.android.exoplayer2.video.spherical.FrameRotationQueue
      +
      +
      Sets a rotation for a given timestamp.
      +
      +
      setRotationDegrees(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setRubyPosition(int) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setSampleMimeType(String) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setSampleOffsetUs(long) - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkOutput
      +
      +
      Sets an offset that will be added to the timestamps (and sub-sample timestamps) of samples + subsequently written to the sample queues.
      +
      +
      setSampleOffsetUs(long) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Sets an offset that will be added to the timestamps (and sub-sample timestamps) of samples that + are subsequently queued.
      +
      +
      setSampleRate(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setSamplerTexId(int, int) - Method in class com.google.android.exoplayer2.util.GlUtil.Uniform
      +
      +
      Configures GlUtil.Uniform.bind() to use the specified texId for this sampler uniform.
      +
      +
      setSampleTimestampUpperLimitFilterUs(long) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Sets an upper limit for sample timestamp filtering.
      +
      +
      setSchedule(ActionSchedule) - Method in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
      +
      Sets a schedule to be applied during the test.
      +
      +
      setScrubberColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for the scrubber handle.
      +
      +
      setSeekParameters(SeekParameters) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the parameters that control how seek operations are performed.
      +
      +
      setSeekParameters(SeekParameters) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Sets the parameters that control how seek operations are performed.
      +
      +
      setSeekParameters(SeekParameters) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the parameters that control how seek operations are performed.
      +
      +
      setSeekParameters(SeekParameters) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setSeekParameters(SeekParameters) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setSeekTargetUs(long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
      +
      Sets the target time in microseconds within the stream to seek to.
      +
      +
      setSeekTimeoutMs(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the timeout in milliseconds for fast forward and rewind operations, or 0 for no + timeout.
      +
      +
      setSeekToUsOffset(long) - Method in class com.google.android.exoplayer2.testutil.FakeMediaPeriod
      +
      +
      Sets an offset to be applied to positions returned by FakeMediaPeriod.seekToUs(long).
      +
      +
      setSelectedParserName(String) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Defines the container mime type to propagate through TrackOutput.format(com.google.android.exoplayer2.Format).
      +
      +
      setSelectionFlags(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setSelectionOverride(int, TrackGroupArray, DefaultTrackSelector.SelectionOverride) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Overrides the track selection for the renderer at the specified index.
      +
      +
      setSelectUndeterminedTextLanguage(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
       
      +
      setSelectUndeterminedTextLanguage(boolean) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
      +
      +
      Sets whether a text track with undetermined language should be selected if no track with + a preferred language is available, or if the + preferred language is unset.
      +
      +
      setSessionAvailabilityListener(SessionAvailabilityListener) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
      +
      Sets a listener for updates on the cast session availability.
      +
      +
      setSessionKeepaliveMs(long) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets the time to keep DrmSessions alive when they're not in use.
      +
      +
      setShearDegrees(float) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the shear angle for this Cue.
      +
      +
      setShowBuffering(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether a buffering spinner is displayed when the player is in the buffering state.
      +
      +
      setShowBuffering(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether a buffering spinner is displayed when the player is in the buffering state.
      +
      +
      setShowDisableOption(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets whether an option is available for disabling the renderer.
      +
      +
      setShowDisableOption(boolean) - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Sets whether an option is available for disabling the renderer.
      +
      +
      setShowFastForwardButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the fast forward button is shown.
      +
      +
      setShowFastForwardButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the fast forward button is shown.
      +
      +
      setShowFastForwardButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the fast forward button is shown.
      +
      +
      setShowFastForwardButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the fast forward button is shown.
      +
      +
      setShowMultiWindowTimeBar(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the time bar should show all windows, as opposed to just the current one.
      +
      +
      setShowMultiWindowTimeBar(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the time bar should show all windows, as opposed to just the current one.
      +
      +
      setShowMultiWindowTimeBar(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the time bar should show all windows, as opposed to just the current one.
      +
      +
      setShowMultiWindowTimeBar(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the time bar should show all windows, as opposed to just the current one.
      +
      +
      setShowNextButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the next button is shown.
      +
      +
      setShowNextButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the next button is shown.
      +
      +
      setShowNextButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the next button is shown.
      +
      +
      setShowNextButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the next button is shown.
      +
      +
      setShowPreviousButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the previous button is shown.
      +
      +
      setShowPreviousButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the previous button is shown.
      +
      +
      setShowPreviousButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the previous button is shown.
      +
      +
      setShowPreviousButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the previous button is shown.
      +
      +
      setShowRewindButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the rewind button is shown.
      +
      +
      setShowRewindButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the rewind button is shown.
      +
      +
      setShowRewindButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the rewind button is shown.
      +
      +
      setShowRewindButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the rewind button is shown.
      +
      +
      setShowShuffleButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the shuffle button is shown.
      +
      +
      setShowShuffleButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the shuffle button is shown.
      +
      +
      setShowShuffleButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the shuffle button is shown.
      +
      +
      setShowShuffleButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the shuffle button is shown.
      +
      +
      setShowSubtitleButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the subtitle button is shown.
      +
      +
      setShowSubtitleButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the subtitle button is shown.
      +
      +
      setShowTimeoutMs(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets the playback controls timeout.
      +
      +
      setShowTimeoutMs(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets the playback controls timeout.
      +
      +
      setShowVrButton(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets whether the VR button is shown.
      +
      +
      setShowVrButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets whether the VR button is shown.
      +
      +
      setShowVrButton(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the vr button is shown.
      +
      +
      setShuffleMode(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      setShuffleModeEnabled(boolean) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Sets whether shuffling of windows is enabled.
      +
      +
      setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a shuffle setting action to be executed.
      +
      +
      setShuffleModeEnabled(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      SetShuffleModeEnabled(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetShuffleModeEnabled
      +
       
      +
      setShuffleOrder(ShuffleOrder) - Method in interface com.google.android.exoplayer2.ExoPlayer
      +
      +
      Sets the shuffle order.
      +
      +
      setShuffleOrder(ShuffleOrder) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setShuffleOrder(ShuffleOrder) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Sets a new shuffle order to use when shuffling the child media sources.
      +
      +
      setShuffleOrder(ShuffleOrder) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a set shuffle order action to be executed.
      +
      +
      setShuffleOrder(ShuffleOrder) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      setShuffleOrder(ShuffleOrder, Handler, Runnable) - Method in class com.google.android.exoplayer2.source.ConcatenatingMediaSource
      +
      +
      Sets a new shuffle order to use when shuffling the child media sources.
      +
      +
      SetShuffleOrder(String, ShuffleOrder) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetShuffleOrder
      +
       
      +
      setShutterBackgroundColor(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets the background color of the exo_shutter view.
      +
      +
      setShutterBackgroundColor(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets the background color of the exo_shutter view.
      +
      +
      setSimulateIOErrors(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      setSimulatePartialReads(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      setSimulateUnknownLength(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      When set, FakeDataSource.open(DataSpec) will behave as though the source is unable to + determine the length of the underlying data.
      +
      +
      setSimulateUnknownLength(boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput.Builder
      +
       
      +
      setSingleTapListener(SingleTapListener) - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
      +
      Sets the SingleTapListener used to listen to single tap events on this view.
      +
      +
      setSize(float) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the size of the cue box in the writing direction specified as a fraction of the viewport + size in that direction.
      +
      +
      setSkipCallback(SessionCallbackBuilder.SkipCallback) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder
      +
      +
      Sets the SessionCallbackBuilder.SkipCallback to handle skip backward and skip forward.
      +
      +
      setSkipSilenceEnabled(boolean) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets whether silences should be skipped in the audio stream.
      +
      +
      setSkipSilenceEnabled(boolean) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setSkipSilenceEnabled(boolean) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setSkipSilenceEnabled(boolean) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Sets whether skipping silences in the audio stream is enabled.
      +
      +
      setSkipSilenceEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets whether silences silences in the audio stream is enabled.
      +
      +
      setSkipSilenceEnabled(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setSlidingWindowMaxWeight(int) - Method in class com.google.android.exoplayer2.upstream.DefaultBandwidthMeter.Builder
      +
      +
      Sets the maximum weight for the sliding window.
      +
      +
      setSmallIcon(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the small icon of the notification which is also shown in the system status bar.
      +
      +
      setSpeed(float) - Method in class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Sets the target playback speed.
      +
      +
      setStartTimeMs(long) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setStartTimeUs(long) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Sets the start time for the queue.
      +
      +
      setState(int) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setStatesToRemoving() - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      setStatesToRemoving() - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      +
      Sets all states to Download.STATE_REMOVING.
      +
      +
      setStereoMode(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setStopReason(int) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      setStopReason(int) - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      +
      Sets the stop reason of the downloads in a terminal state (Download.STATE_COMPLETED, + Download.STATE_FAILED).
      +
      +
      setStopReason(int) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setStopReason(String, int) - Method in class com.google.android.exoplayer2.offline.DefaultDownloadIndex
      +
       
      +
      setStopReason(String, int) - Method in class com.google.android.exoplayer2.offline.DownloadManager
      +
      +
      Sets the stop reason for one or all downloads.
      +
      +
      setStopReason(String, int) - Method in interface com.google.android.exoplayer2.offline.WritableDownloadIndex
      +
      +
      Sets the stop reason of the download with the given ID in a terminal state (Download.STATE_COMPLETED, Download.STATE_FAILED).
      +
      +
      setStreamKeys(StreamKey...) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional stream keys by which the manifest is filtered (only used for adaptive + streams).
      +
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.offline.DownloadRequest.Builder
      +
      + +
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      + +
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.DefaultMediaSourceFactory
      +
      + +
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      + +
      +
      setStreamKeys(List<StreamKey>) - Method in interface com.google.android.exoplayer2.source.MediaSourceFactory
      +
      +
      Deprecated. + +
      +
      +
      setStreamKeys(List<StreamKey>) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      + +
      +
      setString(MediaFormat, String, String) - Static method in class com.google.android.exoplayer2.mediacodec.MediaFormatUtil
      +
      +
      Sets a MediaFormat String value.
      +
      +
      setStyle(CaptionStyleCompat) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the caption style.
      +
      +
      setSubsampleOffsetUs(long) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setSubtitles(List<MediaItem.Subtitle>) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional subtitles.
      +
      +
      setSupportedContentTypes(int...) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      setSupportedContentTypes(int...) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Sets the supported content types for ad media.
      +
      +
      setSupportedFormats(Format...) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets a list of Formats to be used by a FakeMediaSource to create media + periods.
      +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional tag for custom attributes.
      +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.dash.DashMediaSource.Factory
      +
      + +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.ExtractorMediaSource.Factory
      +
      + +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      + +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.ProgressiveMediaSource.Factory
      +
      + +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.SilenceMediaSource.Factory
      +
      +
      Sets a tag for the media source which will be published in the Timeline of the source as Window#mediaItem.playbackProperties.tag.
      +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      +
      Sets a tag for the media source which will be published in the Timeline of the source + as Window#mediaItem.playbackProperties.tag.
      +
      +
      setTag(Object) - Method in class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource.Factory
      +
      + +
      +
      setTargetBufferBytes(int) - Method in class com.google.android.exoplayer2.DefaultLoadControl.Builder
      +
      +
      Sets the target buffer size in bytes.
      +
      +
      setTargetBufferSize(int) - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      setTargetClasses(String[]) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setTargetId(String) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setTargetLiveOffsetIncrementOnRebufferMs(long) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl.Builder
      +
      +
      Sets the increment applied to the target live offset each time the player is rebuffering, in + milliseconds.
      +
      +
      setTargetLiveOffsetOverrideUs(long) - Method in class com.google.android.exoplayer2.DefaultLivePlaybackSpeedControl
      +
       
      +
      setTargetLiveOffsetOverrideUs(long) - Method in interface com.google.android.exoplayer2.LivePlaybackSpeedControl
      +
      +
      Sets the target live offset in microseconds that overrides the live offset configured by the media.
      +
      +
      setTargetTagName(String) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setTargetVoice(String) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setText(CharSequence) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the cue text.
      +
      +
      setTextAlignment(Layout.Alignment) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the alignment of the cue text within the cue box.
      +
      +
      setTextSize(float, int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the default text size and type for this cue's text.
      +
      +
      setTheme(int) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets the resource ID of the theme used to inflate this dialog.
      +
      +
      setThrowsWhenUsingWrongThread(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Sets whether the player should throw an IllegalStateException when methods are called + from a thread other than the one associated with SimpleExoPlayer.getApplicationLooper().
      +
      +
      setTimeBarMinUpdateInterval(int) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets the minimum interval between time bar position updates.
      +
      +
      setTimeBarMinUpdateInterval(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets the minimum interval between time bar position updates.
      +
      +
      setTimeline(Timeline) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Sets a Timeline to be used by a FakeMediaSource in the test runner.
      +
      +
      setTimestampAdjuster(TimestampAdjuster) - Method in class com.google.android.exoplayer2.source.mediaparser.OutputConsumerAdapterV30
      +
      +
      Sets a TimestampAdjuster for adjusting the timestamps of the output samples.
      +
      +
      setTitle(String) - Method in class com.google.android.exoplayer2.MediaMetadata.Builder
      +
      +
      Sets the optional title.
      +
      +
      setTrackFormatComparator(Comparator<Format>) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets a Comparator used to determine the display order of the tracks within each track + group.
      +
      +
      setTrackId(String) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      +
      Sets an optional track id to be used.
      +
      +
      setTrackNameProvider(TrackNameProvider) - Method in class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Sets the TrackNameProvider used to generate the user visible name of each track and + updates the view with track names queried from the specified provider.
      +
      +
      setTrackNameProvider(TrackNameProvider) - Method in class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Sets the TrackNameProvider used to generate the user visible name of each track and + updates the view with track names queried from the specified provider.
      +
      +
      setTrackSelector(DefaultTrackSelector) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setTrackSelector(DefaultTrackSelector) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      + +
      +
      setTrackSelector(TrackSelector) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets the TrackSelector that will be used by the player.
      +
      +
      setTrackSelector(TrackSelector) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the TrackSelector that will be used by the player.
      +
      +
      setTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets the TransferListener that will be used.
      +
      +
      setTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      +
      Sets the TransferListener that will be used.
      +
      +
      setTransferListener(TransferListener) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets the TransferListener that will be used.
      +
      +
      setTreatLoadErrorsAsEndOfStream(boolean) - Method in class com.google.android.exoplayer2.source.SingleSampleMediaSource.Factory
      +
      +
      Sets whether load errors will be treated as end-of-stream signal (load errors will not be + propagated).
      +
      +
      setTrustedPackageNames(List<String>) - Method in class com.google.android.exoplayer2.ext.media2.SessionCallbackBuilder.DefaultAllowedCommandProvider
      +
      +
      Sets the package names from which the session will accept incoming connections.
      +
      +
      setTsExtractorFlags(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets flags for DefaultTsPayloadReaderFactorys used by TsExtractor instances + created by the factory.
      +
      +
      setTsExtractorMode(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets the mode for TsExtractor instances created by the factory.
      +
      +
      setTsExtractorTimestampSearchBytes(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorsFactory
      +
      +
      Sets the number of bytes searched to find a timestamp for TsExtractor instances created + by the factory.
      +
      +
      setTunnelingEnabled(boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets whether to enable tunneling if possible.
      +
      +
      setType(int) - Method in class com.google.android.exoplayer2.PlayerMessage
      +
      +
      Sets the message type forwarded to PlayerMessage.Target.handleMessage(int, Object).
      +
      +
      setUnderline(boolean) - Method in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      setUnplayedColor(int) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Sets the color for the portion of the time bar after the current played position.
      +
      +
      setUpdateTimeMs(long) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setUpstreamDataSourceFactory(DataSource.Factory) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the DataSource.Factory for upstream DataSources, which are + used to read data in the case of a cache miss.
      +
      +
      setUpstreamFormatChangeListener(SampleQueue.UpstreamFormatChangedListener) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Sets a listener to be notified of changes to the upstream format.
      +
      +
      setUpstreamPriority(int) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets the priority to use when requesting data from upstream.
      +
      +
      setUpstreamPriorityTaskManager(PriorityTaskManager) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSource.Factory
      +
      +
      Sets an optional PriorityTaskManager to use when requesting data from upstream.
      +
      +
      setUri(Uri) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional URI.
      +
      +
      setUri(Uri) - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest.TestResource.Builder
      +
      +
      Sets the URI where this resource is located.
      +
      +
      setUri(Uri) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setUri(Uri) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setUri(String) - Method in class com.google.android.exoplayer2.MediaItem.Builder
      +
      +
      Sets the optional URI.
      +
      +
      setUri(String) - Method in class com.google.android.exoplayer2.testutil.DownloadBuilder
      +
       
      +
      setUri(String) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setUriPositionOffset(long) - Method in class com.google.android.exoplayer2.upstream.DataSpec.Builder
      +
      + +
      +
      setUsage(int) - Method in class com.google.android.exoplayer2.audio.AudioAttributes.Builder
      +
       
      +
      setUseArtwork(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether artwork is displayed if present in the media.
      +
      +
      setUseArtwork(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether artwork is displayed if present in the media.
      +
      +
      setUseChronometer(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the elapsed time of the media playback should be displayed.
      +
      +
      setUseController(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether the playback controls can be shown.
      +
      +
      setUseController(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether the playback controls can be shown.
      +
      +
      setUseDrmSessionsForClearContent(int...) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets whether this session manager should attach DrmSessions to the clear + sections of the media content.
      +
      +
      setUseLazyPreparation(boolean) - Method in class com.google.android.exoplayer2.ExoPlayer.Builder
      +
      +
      Sets whether media sources should be initialized lazily.
      +
      +
      setUseLazyPreparation(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets whether media sources should be initialized lazily.
      +
      +
      setUseLazyPreparation(boolean) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
       
      +
      setUseLazyPreparation(boolean) - Method in class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
      +
      Sets whether to use lazy preparation.
      +
      +
      setUseNavigationActions(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setUseNavigationActionsInCompactView(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      + +
      +
      setUseNextAction(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the next action should be used.
      +
      +
      setUseNextActionInCompactView(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      If useNextAction is true, sets whether the next action should + also be used in compact view.
      +
      +
      setUsePlayPauseActions(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the play and pause actions should be used.
      +
      +
      setUsePreviousAction(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the previous action should be used.
      +
      +
      setUsePreviousActionInCompactView(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      If usePreviousAction is true, sets whether the previous + action should also be used in compact view.
      +
      +
      setUserAgent(String) - Method in class com.google.android.exoplayer2.ext.cronet.CronetDataSource.Factory
      +
      +
      Sets the user agent that will be used.
      +
      +
      setUserAgent(String) - Method in class com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.Factory
      +
      +
      Sets the user agent that will be used.
      +
      +
      setUserAgent(String) - Method in class com.google.android.exoplayer2.upstream.DefaultHttpDataSource.Factory
      +
      +
      Sets the user agent that will be used.
      +
      +
      setUserDefaultStyle() - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Styles the captions using CaptioningManager.getUserStyle() if CaptioningManager + is available and enabled.
      +
      +
      setUserDefaultTextSize() - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Sets the text size based on CaptioningManager.getFontScale() if CaptioningManager is available and enabled.
      +
      +
      setUseSensorRotation(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Sets whether to use the orientation sensor for rotation during spherical playbacks (if + available)
      +
      +
      setUseSensorRotation(boolean) - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
      +
      Sets whether to use the orientation sensor for rotation (if available).
      +
      +
      setUseSensorRotation(boolean) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Sets whether to use the orientation sensor for rotation during spherical playbacks (if + available)
      +
      +
      setUseSessionKeys(boolean) - Method in class com.google.android.exoplayer2.source.hls.HlsMediaSource.Factory
      +
      +
      Sets whether to use #EXT-X-SESSION-KEY tags provided in the master playlist.
      +
      +
      setUseStopAction(boolean) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets whether the stop action should be used.
      +
      +
      setUuidAndExoMediaDrmProvider(UUID, ExoMediaDrm.Provider) - Method in class com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder
      +
      +
      Sets the UUID of the DRM scheme and the ExoMediaDrm.Provider to use.
      +
      +
      setVastLoadTimeoutMs(int) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets the VAST load timeout, in milliseconds.
      +
      +
      setVersion(SQLiteDatabase, int, String, int) - Static method in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Sets the version of a specified instance of a specified feature.
      +
      +
      setVerticalType(int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the vertical formatting for this Cue.
      +
      +
      setVideoAdPlayerCallback(VideoAdPlayer.VideoAdPlayerCallback) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader.Builder
      +
      +
      Sets a callback to receive video ad player events.
      +
      +
      setVideoComponent(Player.VideoComponent) - Method in class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
      +
      Sets the Player.VideoComponent to use.
      +
      +
      setVideoFrameMetadataListener(VideoFrameMetadataListener) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets a listener to receive video frame metadata events.
      +
      +
      setVideoFrameMetadataListener(VideoFrameMetadataListener) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setVideoScalingMode(int) - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Specifies the scaling mode to use, if a surface has been specified in a previous call to MediaCodecAdapter.configure(android.media.MediaFormat, android.view.Surface, android.media.MediaCrypto, int).
      +
      +
      setVideoScalingMode(int) - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      setVideoScalingMode(int) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      + +
      +
      setVideoScalingMode(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the C.VideoScalingMode that will be used by the player.
      +
      +
      setVideoScalingMode(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Sets the video scaling mode.
      +
      +
      setVideoSurface() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a set video surface action.
      +
      +
      setVideoSurface(Surface) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets the Surface onto which video will be rendered.
      +
      +
      setVideoSurface(Surface) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      SetVideoSurface(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.SetVideoSurface
      +
       
      +
      setVideoSurfaceHolder(SurfaceHolder) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets the SurfaceHolder that holds the Surface onto which video will be + rendered.
      +
      +
      setVideoSurfaceHolder(SurfaceHolder) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setVideoSurfaceView(SurfaceView) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets the SurfaceView onto which video will be rendered.
      +
      +
      setVideoSurfaceView(SurfaceView) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setVideoTextureView(TextureView) - Method in interface com.google.android.exoplayer2.Player.VideoComponent
      +
      +
      Sets the TextureView onto which video will be rendered.
      +
      +
      setVideoTextureView(TextureView) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setViewportSize(int, int, boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      +
      Sets the viewport size to constrain adaptive video selections so that only tracks suitable + for the viewport are selected.
      +
      +
      setViewportSizeToPhysicalDisplaySize(Context, boolean) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.ParametersBuilder
      +
      + +
      +
      setViewType(int) - Method in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Set the type of View used to display subtitles.
      +
      +
      setVisibility(int) - Method in class com.google.android.exoplayer2.ui.PlayerNotificationManager
      +
      +
      Sets the visibility of the notification which determines whether and how the notification is + shown when the device is in lock screen mode.
      +
      +
      setVisibility(int) - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
       
      +
      setVisibility(int) - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      setVolume(float) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Sets the playback volume.
      +
      +
      setVolume(float) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      setVolume(float) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      setVolume(float) - Method in interface com.google.android.exoplayer2.Player.AudioComponent
      +
      +
      Sets the audio volume, with 0 being silence and 1 being unity gain.
      +
      +
      setVolume(float) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      setVrButtonListener(View.OnClickListener) - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Sets listener for the VR button.
      +
      +
      setVrButtonListener(View.OnClickListener) - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Sets listener for the VR button.
      +
      +
      setWakeMode(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer.Builder
      +
      +
      Sets the C.WakeMode that will be used by the player.
      +
      +
      setWakeMode(int) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Sets how the player should keep the device awake for playback when the screen is off.
      +
      +
      setWidth(int) - Method in class com.google.android.exoplayer2.Format.Builder
      +
      + +
      +
      setWindowColor(int) - Method in class com.google.android.exoplayer2.text.Cue.Builder
      +
      +
      Sets the fill color of the window.
      +
      +
      ShadowMediaCodecConfig - Class in com.google.android.exoplayer2.robolectric
      +
      +
      A JUnit @Rule to configure Roboelectric's ShadowMediaCodec.
      +
      +
      ShadowMediaCodecConfig() - Constructor for class com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
      +
       
      +
      sharedInitializeOrWait(boolean, long) - Method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      For shared timestamp adjusters, performs necessary initialization actions for a caller.
      +
      +
      shearDegrees - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The shear angle in degrees to be applied to this Cue, expressed in graphics coordinates.
      +
      +
      shouldCancelChunkLoad(long, Chunk, List<? extends MediaChunk>) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Returns whether an ongoing load of a chunk should be canceled.
      +
      +
      shouldCancelLoad(long, Chunk, List<? extends MediaChunk>) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkSource
      +
      +
      Returns whether an ongoing load of a chunk should be canceled.
      +
      +
      shouldCancelLoad(long, Chunk, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      shouldCancelLoad(long, Chunk, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      shouldCancelLoad(long, Chunk, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.testutil.FakeChunkSource
      +
       
      +
      shouldContinueLoading(long, long, float) - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      shouldContinueLoading(long, long, float) - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called by the player to determine whether it should continue to load the source.
      +
      +
      shouldDropBuffersToKeyframe(long, long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Returns whether to drop all buffers from the buffer being processed to the keyframe at or after + the current playback position, if possible.
      +
      +
      shouldDropBuffersToKeyframe(long, long, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns whether to drop all buffers from the buffer being processed to the keyframe at or after + the current playback position, if possible.
      +
      +
      shouldDropOutputBuffer(long, long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Returns whether the buffer being processed should be dropped.
      +
      +
      shouldDropOutputBuffer(long, long, boolean) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns whether the buffer being processed should be dropped.
      +
      +
      shouldEvaluateQueueSize(long, List<? extends MediaChunk>) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
      +
      Called from AdaptiveTrackSelection.evaluateQueueSize(long, List) to determine whether an evaluation should be + performed.
      +
      +
      shouldForceRenderOutputBuffer(long, long) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Returns whether to force rendering an output buffer.
      +
      +
      shouldForceRenderOutputBuffer(long, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Returns whether to force rendering an output buffer.
      +
      +
      shouldInitCodec(MediaCodecInfo) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      shouldInitCodec(MediaCodecInfo) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      shouldProcessBuffer(long, long) - Method in class com.google.android.exoplayer2.testutil.FakeAudioRenderer
      +
       
      +
      shouldProcessBuffer(long, long) - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
      +
      Called before the renderer processes a buffer.
      +
      +
      shouldProcessBuffer(long, long) - Method in class com.google.android.exoplayer2.testutil.FakeVideoRenderer
      +
       
      +
      shouldStartPlayback(long, float, boolean, long) - Method in class com.google.android.exoplayer2.DefaultLoadControl
      +
       
      +
      shouldStartPlayback(long, float, boolean, long) - Method in interface com.google.android.exoplayer2.LoadControl
      +
      +
      Called repeatedly by the player when it's loading the source, has yet to start playback, and + has the minimum amount of data necessary for playback to be started.
      +
      +
      shouldUseBypass(Format) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      shouldUseBypass(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns whether buffers in the input format can be processed without a codec.
      +
      +
      show() - Method in class com.google.android.exoplayer2.ui.PlayerControlView
      +
      +
      Shows the playback controls.
      +
      +
      show() - Method in class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
      +
      Shows the playback controls.
      +
      +
      SHOW_BUFFERING_ALWAYS - Static variable in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      The buffering view is always shown when the player is in the buffering state.
      +
      +
      SHOW_BUFFERING_ALWAYS - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      The buffering view is always shown when the player is in the buffering state.
      +
      +
      SHOW_BUFFERING_NEVER - Static variable in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      The buffering view is never shown.
      +
      +
      SHOW_BUFFERING_NEVER - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      The buffering view is never shown.
      +
      +
      SHOW_BUFFERING_WHEN_PLAYING - Static variable in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      The buffering view is shown when the player is in the buffering + state and playWhenReady is true.
      +
      +
      SHOW_BUFFERING_WHEN_PLAYING - Static variable in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      The buffering view is shown when the player is in the buffering + state and playWhenReady is true.
      +
      +
      showController() - Method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Shows the playback controls.
      +
      +
      showController() - Method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Shows the playback controls.
      +
      +
      showScrubber() - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Shows the scrubber handle.
      +
      +
      showScrubber(long) - Method in class com.google.android.exoplayer2.ui.DefaultTimeBar
      +
      +
      Shows the scrubber handle with animation.
      +
      +
      ShuffleOrder - Interface in com.google.android.exoplayer2.source
      +
      +
      Shuffled order of indices.
      +
      +
      ShuffleOrder.DefaultShuffleOrder - Class in com.google.android.exoplayer2.source
      +
      +
      The default ShuffleOrder implementation for random shuffle order.
      +
      +
      ShuffleOrder.UnshuffledShuffleOrder - Class in com.google.android.exoplayer2.source
      +
      +
      A ShuffleOrder implementation which does not shuffle.
      +
      +
      SilenceMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Media source with a single period consisting of silent raw audio of a given duration.
      +
      +
      SilenceMediaSource(long) - Constructor for class com.google.android.exoplayer2.source.SilenceMediaSource
      +
      +
      Creates a new media source providing silent audio of the given duration.
      +
      +
      SilenceMediaSource.Factory - Class in com.google.android.exoplayer2.source
      +
      +
      Factory for SilenceMediaSources.
      +
      +
      SilenceSkippingAudioProcessor - Class in com.google.android.exoplayer2.audio
      +
      +
      An AudioProcessor that skips silence in the input stream.
      +
      +
      SilenceSkippingAudioProcessor() - Constructor for class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      Creates a new silence skipping audio processor.
      +
      +
      SilenceSkippingAudioProcessor(long, long, short) - Constructor for class com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor
      +
      +
      Creates a new silence skipping audio processor.
      +
      +
      SimpleCache - Class in com.google.android.exoplayer2.upstream.cache
      +
      +
      A Cache implementation that maintains an in-memory representation.
      +
      +
      SimpleCache(File, CacheEvictor) - Constructor for class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Deprecated. +
      Use a constructor that takes a DatabaseProvider for improved performance.
      +
      +
      +
      SimpleCache(File, CacheEvictor, byte[]) - Constructor for class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Deprecated. +
      Use a constructor that takes a DatabaseProvider for improved performance.
      +
      +
      +
      SimpleCache(File, CacheEvictor, byte[], boolean) - Constructor for class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Deprecated. +
      Use a constructor that takes a DatabaseProvider for improved performance.
      +
      +
      +
      SimpleCache(File, CacheEvictor, DatabaseProvider) - Constructor for class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Constructs the cache.
      +
      +
      SimpleCache(File, CacheEvictor, DatabaseProvider, byte[], boolean, boolean) - Constructor for class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
      +
      Constructs the cache.
      +
      +
      SimpleDecoder<I extends DecoderInputBuffer,O extends OutputBuffer,E extends DecoderException> - Class in com.google.android.exoplayer2.decoder
      +
      +
      Base class for Decoders that use their own decode thread and decode each input buffer + immediately into a corresponding output buffer.
      +
      +
      SimpleDecoder(I[], O[]) - Constructor for class com.google.android.exoplayer2.decoder.SimpleDecoder
      +
       
      +
      SimpleExoPlayer - Class in com.google.android.exoplayer2
      +
      +
      An ExoPlayer implementation that uses default Renderer components.
      +
      +
      SimpleExoPlayer(Context, RenderersFactory, TrackSelector, MediaSourceFactory, LoadControl, BandwidthMeter, AnalyticsCollector, boolean, Clock, Looper) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer
      +
      +
      Deprecated. + +
      +
      +
      SimpleExoPlayer(SimpleExoPlayer.Builder) - Constructor for class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      SimpleExoPlayer.Builder - Class in com.google.android.exoplayer2
      +
      +
      A builder for SimpleExoPlayer instances.
      +
      +
      SimpleMetadataDecoder - Class in com.google.android.exoplayer2.metadata
      +
      +
      A MetadataDecoder base class that validates input buffers and discards any for which + Buffer.isDecodeOnly() is true.
      +
      +
      SimpleMetadataDecoder() - Constructor for class com.google.android.exoplayer2.metadata.SimpleMetadataDecoder
      +
       
      +
      SimpleOutputBuffer - Class in com.google.android.exoplayer2.decoder
      +
      +
      Buffer for SimpleDecoder output.
      +
      +
      SimpleOutputBuffer(OutputBuffer.Owner<SimpleOutputBuffer>) - Constructor for class com.google.android.exoplayer2.decoder.SimpleOutputBuffer
      +
       
      +
      SimpleSubtitleDecoder - Class in com.google.android.exoplayer2.text
      +
      +
      Base class for subtitle parsers that use their own decode thread.
      +
      +
      SimpleSubtitleDecoder(String) - Constructor for class com.google.android.exoplayer2.text.SimpleSubtitleDecoder
      +
       
      +
      SimulatedIOException(String) - Constructor for exception com.google.android.exoplayer2.testutil.FakeExtractorInput.SimulatedIOException
      +
       
      +
      simulateIOErrors - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
      +
      +
      Whether to simulate IO errors.
      +
      +
      simulatePartialReads - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
      +
      +
      Whether to simulate partial reads.
      +
      +
      simulateUnknownLength - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
      +
      +
      Whether to simulate unknown input length.
      +
      +
      SINGLE_WINDOW_UID - Static variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      A Timeline.Window.uid for a window that must be used for single-window Timelines.
      +
      +
      singleMesh - Variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Whether the left and right mesh are identical.
      +
      +
      SinglePeriodAdTimeline - Class in com.google.android.exoplayer2.source.ads
      +
      +
      A Timeline for sources that have ads.
      +
      +
      SinglePeriodAdTimeline(Timeline, AdPlaybackState) - Constructor for class com.google.android.exoplayer2.source.ads.SinglePeriodAdTimeline
      +
      +
      Creates a new timeline with a single period containing ads.
      +
      +
      SinglePeriodTimeline - Class in com.google.android.exoplayer2.source
      +
      +
      A Timeline consisting of a single period and static window.
      +
      +
      SinglePeriodTimeline(long, boolean, boolean, boolean, Object, MediaItem) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      +
      Creates a timeline containing a single period and a window that spans it.
      +
      +
      SinglePeriodTimeline(long, boolean, boolean, boolean, Object, Object) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      + +
      +
      SinglePeriodTimeline(long, long, long, long, boolean, boolean, boolean, Object, MediaItem) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      +
      Creates a timeline with one period, and a window of known duration starting at a specified + position in the period.
      +
      +
      SinglePeriodTimeline(long, long, long, long, boolean, boolean, boolean, Object, Object) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      + +
      +
      SinglePeriodTimeline(long, long, long, long, long, long, long, boolean, boolean, boolean, Object, Object) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      + +
      +
      SinglePeriodTimeline(long, long, long, long, long, long, long, boolean, boolean, Object, MediaItem, MediaItem.LiveConfiguration) - Constructor for class com.google.android.exoplayer2.source.SinglePeriodTimeline
      +
      +
      Creates a timeline with one period, and a window of known duration starting at a specified + position in the period.
      +
      +
      SingleSampleMediaChunk - Class in com.google.android.exoplayer2.source.chunk
      +
      +
      A BaseMediaChunk for chunks consisting of a single raw sample.
      +
      +
      SingleSampleMediaChunk(DataSource, DataSpec, Format, int, Object, long, long, long, int, Format) - Constructor for class com.google.android.exoplayer2.source.chunk.SingleSampleMediaChunk
      +
       
      +
      SingleSampleMediaSource - Class in com.google.android.exoplayer2.source
      +
      +
      Loads data at a given Uri as a single sample belonging to a single MediaPeriod.
      +
      +
      SingleSampleMediaSource.Factory - Class in com.google.android.exoplayer2.source
      +
      + +
      +
      singleSampleWithTimeUs(long) - Static method in interface com.google.android.exoplayer2.testutil.FakeMediaPeriod.TrackDataFactory
      +
      +
      Returns a factory that always provides a single keyframe sample with + time=sampleTimeUs and then end-of-stream.
      +
      +
      SingleSegmentBase() - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SingleSegmentBase
      +
       
      +
      SingleSegmentBase(RangedUri, long, long, long, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.SegmentBase.SingleSegmentBase
      +
       
      +
      SingleSegmentRepresentation(long, Format, String, SegmentBase.SingleSegmentBase, List<Descriptor>, String, long) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
       
      +
      SingleTapListener - Interface in com.google.android.exoplayer2.ui.spherical
      +
      +
      Listens tap events on a View.
      +
      +
      SINK_FORMAT_SUPPORTED_DIRECTLY - Static variable in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      The sink supports the format directly, without the need for internal transcoding.
      +
      +
      SINK_FORMAT_SUPPORTED_WITH_TRANSCODING - Static variable in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      The sink supports the format, but needs to transcode it internally to do so.
      +
      +
      SINK_FORMAT_UNSUPPORTED - Static variable in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      The sink does not support the format.
      +
      +
      sinkSupportsFormat(Format) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Returns whether the renderer's AudioSink supports a given Format.
      +
      +
      size - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The size of the cue box in the writing direction specified as a fraction of the viewport size + in that direction, or Cue.DIMEN_UNSET.
      +
      +
      size() - Method in class com.google.android.exoplayer2.util.IntArrayQueue
      +
      +
      Returns the number of items in the queue.
      +
      +
      size() - Method in class com.google.android.exoplayer2.util.LongArray
      +
      +
      Returns the current size of the array.
      +
      +
      size() - Method in class com.google.android.exoplayer2.util.MutableFlags
      +
      +
      Returns the number of flags in this set.
      +
      +
      size() - Method in class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Returns number of the values buffered.
      +
      +
      sizes - Variable in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      The chunk sizes, in bytes.
      +
      +
      skip(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      skip(int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Like ExtractorInput.read(byte[], int, int), except the data is skipped instead of read.
      +
      +
      skip(int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      skip(int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Advances the read position by the specified number of samples.
      +
      +
      skip(int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      skipAd() - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
      +
      Skips the current ad.
      +
      +
      skipBit() - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Skips a single bit.
      +
      +
      skipBit() - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Skips a single bit.
      +
      +
      skipBits(int) - Method in class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Skips numberOfBits bits.
      +
      +
      skipBits(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Skips bits and moves current reading position forward.
      +
      +
      skipBits(int) - Method in class com.google.android.exoplayer2.util.ParsableNalUnitBitArray
      +
      +
      Skips bits and moves current reading position forward.
      +
      +
      skipBytes(int) - Method in class com.google.android.exoplayer2.util.ParsableBitArray
      +
      +
      Skips the next length bytes.
      +
      +
      skipBytes(int) - Method in class com.google.android.exoplayer2.util.ParsableByteArray
      +
      +
      Moves the reading offset by bytes.
      +
      +
      skipData(long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream.EmbeddedSampleStream
      +
       
      +
      skipData(long) - Method in class com.google.android.exoplayer2.source.chunk.ChunkSampleStream
      +
       
      +
      skipData(long) - Method in class com.google.android.exoplayer2.source.EmptySampleStream
      +
       
      +
      skipData(long) - Method in interface com.google.android.exoplayer2.source.SampleStream
      +
      +
      Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
      +
      +
      skipData(long) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
       
      +
      skipFully(int) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      skipFully(int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Like ExtractorInput.readFully(byte[], int, int), except the data is skipped instead of read.
      +
      +
      skipFully(int) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      skipFully(int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      skipFully(int, boolean) - Method in class com.google.android.exoplayer2.extractor.DefaultExtractorInput
      +
       
      +
      skipFully(int, boolean) - Method in interface com.google.android.exoplayer2.extractor.ExtractorInput
      +
      +
      Like ExtractorInput.readFully(byte[], int, int, boolean), except the data is skipped instead of read.
      +
      +
      skipFully(int, boolean) - Method in class com.google.android.exoplayer2.extractor.ForwardingExtractorInput
      +
       
      +
      skipFully(int, boolean) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorInput
      +
       
      +
      skipInputUntilPosition(ExtractorInput, long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      skipOutputBuffer(MediaCodecAdapter, int, long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Skips the output buffer with the specified index.
      +
      +
      skipOutputBuffer(VideoDecoderOutputBuffer) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Skips the specified output buffer and releases it.
      +
      +
      skippedInputBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of skipped input buffers.
      +
      +
      skippedOutputBufferCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of skipped output buffers.
      +
      +
      skippedOutputBufferCount - Variable in class com.google.android.exoplayer2.decoder.OutputBuffer
      +
      +
      The number of buffers immediately prior to this one that were skipped in the Decoder.
      +
      +
      skipSettingMediaSources() - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner.Builder
      +
      +
      Skips calling ExoPlayer.setMediaSources(List) before + preparing.
      +
      +
      skipSilenceEnabledChanged(boolean) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      skipSource(long) - Method in class com.google.android.exoplayer2.BaseRenderer
      +
      +
      Attempts to skip to the keyframe before the specified position, or to the end of the stream if + positionUs is beyond it.
      +
      +
      skipToNextPlaylistItem() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      skipToPlaylistItem(int) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      skipToPreviousPlaylistItem() - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      skipUntilUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.ServerControl
      +
      +
      The skip boundary for delta updates in microseconds, or C.TIME_UNSET if delta updates + are not supported.
      +
      +
      sleep(long) - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
       
      +
      sleep(long) - Method in interface com.google.android.exoplayer2.util.Clock
      +
       
      +
      sleep(long) - Method in class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      SlidingPercentile - Class in com.google.android.exoplayer2.util
      +
      +
      Calculate any percentile over a sliding window of weighted values.
      +
      +
      SlidingPercentile(int) - Constructor for class com.google.android.exoplayer2.util.SlidingPercentile
      +
       
      +
      SlowMotionData - Class in com.google.android.exoplayer2.metadata.mp4
      +
      +
      Holds information about the segments of slow motion playback within a track.
      +
      +
      SlowMotionData(List<SlowMotionData.Segment>) - Constructor for class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
      +
      Creates an instance with a list of SlowMotionData.Segments.
      +
      +
      SlowMotionData.Segment - Class in com.google.android.exoplayer2.metadata.mp4
      +
      +
      Holds information about a single segment of slow motion playback within a track.
      +
      +
      SmtaMetadataEntry - Class in com.google.android.exoplayer2.metadata.mp4
      +
      +
      Stores metadata from the Samsung smta box.
      +
      +
      SmtaMetadataEntry(float, int) - Constructor for class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
      +
      Creates an instance.
      +
      +
      sneakyThrow(Throwable) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      A hacky method that always throws t even if t is a checked exception, + and is not declared to be thrown.
      +
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.ext.flac.FlacExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.amr.AmrExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in interface com.google.android.exoplayer2.extractor.Extractor
      +
      +
      Returns whether this extractor can extract samples from the ExtractorInput, which must + provide data from the start of the stream.
      +
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.flac.FlacExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.flv.FlvExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.jpeg.JpegExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.mp3.Mp3Extractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.mp4.Mp4Extractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ogg.OggExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.rawcc.RawCcExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ts.Ac3Extractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ts.Ac4Extractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ts.AdtsExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      sniff(ExtractorInput) - Method in class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      sniffFirst - Variable in class com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
      +
      +
      Whether to sniff the data by calling Extractor.sniff(ExtractorInput) prior to + consuming it.
      +
      +
      SntpClient - Class in com.google.android.exoplayer2.util
      +
      +
      Static utility to retrieve the device time offset using SNTP.
      +
      +
      SntpClient.InitializationCallback - Interface in com.google.android.exoplayer2.util
      +
      + +
      +
      softwareOnly - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the codec is software only.
      +
      +
      SonicAudioProcessor - Class in com.google.android.exoplayer2.audio
      +
      +
      An AudioProcessor that uses the Sonic library to modify audio speed/pitch/sample rate.
      +
      +
      SonicAudioProcessor() - Constructor for class com.google.android.exoplayer2.audio.SonicAudioProcessor
      +
      +
      Creates a new Sonic audio processor.
      +
      +
      source - Variable in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
      +
      Information about the original source of the media presentation.
      +
      +
      SOURCE_GMS - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Cronet implementation from GMSCore.
      +
      +
      SOURCE_NATIVE - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Natively bundled Cronet implementation.
      +
      +
      SOURCE_UNAVAILABLE - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      No Cronet implementation available.
      +
      +
      SOURCE_UNKNOWN - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      Other (unknown) Cronet implementation.
      +
      +
      SOURCE_USER_PROVIDED - Static variable in class com.google.android.exoplayer2.ext.cronet.CronetEngineWrapper
      +
      +
      User-provided Cronet engine.
      +
      +
      sourceId(int) - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Sets a source identifier for subsequent samples.
      +
      +
      spanned() - Static method in class com.google.android.exoplayer2.testutil.truth.SpannedSubject
      +
       
      +
      SpannedSubject - Class in com.google.android.exoplayer2.testutil.truth
      +
      +
      A Truth Subject for assertions on Spanned instances containing text styling.
      +
      +
      SpannedSubject.AbsoluteSized - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about the absolute size of a span.
      +
      +
      SpannedSubject.Aligned - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about the alignment of a span.
      +
      +
      SpannedSubject.AndSpanFlags - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows additional assertions to be made on the flags of matching spans.
      +
      +
      SpannedSubject.Colored - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about the color of a span.
      +
      +
      SpannedSubject.EmphasizedText - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about a span's text emphasis mark and its position.
      +
      +
      SpannedSubject.RelativeSized - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about the relative size of a span.
      +
      +
      SpannedSubject.RubyText - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about a span's ruby text and its position.
      +
      +
      SpannedSubject.Typefaced - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows assertions about the typeface of a span.
      +
      +
      SpannedSubject.WithSpanFlags - Interface in com.google.android.exoplayer2.testutil.truth
      +
      +
      Allows additional assertions to be made on the flags of matching spans.
      +
      +
      SpanUtil - Class in com.google.android.exoplayer2.text.span
      +
      +
      Utility methods for Android span + styling.
      +
      +
      speed - Variable in class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      The factor by which playback will be sped up.
      +
      +
      speedDivisor - Variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
      +
      The speed reduction factor.
      +
      +
      SphericalGLSurfaceView - Class in com.google.android.exoplayer2.ui.spherical
      +
      +
      Renders a GL scene in a non-VR Activity that is affected by phone orientation and touch input.
      +
      +
      SphericalGLSurfaceView(Context) - Constructor for class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
       
      +
      SphericalGLSurfaceView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView
      +
       
      +
      splice() - Method in class com.google.android.exoplayer2.source.SampleQueue
      +
      +
      Indicates samples that are subsequently queued should be spliced into those already queued.
      +
      +
      SpliceCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Superclass for SCTE35 splice commands.
      +
      +
      SpliceCommand() - Constructor for class com.google.android.exoplayer2.metadata.scte35.SpliceCommand
      +
       
      +
      spliceEventCancelIndicator - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      True if the event with id SpliceInsertCommand.spliceEventId has been canceled.
      +
      +
      spliceEventCancelIndicator - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      True if the event with id SpliceScheduleCommand.Event.spliceEventId has been canceled.
      +
      +
      spliceEventId - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      The splice event id.
      +
      +
      spliceEventId - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      The splice event id.
      +
      +
      spliceImmediateFlag - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      Whether splicing should be done at the nearest opportunity.
      +
      +
      SpliceInfoDecoder - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Decodes splice info sections and produces splice commands.
      +
      +
      SpliceInfoDecoder() - Constructor for class com.google.android.exoplayer2.metadata.scte35.SpliceInfoDecoder
      +
       
      +
      SpliceInsertCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a splice insert command defined in SCTE35, Section 9.3.3.
      +
      +
      SpliceInsertCommand.ComponentSplice - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Holds splicing information for specific splice insert command components.
      +
      +
      SpliceNullCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a splice null command as defined in SCTE35, Section 9.3.1.
      +
      +
      SpliceNullCommand() - Constructor for class com.google.android.exoplayer2.metadata.scte35.SpliceNullCommand
      +
       
      +
      SpliceScheduleCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a splice schedule command as defined in SCTE35, Section 9.3.2.
      +
      +
      SpliceScheduleCommand.ComponentSplice - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Holds splicing information for specific splice schedule command components.
      +
      +
      SpliceScheduleCommand.Event - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a splice event as contained in a SpliceScheduleCommand.
      +
      +
      split(String, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Splits a string using value.split(regex, -1).
      +
      +
      splitAtFirst(String, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Splits the string at the first occurrence of the delimiter regex.
      +
      +
      splitCodecs(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Splits a codecs sequence string, as defined in RFC 6381, into individual codec strings.
      +
      +
      splitNalUnits(byte[]) - Static method in class com.google.android.exoplayer2.util.CodecSpecificDataUtil
      +
      +
      Splits an array of NAL units.
      +
      +
      SpsData(int, int, int, int, int, int, float, boolean, boolean, int, int, int, boolean) - Constructor for class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      SsaDecoder - Class in com.google.android.exoplayer2.text.ssa
      +
      +
      A SimpleSubtitleDecoder for SSA/ASS.
      +
      +
      SsaDecoder() - Constructor for class com.google.android.exoplayer2.text.ssa.SsaDecoder
      +
       
      +
      SsaDecoder(List<byte[]>) - Constructor for class com.google.android.exoplayer2.text.ssa.SsaDecoder
      +
      +
      Constructs an SsaDecoder with optional format and header info.
      +
      +
      SsChunkSource - Interface in com.google.android.exoplayer2.source.smoothstreaming
      +
      +
      A ChunkSource for SmoothStreaming.
      +
      +
      SsChunkSource.Factory - Interface in com.google.android.exoplayer2.source.smoothstreaming
      +
      +
      Factory for SsChunkSources.
      +
      +
      SsDownloader - Class in com.google.android.exoplayer2.source.smoothstreaming.offline
      +
      +
      A downloader for SmoothStreaming streams.
      +
      +
      SsDownloader(Uri, List<StreamKey>, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
      + +
      +
      SsDownloader(Uri, List<StreamKey>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
      + +
      +
      SsDownloader(MediaItem, CacheDataSource.Factory) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
      +
      Creates an instance.
      +
      +
      SsDownloader(MediaItem, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
      +
      Creates an instance.
      +
      +
      SsDownloader(MediaItem, ParsingLoadable.Parser<SsManifest>, CacheDataSource.Factory, Executor) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
      +
      +
      Creates a new instance.
      +
      +
      SsManifest - Class in com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
      +
      Represents a SmoothStreaming manifest.
      +
      +
      SsManifest(int, int, long, long, long, int, boolean, SsManifest.ProtectionElement, SsManifest.StreamElement[]) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
       
      +
      SsManifest.ProtectionElement - Class in com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
      +
      Represents a protection element containing a single header.
      +
      +
      SsManifest.StreamElement - Class in com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
      +
      Represents a StreamIndex element.
      +
      +
      SsManifestParser - Class in com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
      +
      Parses SmoothStreaming client manifests.
      +
      +
      SsManifestParser() - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifestParser
      +
       
      +
      SsManifestParser.MissingFieldException - Exception in com.google.android.exoplayer2.source.smoothstreaming.manifest
      +
      +
      Thrown if a required field is missing.
      +
      +
      SsMediaSource - Class in com.google.android.exoplayer2.source.smoothstreaming
      +
      +
      A SmoothStreaming MediaSource.
      +
      +
      SsMediaSource.Factory - Class in com.google.android.exoplayer2.source.smoothstreaming
      +
      +
      Factory for SsMediaSource.
      +
      +
      StandaloneMediaClock - Class in com.google.android.exoplayer2.util
      +
      +
      A MediaClock whose position advances with real time based on the playback parameters when + started.
      +
      +
      StandaloneMediaClock(Clock) - Constructor for class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
      +
      Creates a new standalone media clock using the given Clock implementation.
      +
      +
      start - Variable in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
      +
      The (zero based) index of the first byte of the range.
      +
      +
      start() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      start() - Method in interface com.google.android.exoplayer2.mediacodec.MediaCodecAdapter
      +
      +
      Starts this instance.
      +
      +
      start() - Method in class com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter
      +
       
      +
      start() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      start() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Starts the renderer, meaning that calls to Renderer.render(long, long) will cause media to be + rendered.
      +
      +
      start() - Method in class com.google.android.exoplayer2.scheduler.RequirementsWatcher
      +
      +
      Starts watching for changes.
      +
      +
      start() - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Starts the test runner on its own thread.
      +
      +
      start() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Starts periodic updates of the TextView.
      +
      +
      start() - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
      +
      Starts the clock.
      +
      +
      start(boolean) - Method in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      Starts the test runner on its own thread.
      +
      +
      start(Context, Class<? extends DownloadService>) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts a download service to resume any ongoing downloads.
      +
      +
      start(Uri, MediaSourceEventListener.EventDispatcher, HlsPlaylistTracker.PrimaryPlaylistListener) - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      start(Uri, MediaSourceEventListener.EventDispatcher, HlsPlaylistTracker.PrimaryPlaylistListener) - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Starts the playlist tracker.
      +
      +
      start(AdsMediaSource, DataSpec, Object, AdsLoader.AdViewProvider, AdsLoader.EventListener) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      start(AdsMediaSource, DataSpec, Object, AdsLoader.AdViewProvider, AdsLoader.EventListener) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Starts using the ads loader for playback.
      +
      +
      START - Static variable in class com.google.android.exoplayer2.extractor.SeekPoint
      +
      +
      A SeekPoint whose time and byte offset are both set to 0.
      +
      +
      startBlock(String) - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      startFile(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Obtains a cache file into which data can be written.
      +
      +
      startFile(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      startForeground(Context, Class<? extends DownloadService>) - Static method in class com.google.android.exoplayer2.offline.DownloadService
      +
      +
      Starts the service in the foreground without adding a new download request.
      +
      +
      startForegroundService(Context, Intent) - Static method in class com.google.android.exoplayer2.util.Util
      +
      + +
      +
      startLoading(T, Loader.Callback<T>, int) - Method in class com.google.android.exoplayer2.upstream.Loader
      +
      +
      Starts loading a Loader.Loadable.
      +
      +
      startMasterElement(int, long, long) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when the start of a master element is encountered.
      +
      +
      startMasterElement(int, long, long) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when the start of a master element is encountered.
      +
      +
      startMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.Period
      +
      +
      The start time of the period in milliseconds, relative to the start of the manifest.
      +
      +
      startOffset - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
      +
      The byte offset of the start of the chapter, or C.POSITION_UNSET if not set.
      +
      +
      StartOffsetExtractorOutput - Class in com.google.android.exoplayer2.extractor.jpeg
      +
      +
      An extractor output that wraps another extractor output and applies a give start byte offset to + seek positions.
      +
      +
      StartOffsetExtractorOutput(long, ExtractorOutput) - Constructor for class com.google.android.exoplayer2.extractor.jpeg.StartOffsetExtractorOutput
      +
      +
      Creates a new wrapper reading from the given start byte offset.
      +
      +
      startOffsetUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The start offset in microseconds, as defined by #EXT-X-START.
      +
      +
      startPositionMs - Variable in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
      +
      The start position in milliseconds.
      +
      +
      startReadWrite(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      A caller should invoke this method when they require data starting from a given position in a + given resource.
      +
      +
      startReadWrite(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      startReadWriteNonBlocking(String, long, long) - Method in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      + +
      +
      startReadWriteNonBlocking(String, long, long) - Method in class com.google.android.exoplayer2.upstream.cache.SimpleCache
      +
       
      +
      startsAtKeyFrame - Variable in class com.google.android.exoplayer2.MediaItem.ClippingProperties
      +
      +
      Sets whether the start point is guaranteed to be a key frame.
      +
      +
      startTimeMs - Variable in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      startTimeMs - Variable in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
      +
      The start time, in milliseconds, of the track segment that is intended to be slow motion.
      +
      +
      startTimeMs - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The first time when download entry is created.
      +
      +
      startTimeUs - Variable in class com.google.android.exoplayer2.offline.SegmentDownloader.Segment
      +
      +
      The start time of the segment in microseconds.
      +
      +
      startTimeUs - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      The start time of the media contained by the chunk, or C.TIME_UNSET if the data + being loaded does not contain media samples.
      +
      +
      startTimeUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      If HlsMediaPlaylist.hasProgramDateTime is true, contains the datetime as microseconds since epoch.
      +
      +
      startTimeUs - Variable in class com.google.android.exoplayer2.text.webvtt.WebvttCueInfo
      +
       
      +
      startTransformation(MediaItem, ParcelFileDescriptor) - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Starts an asynchronous operation to transform the given MediaItem.
      +
      +
      startTransformation(MediaItem, String) - Method in class com.google.android.exoplayer2.transformer.Transformer
      +
      +
      Starts an asynchronous operation to transform the given MediaItem.
      +
      +
      startWrite() - Method in class com.google.android.exoplayer2.util.AtomicFile
      +
      +
      Start a new write operation on the file.
      +
      +
      state - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The state of the download.
      +
      +
      STATE_BUFFERING - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The player is not able to immediately play from its current position.
      +
      +
      STATE_COMPLETED - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download completed.
      +
      +
      STATE_DISABLED - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The renderer is disabled.
      +
      +
      STATE_DOWNLOADING - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download is currently started.
      +
      +
      STATE_ENABLED - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The renderer is enabled but not started.
      +
      +
      STATE_ENDED - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The player has finished playing the media.
      +
      +
      STATE_ERROR - Static variable in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      The session has encountered an error.
      +
      +
      STATE_FAILED - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download failed.
      +
      +
      STATE_IDLE - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The player does not have any media to play.
      +
      +
      STATE_OPENED - Static variable in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      The session is open, but does not have keys required for decryption.
      +
      +
      STATE_OPENED_WITH_KEYS - Static variable in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      The session is open and has keys required for decryption.
      +
      +
      STATE_OPENING - Static variable in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      The session is being opened.
      +
      +
      STATE_QUEUED - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download is waiting to be started.
      +
      +
      STATE_READY - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      The player is able to immediately play from its current position.
      +
      +
      STATE_RELEASED - Static variable in interface com.google.android.exoplayer2.drm.DrmSession
      +
      +
      The session has been released.
      +
      +
      STATE_REMOVING - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download is being removed.
      +
      +
      STATE_RESTARTING - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download will restart after all downloaded data is removed.
      +
      +
      STATE_STARTED - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      The renderer is started.
      +
      +
      STATE_STOPPED - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download is stopped for a specified Download.stopReason.
      +
      +
      states - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      The state of each ad in the ad group.
      +
      +
      StatsDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      DataSource wrapper which keeps track of bytes transferred, redirected uris, and response + headers.
      +
      +
      StatsDataSource(DataSource) - Constructor for class com.google.android.exoplayer2.upstream.StatsDataSource
      +
      +
      Creates the stats data source.
      +
      +
      STEREO_MODE_LEFT_RIGHT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates Left-Right stereo layout, used with 360/3D/VR videos.
      +
      +
      STEREO_MODE_MONO - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates Monoscopic stereo layout, used with 360/3D/VR videos.
      +
      +
      STEREO_MODE_STEREO_MESH - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates a stereo layout where the left and right eyes have separate meshes, + used with 360/3D/VR videos.
      +
      +
      STEREO_MODE_TOP_BOTTOM - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Indicates Top-Bottom stereo layout, used with 360/3D/VR videos.
      +
      +
      stereoMode - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The stereo layout for 360/3D/VR video, or Format.NO_VALUE if not applicable.
      +
      +
      stereoMode - Variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      The stereo mode.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      stop() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      stop() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      stop() - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Stops playback without resetting the player.
      +
      +
      stop() - Method in interface com.google.android.exoplayer2.Renderer
      +
      +
      Stops the renderer, transitioning it to the Renderer.STATE_ENABLED state.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.scheduler.RequirementsWatcher
      +
      +
      Stops watching for changes.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.source.hls.playlist.DefaultHlsPlaylistTracker
      +
       
      +
      stop() - Method in interface com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker
      +
      +
      Stops the playlist tracker and releases any acquired resources.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a stop action.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
      +
      Stops periodic updates of the TextView.
      +
      +
      stop() - Method in class com.google.android.exoplayer2.util.StandaloneMediaClock
      +
      +
      Stops the clock.
      +
      +
      stop(boolean) - Method in class com.google.android.exoplayer2.ext.cast.CastPlayer
      +
       
      +
      stop(boolean) - Method in interface com.google.android.exoplayer2.Player
      +
      +
      Deprecated. +
      Use Player.stop() and Player.clearMediaItems() (if reset is true) or + just Player.stop() (if reset is false). Any player error will be cleared when + re-preparing the player.
      +
      +
      +
      stop(boolean) - Method in class com.google.android.exoplayer2.SimpleExoPlayer
      +
       
      +
      stop(boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a stop action.
      +
      +
      stop(boolean) - Method in class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      stop(AdsMediaSource, AdsLoader.EventListener) - Method in class com.google.android.exoplayer2.ext.ima.ImaAdsLoader
      +
       
      +
      stop(AdsMediaSource, AdsLoader.EventListener) - Method in interface com.google.android.exoplayer2.source.ads.AdsLoader
      +
      +
      Stops using the ads loader for playback and deregisters the event listener.
      +
      +
      Stop(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.Stop
      +
      +
      Action will call Player.stop().
      +
      +
      Stop(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.Stop
      +
      +
      Action will call Player.stop(boolean).
      +
      +
      STOP_REASON_NONE - Static variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The download isn't stopped.
      +
      +
      stopReason - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The reason the download is stopped, or Download.STOP_REASON_NONE.
      +
      +
      STREAM_INFO_BLOCK_SIZE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Size of the FLAC stream info block (header included) in bytes.
      +
      +
      STREAM_MARKER_SIZE - Static variable in class com.google.android.exoplayer2.util.FlacConstants
      +
      +
      Size of the FLAC stream marker in bytes.
      +
      +
      STREAM_TYPE_ALARM - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_DEFAULT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The default stream type used by audio renderers.
      +
      +
      STREAM_TYPE_DTMF - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_MUSIC - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_NOTIFICATION - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_RING - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_SYSTEM - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      STREAM_TYPE_TYPE0 - Static variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      Type 0 AC3 stream type.
      +
      +
      STREAM_TYPE_TYPE1 - Static variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      Type 1 AC3 stream type.
      +
      +
      STREAM_TYPE_TYPE2 - Static variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      Type 2 AC3 stream type.
      +
      +
      STREAM_TYPE_UNDEFINED - Static variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      +
      Undefined AC3 stream type.
      +
      +
      STREAM_TYPE_VOICE_CALL - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      StreamElement(String, String, int, String, long, String, int, int, int, int, String, Format[], List<Long>, long) - Constructor for class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      streamElements - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
      +
      The contained stream elements.
      +
      +
      StreamKey - Class in com.google.android.exoplayer2.offline
      +
      +
      A key for a subset of media which can be separately loaded (a "stream").
      +
      +
      StreamKey(int, int) - Constructor for class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      StreamKey(int, int, int) - Constructor for class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      streamKeys - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional stream keys by which the manifest is filtered.
      +
      +
      streamKeys - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Stream keys to be downloaded.
      +
      +
      streamType - Variable in class com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo
      +
      + +
      +
      streamType - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.EsInfo
      +
       
      +
      stringElement(int, String) - Method in interface com.google.android.exoplayer2.extractor.mkv.EbmlProcessor
      +
      +
      Called when a string element is encountered.
      +
      +
      stringElement(int, String) - Method in class com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor
      +
      +
      Called when a string element is encountered.
      +
      +
      StubExoPlayer - Class in com.google.android.exoplayer2.testutil
      +
      +
      An abstract ExoPlayer implementation that throws UnsupportedOperationException + from every method.
      +
      +
      StubExoPlayer() - Constructor for class com.google.android.exoplayer2.testutil.StubExoPlayer
      +
       
      +
      STYLE_BOLD - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      STYLE_BOLD_ITALIC - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      STYLE_ITALIC - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      STYLE_NORMAL - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      StyledPlayerControlView - Class in com.google.android.exoplayer2.ui
      +
      +
      A view for controlling Player instances.
      +
      +
      StyledPlayerControlView(Context) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      StyledPlayerControlView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      StyledPlayerControlView(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      StyledPlayerControlView(Context, AttributeSet, int, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerControlView
      +
       
      +
      StyledPlayerControlView.OnFullScreenModeChangedListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be invoked to inform the fullscreen mode is changed.
      +
      +
      StyledPlayerControlView.ProgressUpdateListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be notified when progress has been updated.
      +
      +
      StyledPlayerControlView.VisibilityListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener to be notified about changes of the visibility of the UI control.
      +
      +
      StyledPlayerView - Class in com.google.android.exoplayer2.ui
      +
      +
      A high level view for Player media playbacks.
      +
      +
      StyledPlayerView(Context) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      StyledPlayerView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      StyledPlayerView(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.StyledPlayerView
      +
       
      +
      StyledPlayerView.ShowBuffering - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      Determines when the buffering view is shown.
      +
      +
      SubMesh(int, float[], float[], int) - Constructor for class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
       
      +
      subrange(long) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a data spec that represents a subrange of the data defined by this DataSpec.
      +
      +
      subrange(long, long) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a data spec that represents a subrange of the data defined by this DataSpec.
      +
      +
      SubripDecoder - Class in com.google.android.exoplayer2.text.subrip
      +
      +
      A SimpleSubtitleDecoder for SubRip.
      +
      +
      SubripDecoder() - Constructor for class com.google.android.exoplayer2.text.subrip.SubripDecoder
      +
       
      +
      subsampleOffsetUs - Variable in class com.google.android.exoplayer2.Format
      +
      +
      For samples that contain subsamples, this is an offset that should be added to subsample + timestamps.
      +
      +
      subsampleOffsetUs - Variable in class com.google.android.exoplayer2.metadata.MetadataInputBuffer
      +
      +
      An offset that must be added to the metadata's timestamps after it's been decoded, or + Format.OFFSET_SAMPLE_RELATIVE if DecoderInputBuffer.timeUs should be added.
      +
      +
      subsampleOffsetUs - Variable in class com.google.android.exoplayer2.text.SubtitleInputBuffer
      +
      +
      An offset that must be added to the subtitle's event times after it's been decoded, or + Format.OFFSET_SAMPLE_RELATIVE if DecoderInputBuffer.timeUs should be added.
      +
      +
      subset(Uri...) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      subset(DataSpec...) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      subset(String...) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      Subtitle - Interface in com.google.android.exoplayer2.text
      +
      +
      A subtitle consisting of timed Cues.
      +
      +
      Subtitle(Uri, String, String) - Constructor for class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      Creates an instance.
      +
      +
      Subtitle(Uri, String, String, int) - Constructor for class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      Creates an instance.
      +
      +
      Subtitle(Uri, String, String, int, int, String) - Constructor for class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      Creates an instance.
      +
      +
      SubtitleDecoder - Interface in com.google.android.exoplayer2.text
      +
      + +
      +
      SubtitleDecoderException - Exception in com.google.android.exoplayer2.text
      +
      +
      Thrown when an error occurs decoding subtitle data.
      +
      +
      SubtitleDecoderException(String) - Constructor for exception com.google.android.exoplayer2.text.SubtitleDecoderException
      +
       
      +
      SubtitleDecoderException(String, Throwable) - Constructor for exception com.google.android.exoplayer2.text.SubtitleDecoderException
      +
       
      +
      SubtitleDecoderException(Throwable) - Constructor for exception com.google.android.exoplayer2.text.SubtitleDecoderException
      +
       
      +
      SubtitleDecoderFactory - Interface in com.google.android.exoplayer2.text
      +
      +
      A factory for SubtitleDecoder instances.
      +
      +
      subtitleGroupId - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The SUBTITLES value as defined in the EXT-X-STREAM-INF tag, or null if the SUBTITLES + attribute is not present.
      +
      +
      subtitleGroupId - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      The subtitle rendition group referenced by this variant, or null.
      +
      +
      SubtitleInputBuffer - Class in com.google.android.exoplayer2.text
      +
      + +
      +
      SubtitleInputBuffer() - Constructor for class com.google.android.exoplayer2.text.SubtitleInputBuffer
      +
       
      +
      SubtitleOutputBuffer - Class in com.google.android.exoplayer2.text
      +
      +
      Base class for SubtitleDecoder output buffers.
      +
      +
      SubtitleOutputBuffer() - Constructor for class com.google.android.exoplayer2.text.SubtitleOutputBuffer
      +
       
      +
      subtitles - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional subtitles to be sideloaded.
      +
      +
      subtitles - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The subtitle renditions declared by the playlist.
      +
      +
      SubtitleView - Class in com.google.android.exoplayer2.ui
      +
      +
      A view for displaying subtitle Cues.
      +
      +
      SubtitleView(Context) - Constructor for class com.google.android.exoplayer2.ui.SubtitleView
      +
       
      +
      SubtitleView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.SubtitleView
      +
       
      +
      SubtitleView.ViewType - Annotation Type in com.google.android.exoplayer2.ui
      +
      +
      The type of View to use to display subtitles.
      +
      +
      subtractWithOverflowDefault(long, long, long) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns the difference between two arguments, or a third argument if the result overflows.
      +
      +
      subType - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      suggestedPresentationDelayMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The suggestedPresentationDelay value in milliseconds, or C.TIME_UNSET if not + present.
      +
      +
      supplementalData - Variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Supplemental data related to the buffer, if Buffer.hasSupplementalData() returns true.
      +
      +
      supplementalData - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Supplemental data related to the output frame, if Buffer.hasSupplementalData() returns true.
      +
      +
      supplementalProperties - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      Supplemental properties in the adaptation set.
      +
      +
      supportsEncoding(int) - Method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
      +
      Returns whether this device supports playback of the specified audio encoding.
      +
      +
      supportsFormat(Format) - Method in interface com.google.android.exoplayer2.audio.AudioSink
      +
      +
      Returns whether the sink supports a given Format.
      +
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.audio.DefaultAudioSink
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.audio.ForwardingAudioSink
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      supportsFormat(Format) - Method in interface com.google.android.exoplayer2.metadata.MetadataDecoderFactory
      +
      +
      Returns whether the factory is able to instantiate a MetadataDecoder for the given + Format.
      +
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.metadata.MetadataRenderer
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      supportsFormat(Format) - Method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Returns the extent to which the Renderer supports a given format.
      +
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.testutil.FakeRenderer
      +
       
      +
      supportsFormat(Format) - Method in interface com.google.android.exoplayer2.text.SubtitleDecoderFactory
      +
      +
      Returns whether the factory is able to instantiate a SubtitleDecoder for the given + Format.
      +
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      supportsFormat(Format) - Method in class com.google.android.exoplayer2.video.spherical.CameraMotionRenderer
      +
       
      +
      supportsFormat(MediaCodecSelector, Format) - Method in class com.google.android.exoplayer2.audio.MediaCodecAudioRenderer
      +
       
      +
      supportsFormat(MediaCodecSelector, Format) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns the RendererCapabilities.Capabilities for the given Format.
      +
      +
      supportsFormat(MediaCodecSelector, Format) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
       
      +
      supportsFormat(String) - Static method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegLibrary
      +
      +
      Returns whether the underlying library supports the specified MIME type.
      +
      +
      supportsFormatDrm(Format) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Returns whether this renderer supports the given Format's DRM scheme.
      +
      +
      supportsFormatInternal(Format) - Method in class com.google.android.exoplayer2.audio.DecoderAudioRenderer
      +
      +
      Returns the C.FormatSupport for the given Format.
      +
      +
      supportsFormatInternal(Format) - Method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      supportsFormatInternal(Format) - Method in class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
      +
       
      +
      supportsFormatInternal(Format) - Method in class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
      +
       
      +
      supportsMixedMimeTypeAdaptation() - Method in class com.google.android.exoplayer2.BaseRenderer
      +
       
      +
      supportsMixedMimeTypeAdaptation() - Method in class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
      +
       
      +
      supportsMixedMimeTypeAdaptation() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
       
      +
      supportsMixedMimeTypeAdaptation() - Method in class com.google.android.exoplayer2.NoSampleRenderer
      +
       
      +
      supportsMixedMimeTypeAdaptation() - Method in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      Returns the extent to which the Renderer supports adapting between supported formats + that have different MIME types.
      +
      +
      supportsRangeRequests() - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource
      +
      +
      Returns true if RFC 7233 range requests should be supported for this resource.
      +
      +
      supportsRangeRequests(boolean) - Method in class com.google.android.exoplayer2.testutil.WebServerDispatcher.Resource.Builder
      +
      +
      Sets if RFC 7233 range requests should be supported for this resource.
      +
      +
      surfaceChanged(SurfaceHolder, int, int, int) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      surfaceCreated(SurfaceHolder) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      surfaceDestroyed(SurfaceHolder) - Method in class com.google.android.exoplayer2.testutil.HostActivity
      +
       
      +
      surfaceIdentityHashCode - Variable in exception com.google.android.exoplayer2.video.MediaCodecVideoDecoderException
      +
      +
      The System.identityHashCode(Object) of the surface when the exception occurred.
      +
      +
      svcTemporalLayerCount - Variable in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
      +
      The number of layers in the SVC extended frames.
      +
      +
      switchTargetView(Player, PlayerView, PlayerView) - Static method in class com.google.android.exoplayer2.ui.PlayerView
      +
      +
      Switches the view targeted by a given Player.
      +
      +
      switchTargetView(Player, StyledPlayerView, StyledPlayerView) - Static method in class com.google.android.exoplayer2.ui.StyledPlayerView
      +
      +
      Switches the view targeted by a given Player.
      +
      +
      SynchronousMediaCodecAdapter - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      A MediaCodecAdapter that operates the underlying MediaCodec in synchronous mode.
      +
      +
      SynchronousMediaCodecAdapter.Factory - Class in com.google.android.exoplayer2.mediacodec
      +
      +
      A factory for SynchronousMediaCodecAdapter instances.
      +
      +
      SystemClock - Class in com.google.android.exoplayer2.util
      +
      +
      The standard implementation of Clock, an instance of which is available via Clock.DEFAULT.
      +
      +
      SystemClock() - Constructor for class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      + + + +

      T

      +
      +
      TABLE_PREFIX - Static variable in interface com.google.android.exoplayer2.database.DatabaseProvider
      +
      +
      Prefix for tables that can be read and written by ExoPlayer components.
      +
      +
      tableExists(SQLiteDatabase, String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns whether the table exists in the database.
      +
      +
      tag - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      Optional tag for custom attributes.
      +
      +
      tag - Variable in class com.google.android.exoplayer2.testutil.ExoHostedTest
      +
       
      +
      tag - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Deprecated. + +
      +
      +
      TAG - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      A tag to use when logging library information.
      +
      +
      TAG - Static variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
       
      +
      tags - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsPlaylist
      +
      +
      The list of tags in the playlist.
      +
      +
      targetDurationUs - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The target duration in microseconds, as defined by #EXT-X-TARGETDURATION.
      +
      +
      targetFoundResult(long) - Static method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      Returns a result to signal that the target timestamp has been found at + resultBytePosition, and the seek operation can stop.
      +
      +
      targetOffsetMs - Variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      Target offset from the live edge, in milliseconds, or C.TIME_UNSET to use the + media-defined default.
      +
      +
      targetOffsetMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.ServiceDescriptionElement
      +
      +
      The target live offset in milliseconds, or C.TIME_UNSET if undefined.
      +
      +
      TeeAudioProcessor - Class in com.google.android.exoplayer2.audio
      +
      +
      Audio processor that outputs its input unmodified and also outputs its input to a given sink.
      +
      +
      TeeAudioProcessor(TeeAudioProcessor.AudioBufferSink) - Constructor for class com.google.android.exoplayer2.audio.TeeAudioProcessor
      +
      +
      Creates a new tee audio processor, sending incoming data to the given TeeAudioProcessor.AudioBufferSink.
      +
      +
      TeeAudioProcessor.AudioBufferSink - Interface in com.google.android.exoplayer2.audio
      +
      +
      A sink for audio buffers handled by the audio processor.
      +
      +
      TeeAudioProcessor.WavFileAudioBufferSink - Class in com.google.android.exoplayer2.audio
      +
      +
      A sink for audio buffers that writes output audio as .wav files with a given path prefix.
      +
      +
      TeeDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      Tees data into a DataSink as the data is read.
      +
      +
      TeeDataSource(DataSource, DataSink) - Constructor for class com.google.android.exoplayer2.upstream.TeeDataSource
      +
       
      +
      TestDownloadManagerListener - Class in com.google.android.exoplayer2.robolectric
      +
      +
      Allows tests to block for, and assert properties of, calls from a DownloadManager to its + DownloadManager.Listener.
      +
      +
      TestDownloadManagerListener(DownloadManager) - Constructor for class com.google.android.exoplayer2.robolectric.TestDownloadManagerListener
      +
       
      +
      TestExoPlayerBuilder - Class in com.google.android.exoplayer2.testutil
      +
      +
      A builder of SimpleExoPlayer instances for testing.
      +
      +
      TestExoPlayerBuilder(Context) - Constructor for class com.google.android.exoplayer2.testutil.TestExoPlayerBuilder
      +
       
      +
      TestPlayerRunHelper - Class in com.google.android.exoplayer2.robolectric
      +
      +
      Helper methods to block the calling thread until the provided SimpleExoPlayer instance + reaches a particular state.
      +
      +
      TestUtil - Class in com.google.android.exoplayer2.testutil
      +
      +
      Utility methods for tests.
      +
      +
      text - Variable in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      text - Variable in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      text - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The cue text, or null if this is an image cue.
      +
      +
      TEXT_SIZE_TYPE_ABSOLUTE - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Text size is measured in number of pixels.
      +
      +
      TEXT_SIZE_TYPE_FRACTIONAL - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Text size is measured as a fraction of the viewport size minus the view padding.
      +
      +
      TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Text size is measured as a fraction of the viewport size, ignoring the view padding
      +
      +
      TEXT_SSA - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      TEXT_VTT - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      textAlignment - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The alignment of the cue text within the cue box, or null if the alignment is undefined.
      +
      +
      TextAnnotation - Class in com.google.android.exoplayer2.text.span
      +
      +
      Properties of a text annotation (i.e.
      +
      +
      TextAnnotation.Position - Annotation Type in com.google.android.exoplayer2.text.span
      +
      +
      The possible positions of the annotation text relative to the base text.
      +
      +
      TextEmphasisSpan - Class in com.google.android.exoplayer2.text.span
      +
      +
      A styling span for text emphasis marks.
      +
      +
      TextEmphasisSpan(int, int, int) - Constructor for class com.google.android.exoplayer2.text.span.TextEmphasisSpan
      +
       
      +
      TextEmphasisSpan.MarkFill - Annotation Type in com.google.android.exoplayer2.text.span
      +
      +
      The possible mark fills that can be used.
      +
      +
      TextEmphasisSpan.MarkShape - Annotation Type in com.google.android.exoplayer2.text.span
      +
      +
      The possible mark shapes that can be used.
      +
      +
      TextInformationFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Text information ID3 frame.
      +
      +
      TextInformationFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      TextOutput - Interface in com.google.android.exoplayer2.text
      +
      +
      Receives text output.
      +
      +
      TextRenderer - Class in com.google.android.exoplayer2.text
      +
      +
      A renderer for text.
      +
      +
      TextRenderer(TextOutput, Looper) - Constructor for class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      TextRenderer(TextOutput, Looper, SubtitleDecoderFactory) - Constructor for class com.google.android.exoplayer2.text.TextRenderer
      +
       
      +
      textSize - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The default text size for this cue's text, or Cue.DIMEN_UNSET if this cue has no default + text size.
      +
      +
      textSizeType - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The default text size type for this cue's text, or Cue.TYPE_UNSET if this cue has no + default text size.
      +
      +
      TextTrackScore(Format, DefaultTrackSelector.Parameters, int, String) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.TextTrackScore
      +
       
      +
      TEXTURE_COORDS_PER_VERTEX - Static variable in class com.google.android.exoplayer2.video.spherical.Projection
      +
      +
      Number of position coordinates per vertex.
      +
      +
      textureCoords - Variable in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      The SubMesh texture coordinates.
      +
      +
      textureId - Variable in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      Texture ID.
      +
      +
      THREAD_COUNT_AUTODETECT - Static variable in class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
      +
      +
      Attempts to use as many threads as performance processors available on the device.
      +
      +
      throwPlaybackException(ExoPlaybackException) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules to throw a playback exception on the playback thread.
      +
      +
      ThrowPlaybackException(String, ExoPlaybackException) - Constructor for class com.google.android.exoplayer2.testutil.Action.ThrowPlaybackException
      +
       
      +
      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.
      +
      +
      TIME_UNSET - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Special constant representing an unset or unknown time or duration.
      +
      +
      TimeBar - Interface in com.google.android.exoplayer2.ui
      +
      +
      Interface for time bar views that can display a playback position, buffered position, duration + and ad markers, and that have a listener for scrubbing (seeking) events.
      +
      +
      TimeBar.OnScrubListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener for scrubbing events.
      +
      +
      TimedValueQueue<V> - Class in com.google.android.exoplayer2.util
      +
      +
      A utility class to keep a queue of values with timestamps.
      +
      +
      TimedValueQueue() - Constructor for class com.google.android.exoplayer2.util.TimedValueQueue
      +
       
      +
      TimedValueQueue(int) - Constructor for class com.google.android.exoplayer2.util.TimedValueQueue
      +
      +
      Creates a TimedValueBuffer with the given initial buffer size.
      +
      +
      timeline - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Most recent Timeline that contains the event position.
      +
      +
      timeline - Variable in exception com.google.android.exoplayer2.IllegalSeekPositionException
      +
      +
      The Timeline in which the seek was attempted.
      +
      +
      timeline - Variable in class com.google.android.exoplayer2.source.ForwardingTimeline
      +
       
      +
      Timeline - Class in com.google.android.exoplayer2
      +
      +
      A flexible representation of the structure of media.
      +
      +
      Timeline() - Constructor for class com.google.android.exoplayer2.Timeline
      +
       
      +
      TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Timeline changed as a result of a change of the playlist items or the order of the items.
      +
      +
      TIMELINE_CHANGE_REASON_SOURCE_UPDATE - Static variable in interface com.google.android.exoplayer2.Player
      +
      +
      Timeline changed as a result of a dynamic update introduced by the played media.
      +
      +
      Timeline.Period - Class in com.google.android.exoplayer2
      +
      +
      Holds information about a period in a Timeline.
      +
      +
      Timeline.Window - Class in com.google.android.exoplayer2
      +
      +
      Holds information about a window in a Timeline.
      +
      +
      TimelineAsserts - Class in com.google.android.exoplayer2.testutil
      +
      +
      Unit test for Timeline.
      +
      +
      TimelineQueueEditor - Class in com.google.android.exoplayer2.ext.mediasession
      +
      + +
      +
      TimelineQueueEditor(MediaControllerCompat, ConcatenatingMediaSource, TimelineQueueEditor.QueueDataAdapter, TimelineQueueEditor.MediaSourceFactory) - Constructor for class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
      +
      Creates a new TimelineQueueEditor with a given mediaSourceFactory.
      +
      +
      TimelineQueueEditor(MediaControllerCompat, ConcatenatingMediaSource, TimelineQueueEditor.QueueDataAdapter, TimelineQueueEditor.MediaSourceFactory, TimelineQueueEditor.MediaDescriptionEqualityChecker) - Constructor for class com.google.android.exoplayer2.ext.mediasession.TimelineQueueEditor
      +
      +
      Creates a new TimelineQueueEditor with a given mediaSourceFactory.
      +
      +
      TimelineQueueEditor.MediaIdEqualityChecker - Class in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Media description comparator comparing the media IDs.
      +
      +
      TimelineQueueEditor.MediaSourceFactory - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Factory to create MediaSources.
      +
      +
      TimelineQueueEditor.QueueDataAdapter - Interface in com.google.android.exoplayer2.ext.mediasession
      +
      +
      Adapter to get MediaDescriptionCompat of items in the queue and to notify the + application about changes in the queue to sync the data structure backing the + MediaSessionConnector.
      +
      +
      TimelineQueueNavigator - Class in com.google.android.exoplayer2.ext.mediasession
      +
      +
      An abstract implementation of the MediaSessionConnector.QueueNavigator that maps the + windows of a Player's Timeline to the media session queue.
      +
      +
      TimelineQueueNavigator(MediaSessionCompat) - Constructor for class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
      +
      Creates an instance for a given MediaSessionCompat.
      +
      +
      TimelineQueueNavigator(MediaSessionCompat, int) - Constructor for class com.google.android.exoplayer2.ext.mediasession.TimelineQueueNavigator
      +
      +
      Creates an instance for a given MediaSessionCompat and maximum queue size.
      +
      +
      TimelineWindowDefinition(boolean, boolean, long) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition with one period.
      +
      +
      TimelineWindowDefinition(int, Object) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a seekable, non-dynamic window definition with a duration of FakeTimeline.TimelineWindowDefinition.DEFAULT_WINDOW_DURATION_US.
      +
      +
      TimelineWindowDefinition(int, Object, boolean, boolean, boolean, boolean, long, long, long, AdPlaybackState) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition with ad groups.
      +
      +
      TimelineWindowDefinition(int, Object, boolean, boolean, boolean, boolean, long, long, long, AdPlaybackState, MediaItem) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition with ad groups and a custom media item.
      +
      +
      TimelineWindowDefinition(int, Object, boolean, boolean, long) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition.
      +
      +
      TimelineWindowDefinition(int, Object, boolean, boolean, long, AdPlaybackState) - Constructor for class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
      +
      Creates a window definition with ad groups.
      +
      +
      TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.testutil.DummyMainThread
      +
      +
      Default timeout value used for DummyMainThread.runOnMainThread(Runnable).
      +
      +
      TIMEOUT_MS - Static variable in class com.google.android.exoplayer2.testutil.MediaSourceTestRunner
      +
       
      +
      TIMEOUT_OPERATION_DETACH_SURFACE - Static variable in exception com.google.android.exoplayer2.ExoTimeoutException
      +
      +
      The error occurred while detaching a surface from the player.
      +
      +
      TIMEOUT_OPERATION_RELEASE - Static variable in exception com.google.android.exoplayer2.ExoTimeoutException
      +
      +
      The error occurred in Player.release().
      +
      +
      TIMEOUT_OPERATION_SET_FOREGROUND_MODE - Static variable in exception com.google.android.exoplayer2.ExoTimeoutException
      +
      + +
      +
      TIMEOUT_OPERATION_UNDEFINED - Static variable in exception com.google.android.exoplayer2.ExoTimeoutException
      +
      +
      The operation where this error occurred is not defined.
      +
      +
      timeoutOperation - Variable in exception com.google.android.exoplayer2.ExoTimeoutException
      +
      +
      The operation on the ExoPlayer playback thread that timed out.
      +
      +
      timescale - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      The track timescale, defined as the number of time units that pass in one second.
      +
      +
      timescale - Variable in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      The timescale in units per seconds, as defined in the manifest.
      +
      +
      timescale - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      timeShiftBufferDepthMs - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The timeShiftBufferDepth value in milliseconds, or C.TIME_UNSET if not + present.
      +
      +
      TimeSignalCommand - Class in com.google.android.exoplayer2.metadata.scte35
      +
      +
      Represents a time signal command as defined in SCTE35, Section 9.3.4.
      +
      +
      TimestampAdjuster - Class in com.google.android.exoplayer2.util
      +
      +
      Offsets timestamps according to an initial sample timestamp offset.
      +
      +
      TimestampAdjuster(long) - Constructor for class com.google.android.exoplayer2.util.TimestampAdjuster
      +
       
      +
      TimestampAdjusterProvider - Class in com.google.android.exoplayer2.source.hls
      +
      +
      Provides TimestampAdjuster instances for use during HLS playbacks.
      +
      +
      TimestampAdjusterProvider() - Constructor for class com.google.android.exoplayer2.source.hls.TimestampAdjusterProvider
      +
       
      +
      timestampMs - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The value of SystemClock.elapsedRealtime() when this exception was created.
      +
      +
      timestampSeeker - Variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker
      +
       
      +
      timesUs - Variable in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
      +
      The start time of each chunk, in microseconds.
      +
      +
      timeUs - Variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      The time at which the sample should be presented.
      +
      +
      timeUs - Variable in class com.google.android.exoplayer2.decoder.OutputBuffer
      +
      +
      The presentation timestamp for the buffer, in microseconds.
      +
      +
      timeUs - Variable in class com.google.android.exoplayer2.extractor.SeekPoint
      +
      +
      The time of the seek point, in microseconds.
      +
      +
      timeUsToTargetTime(long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.BinarySearchSeekMap
      +
       
      +
      timeUsToTargetTime(long) - Method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.DefaultSeekTimestampConverter
      +
       
      +
      timeUsToTargetTime(long) - Method in interface com.google.android.exoplayer2.extractor.BinarySearchSeeker.SeekTimestampConverter
      +
      +
      Converts a seek time in microseconds into target timestamp for the BinarySearchSeeker.
      +
      +
      title - Variable in class com.google.android.exoplayer2.MediaMetadata
      +
      +
      Optional title.
      +
      +
      title - Variable in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
      +
      The stream title if present and decodable, or null.
      +
      +
      title - Variable in class com.google.android.exoplayer2.source.dash.manifest.ProgramInformation
      +
      +
      The title for the media presentation.
      +
      +
      title - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.Segment
      +
      +
      The human readable title of the segment.
      +
      +
      toArray() - Method in class com.google.android.exoplayer2.util.LongArray
      +
      +
      Copies the current values into a newly allocated primitive array.
      +
      +
      toByteArray(InputStream) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Converts the entirety of an InputStream to a byte array.
      +
      +
      toCaptionsMediaFormat(Format) - Static method in class com.google.android.exoplayer2.source.mediaparser.MediaParserUtil
      +
      + +
      +
      toHexString(byte[]) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Returns a string containing a lower-case hex representation of the bytes provided.
      +
      +
      toleranceAfterUs - Variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      The maximum time that the actual position seeked to may exceed the requested seek position, in + microseconds.
      +
      +
      toleranceBeforeUs - Variable in class com.google.android.exoplayer2.SeekParameters
      +
      +
      The maximum time that the actual position seeked to may precede the requested seek position, in + microseconds.
      +
      +
      toLogString(Format) - Static method in class com.google.android.exoplayer2.Format
      +
      +
      Returns a prettier String than Format.toString(), intended for logging.
      +
      +
      toLong(int, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Return the long that is composed of the bits of the 2 specified integers.
      +
      +
      toLowerInvariant(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Converts text to lower case using Locale.US.
      +
      +
      toMediaItem() - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      Returns a MediaItem for the content defined by the request.
      +
      +
      toMediaItem(MediaQueueItem) - Method in class com.google.android.exoplayer2.ext.cast.DefaultMediaItemConverter
      +
       
      +
      toMediaItem(MediaQueueItem) - Method in interface com.google.android.exoplayer2.ext.cast.MediaItemConverter
      +
      +
      Converts a MediaQueueItem to a MediaItem.
      +
      +
      toMediaQueueItem(MediaItem) - Method in class com.google.android.exoplayer2.ext.cast.DefaultMediaItemConverter
      +
       
      +
      toMediaQueueItem(MediaItem) - Method in interface com.google.android.exoplayer2.ext.cast.MediaItemConverter
      +
      +
      Converts a MediaItem to a MediaQueueItem.
      +
      +
      toString() - Method in class com.google.android.exoplayer2.audio.AudioCapabilities
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.audio.AudioProcessor.AudioFormat
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.extractor.ChunkIndex
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.extractor.SeekMap.SeekPoints
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.extractor.SeekPoint
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.Id3Frame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceCommand
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.PlaybackParameters
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.source.dash.manifest.RangedUri
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.testutil.Dumper
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.testutil.ExtractorAsserts.SimulationConfig
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.upstream.cache.CacheSpan
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
       
      +
      toString() - Method in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      totalAudioFormatBitrateTimeProduct - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The accumulated sum of all audio format bitrates, in bits per second, times the time the format + was used for playback, in milliseconds.
      +
      +
      totalAudioFormatTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total media time for which audio format data is available, in milliseconds.
      +
      +
      totalAudioUnderruns - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of audio underruns.
      +
      +
      totalBandwidth - Variable in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection.AdaptationCheckpoint
      +
      +
      Total bandwidth in bits per second at which this checkpoint applies.
      +
      +
      totalBandwidthBytes - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total bytes transferred during PlaybackStats.totalBandwidthTimeMs.
      +
      +
      totalBandwidthTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total time for which bandwidth measurement data is available, in milliseconds.
      +
      +
      totalBufferedDurationMs - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Total buffered duration from AnalyticsListener.EventTime.currentPlaybackPositionMs at the time of the event, in + milliseconds.
      +
      +
      totalDroppedFrames - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of dropped video frames.
      +
      +
      totalInitialAudioFormatBitrate - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total initial audio format bitrate for all playbacks, in bits per second, or C.LENGTH_UNSET if no initial audio format data is available.
      +
      +
      totalInitialVideoFormatBitrate - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total initial video format bitrate for all playbacks, in bits per second, or C.LENGTH_UNSET if no initial video format data is available.
      +
      +
      totalInitialVideoFormatHeight - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total initial video format height for all playbacks, in pixels, or C.LENGTH_UNSET + if no initial video format data is available.
      +
      +
      totalPauseBufferCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of times a playback has been paused while rebuffering.
      +
      +
      totalPauseCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of times a playback has been paused.
      +
      +
      totalRebufferCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of times a rebuffer occurred.
      +
      +
      totalSamples - Variable in class com.google.android.exoplayer2.extractor.FlacStreamMetadata
      +
      +
      Total number of samples, or 0 if the value is unknown.
      +
      +
      totalSeekCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total number of times a seek occurred.
      +
      +
      totalValidJoinTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total time spent joining the playback, in milliseconds, or C.TIME_UNSET if no valid + join time could be determined.
      +
      +
      totalVideoFormatBitrateTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total media time for which video format bitrate data is available, in milliseconds.
      +
      +
      totalVideoFormatBitrateTimeProduct - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The accumulated sum of all video format bitrates, in bits per second, times the time the format + was used for playback, in milliseconds.
      +
      +
      totalVideoFormatHeightTimeMs - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The total media time for which video format height data is available, in milliseconds.
      +
      +
      totalVideoFormatHeightTimeProduct - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The accumulated sum of all video format heights, in pixels, times the time the format was used + for playback, in milliseconds.
      +
      +
      totalVideoFrameProcessingOffsetUs - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The sum of the video frame processing offsets in microseconds.
      +
      +
      toUnsignedLong(int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Converts an integer to a long by unsigned conversion.
      +
      +
      toUpperInvariant(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Converts text to upper case using Locale.US.
      +
      +
      TRACE_ENABLED - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      Whether the library was compiled with TraceUtil + trace enabled.
      +
      +
      TraceUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Calls through to Trace methods on supported API levels.
      +
      +
      track(int, int) - Method in class com.google.android.exoplayer2.extractor.DummyExtractorOutput
      +
       
      +
      track(int, int) - Method in interface com.google.android.exoplayer2.extractor.ExtractorOutput
      +
      +
      Called by the Extractor to get the TrackOutput for a specific track.
      +
      +
      track(int, int) - Method in class com.google.android.exoplayer2.extractor.jpeg.StartOffsetExtractorOutput
      +
       
      +
      track(int, int) - Method in class com.google.android.exoplayer2.source.chunk.BaseMediaChunkOutput
      +
       
      +
      track(int, int) - Method in class com.google.android.exoplayer2.source.chunk.BundledChunkExtractor
      +
       
      +
      track(int, int) - Method in interface com.google.android.exoplayer2.source.chunk.ChunkExtractor.TrackOutputProvider
      +
      +
      Called to get the TrackOutput for a specific track.
      +
      +
      track(int, int) - Method in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      Track - Class in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Encapsulates information describing an MP4 track.
      +
      +
      Track(int, int, long, long, long, Format, int, TrackEncryptionBox[], int, long[], long[]) - Constructor for class com.google.android.exoplayer2.extractor.mp4.Track
      +
       
      +
      TRACK_TYPE_AUDIO - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for audio tracks.
      +
      +
      TRACK_TYPE_CAMERA_MOTION - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for camera motion tracks.
      +
      +
      TRACK_TYPE_CUSTOM_BASE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Applications or extensions may define custom TRACK_TYPE_* constants greater than or + equal to this value.
      +
      +
      TRACK_TYPE_DEFAULT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for tracks of some default type, where the type itself is unknown.
      +
      +
      TRACK_TYPE_IMAGE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for image tracks.
      +
      +
      TRACK_TYPE_METADATA - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for metadata tracks.
      +
      +
      TRACK_TYPE_NONE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for a fake or empty track.
      +
      +
      TRACK_TYPE_TEXT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for text tracks.
      +
      +
      TRACK_TYPE_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for tracks of unknown type.
      +
      +
      TRACK_TYPE_VIDEO - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A type constant for video tracks.
      +
      +
      Track.Transformation - Annotation Type in com.google.android.exoplayer2.extractor.mp4
      +
      +
      The transformation to apply to samples in the track, if any.
      +
      +
      TrackEncryptionBox - Class in com.google.android.exoplayer2.extractor.mp4
      +
      +
      Encapsulates information parsed from a track encryption (tenc) box or sample group description + (sgpd) box in an MP4 stream.
      +
      +
      TrackEncryptionBox(boolean, String, int, byte[], int, int, byte[]) - Constructor for class com.google.android.exoplayer2.extractor.mp4.TrackEncryptionBox
      +
       
      +
      trackEncryptionBoxes - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.ProtectionElement
      +
       
      +
      trackFormat - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      The format of the track to which this chunk belongs.
      +
      +
      trackFormat - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      The format of the track to which the data belongs.
      +
      +
      TrackGroup - Class in com.google.android.exoplayer2.source
      +
      +
      Defines an immutable group of tracks identified by their format identity.
      +
      +
      TrackGroup(Format...) - Constructor for class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      TrackGroupArray - Class in com.google.android.exoplayer2.source
      +
      +
      An immutable array of TrackGroups.
      +
      +
      TrackGroupArray(TrackGroup...) - Constructor for class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      TrackIdGenerator(int, int) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
      +
       
      +
      TrackIdGenerator(int, int, int) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.TrackIdGenerator
      +
       
      +
      trackIndex - Variable in class com.google.android.exoplayer2.offline.StreamKey
      +
      +
      The track index.
      +
      +
      TrackNameProvider - Interface in com.google.android.exoplayer2.ui
      +
      +
      Converts Formats to user readable track names.
      +
      +
      TrackOutput - Interface in com.google.android.exoplayer2.extractor
      +
      +
      Receives track level data extracted by an Extractor.
      +
      +
      TrackOutput.CryptoData - Class in com.google.android.exoplayer2.extractor
      +
      +
      Holds data required to decrypt a sample.
      +
      +
      TrackOutput.SampleDataPart - Annotation Type in com.google.android.exoplayer2.extractor
      +
      +
      Defines the part of the sample data to which a call to TrackOutput.sampleData(com.google.android.exoplayer2.upstream.DataReader, int, boolean) corresponds.
      +
      +
      trackOutputs - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      tracks - Variable in class com.google.android.exoplayer2.trackselection.BaseTrackSelection
      +
      +
      The indices of the selected tracks in BaseTrackSelection.group, in order of decreasing bandwidth.
      +
      +
      tracks - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      tracks - Variable in class com.google.android.exoplayer2.trackselection.ExoTrackSelection.Definition
      +
      +
      The indices of the selected tracks in ExoTrackSelection.Definition.group.
      +
      +
      TrackSelection - Interface in com.google.android.exoplayer2.trackselection
      +
      +
      A track selection consisting of a static subset of selected tracks belonging to a TrackGroup.
      +
      +
      TrackSelectionArray - Class in com.google.android.exoplayer2.trackselection
      +
      +
      An array of TrackSelections.
      +
      +
      TrackSelectionArray(TrackSelection...) - Constructor for class com.google.android.exoplayer2.trackselection.TrackSelectionArray
      +
       
      +
      trackSelectionData - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      Optional data associated with the selection of the track to which this chunk belongs.
      +
      +
      trackSelectionData - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      Optional data associated with the selection of the track to which the data belongs.
      +
      +
      TrackSelectionDialogBuilder - Class in com.google.android.exoplayer2.ui
      +
      +
      Builder for a dialog with a TrackSelectionView.
      +
      +
      TrackSelectionDialogBuilder(Context, CharSequence, DefaultTrackSelector, int) - Constructor for class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Creates a builder for a track selection dialog which automatically updates a DefaultTrackSelector.
      +
      +
      TrackSelectionDialogBuilder(Context, CharSequence, MappingTrackSelector.MappedTrackInfo, int, TrackSelectionDialogBuilder.DialogCallback) - Constructor for class com.google.android.exoplayer2.ui.TrackSelectionDialogBuilder
      +
      +
      Creates a builder for a track selection dialog.
      +
      +
      TrackSelectionDialogBuilder.DialogCallback - Interface in com.google.android.exoplayer2.ui
      +
      +
      Callback which is invoked when a track selection has been made.
      +
      +
      TrackSelectionParameters - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Constraint parameters for track selection.
      +
      +
      TrackSelectionParameters.Builder - Class in com.google.android.exoplayer2.trackselection
      +
      + +
      +
      trackSelectionReason - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      One of the C SELECTION_REASON_* constants if the chunk belongs to a track.
      +
      +
      trackSelectionReason - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      One of the C SELECTION_REASON_* constants if the data belongs to a track.
      +
      +
      TrackSelectionUtil - Class in com.google.android.exoplayer2.trackselection
      +
      +
      Track selection related utility methods.
      +
      +
      TrackSelectionUtil.AdaptiveTrackSelectionFactory - Interface in com.google.android.exoplayer2.trackselection
      +
      +
      Functional interface to create a single adaptive track selection.
      +
      +
      TrackSelectionView - Class in com.google.android.exoplayer2.ui
      +
      +
      A view for making track selections.
      +
      +
      TrackSelectionView(Context) - Constructor for class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Creates a track selection view.
      +
      +
      TrackSelectionView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Creates a track selection view.
      +
      +
      TrackSelectionView(Context, AttributeSet, int) - Constructor for class com.google.android.exoplayer2.ui.TrackSelectionView
      +
      +
      Creates a track selection view.
      +
      +
      TrackSelectionView.TrackSelectionListener - Interface in com.google.android.exoplayer2.ui
      +
      +
      Listener for changes to the selected tracks.
      +
      +
      TrackSelector - Class in com.google.android.exoplayer2.trackselection
      +
      +
      The component of an ExoPlayer responsible for selecting tracks to be consumed by each of + the player's Renderers.
      +
      +
      TrackSelector() - Constructor for class com.google.android.exoplayer2.trackselection.TrackSelector
      +
       
      +
      TrackSelector.InvalidationListener - Interface in com.google.android.exoplayer2.trackselection
      +
      +
      Notified when selections previously made by a TrackSelector are no longer valid.
      +
      +
      TrackSelectorResult - Class in com.google.android.exoplayer2.trackselection
      +
      +
      The result of a TrackSelector operation.
      +
      +
      TrackSelectorResult(RendererConfiguration[], ExoTrackSelection[], Object) - Constructor for class com.google.android.exoplayer2.trackselection.TrackSelectorResult
      +
       
      +
      tracksEnded - Variable in class com.google.android.exoplayer2.testutil.FakeExtractorOutput
      +
       
      +
      trackType - Variable in class com.google.android.exoplayer2.source.MediaLoadData
      +
      +
      One of the C TRACK_TYPE_* constants if the data corresponds to media of a + specific type.
      +
      +
      trailingParts - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The list of parts at the end of the playlist for which the segment is not in the playlist yet.
      +
      +
      transferEnded() - Method in class com.google.android.exoplayer2.upstream.BaseDataSource
      +
      +
      Notifies listeners that a transfer ended.
      +
      +
      transferInitializing(DataSpec) - Method in class com.google.android.exoplayer2.upstream.BaseDataSource
      +
      +
      Notifies listeners that data transfer for the specified DataSpec is being initialized.
      +
      +
      TransferListener - Interface in com.google.android.exoplayer2.upstream
      +
      +
      A listener of data transfer events.
      +
      +
      transferStarted(DataSpec) - Method in class com.google.android.exoplayer2.upstream.BaseDataSource
      +
      +
      Notifies listeners that data transfer for the specified DataSpec started.
      +
      +
      TRANSFORMATION_CEA608_CDAT - Static variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      A transformation for caption samples in cdat atoms.
      +
      +
      TRANSFORMATION_NONE - Static variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      +
      A no-op sample transformation.
      +
      +
      Transformer - Class in com.google.android.exoplayer2.transformer
      +
      +
      A transformer to transform media inputs.
      +
      +
      Transformer.Builder - Class in com.google.android.exoplayer2.transformer
      +
      +
      A builder for Transformer instances.
      +
      +
      Transformer.Listener - Interface in com.google.android.exoplayer2.transformer
      +
      +
      A listener for the transformation events.
      +
      +
      Transformer.ProgressState - Annotation Type in com.google.android.exoplayer2.transformer
      +
      +
      Progress state.
      +
      +
      transformType - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.Mode
      +
       
      +
      trim() - Method in interface com.google.android.exoplayer2.upstream.Allocator
      +
      +
      Hints to the allocator that it should make a best effort to release any excess + Allocations.
      +
      +
      trim() - Method in class com.google.android.exoplayer2.upstream.DefaultAllocator
      +
       
      +
      TRUEHD_MAX_RATE_BYTES_PER_SECOND - Static variable in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      Maximum rate for a TrueHD audio stream, in bytes per second.
      +
      +
      TRUEHD_RECHUNK_SAMPLE_COUNT - Static variable in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      The number of samples to store in each output chunk when rechunking TrueHD streams.
      +
      +
      TRUEHD_SYNCFRAME_PREFIX_LENGTH - Static variable in class com.google.android.exoplayer2.audio.Ac3Util
      +
      +
      The number of bytes that must be parsed from a TrueHD syncframe to calculate the sample count.
      +
      +
      truncateAscii(CharSequence, int) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Truncates a sequence of ASCII characters to a maximum length.
      +
      +
      TS - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the MPEG-TS format.
      +
      +
      TS_PACKET_SIZE - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_AAC_ADTS - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_AAC_LATM - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_AC3 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_AC4 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_AIT - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_DTS - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_DVBSUBS - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_E_AC3 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_H262 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_H263 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_H264 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_H265 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_HDMV_DTS - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_ID3 - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_MPA - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_MPA_LSF - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_STREAM_TYPE_SPLICE_INFO - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TS_SYNC_BYTE - Static variable in class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Extracts data from the MPEG-2 TS container format.
      +
      +
      TsExtractor() - Constructor for class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor(int) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor(int, int, int) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor(int, TimestampAdjuster, TsPayloadReader.Factory) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor(int, TimestampAdjuster, TsPayloadReader.Factory, int) - Constructor for class com.google.android.exoplayer2.extractor.ts.TsExtractor
      +
       
      +
      TsExtractor.Mode - Annotation Type in com.google.android.exoplayer2.extractor.ts
      +
      +
      Modes for the extractor.
      +
      +
      TsPayloadReader - Interface in com.google.android.exoplayer2.extractor.ts
      +
      +
      Parses TS packet payload data.
      +
      +
      TsPayloadReader.DvbSubtitleInfo - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Holds information about a DVB subtitle, as defined in ETSI EN 300 468 V1.11.1 section 6.2.41.
      +
      +
      TsPayloadReader.EsInfo - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Holds information associated with a PMT entry.
      +
      +
      TsPayloadReader.Factory - Interface in com.google.android.exoplayer2.extractor.ts
      +
      +
      Factory of TsPayloadReader instances.
      +
      +
      TsPayloadReader.Flags - Annotation Type in com.google.android.exoplayer2.extractor.ts
      +
      +
      Contextual flags indicating the presence of indicators in the TS packet or PES packet headers.
      +
      +
      TsPayloadReader.TrackIdGenerator - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Generates track ids for initializing TsPayloadReaders' TrackOutputs.
      +
      +
      TsUtil - Class in com.google.android.exoplayer2.extractor.ts
      +
      +
      Utilities method for extracting MPEG-TS streams.
      +
      +
      TtmlDecoder - Class in com.google.android.exoplayer2.text.ttml
      +
      +
      A SimpleSubtitleDecoder for TTML supporting the DFXP presentation profile.
      +
      +
      TtmlDecoder() - Constructor for class com.google.android.exoplayer2.text.ttml.TtmlDecoder
      +
       
      +
      tunneling - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the decoder supports tunneling.
      +
      +
      tunneling - Variable in class com.google.android.exoplayer2.RendererConfiguration
      +
      +
      Whether to enable tunneling.
      +
      +
      TUNNELING_NOT_SUPPORTED - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      The Renderer does not support tunneled output.
      +
      +
      TUNNELING_SUPPORT_MASK - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      + +
      +
      TUNNELING_SUPPORTED - Static variable in interface com.google.android.exoplayer2.RendererCapabilities
      +
      +
      The Renderer supports tunneled output.
      +
      +
      tunnelingEnabled - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether to enable tunneling if possible.
      +
      +
      Tx3gDecoder - Class in com.google.android.exoplayer2.text.tx3g
      +
      + +
      +
      Tx3gDecoder(List<byte[]>) - Constructor for class com.google.android.exoplayer2.text.tx3g.Tx3gDecoder
      +
      +
      Sets up a new Tx3gDecoder with default values.
      +
      +
      type - Variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The ExoPlaybackException.Type of the playback failure.
      +
      +
      type - Variable in class com.google.android.exoplayer2.extractor.mp4.Track
      +
      + +
      +
      type - Variable in class com.google.android.exoplayer2.extractor.ts.TsPayloadReader.DvbSubtitleInfo
      +
       
      +
      type - Variable in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      The AdsMediaSource.AdLoadException.Type of the ad load exception.
      +
      +
      type - Variable in class com.google.android.exoplayer2.source.chunk.Chunk
      +
      +
      The type of the chunk.
      +
      +
      type - Variable in class com.google.android.exoplayer2.source.dash.manifest.AdaptationSet
      +
      +
      The type of the adaptation set.
      +
      +
      type - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.StreamElement
      +
       
      +
      type - Variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      type - Variable in class com.google.android.exoplayer2.upstream.ParsingLoadable
      +
      +
      The type of the data.
      +
      +
      TYPE_AD - Static variable in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Type for when an ad failed to load.
      +
      +
      TYPE_AD_GROUP - Static variable in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Type for when an ad group failed to load.
      +
      +
      TYPE_ALAW - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for 8-bit ITU-T G.711 A-law audio data.
      +
      +
      TYPE_ALL_ADS - Static variable in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Type for when all ad groups failed to load.
      +
      +
      TYPE_CLOSE - Static variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      TYPE_DASH - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Value returned by Util.inferContentType(String) for DASH manifests.
      +
      +
      TYPE_FLOAT - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for float PCM audio data.
      +
      +
      TYPE_HLS - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Value returned by Util.inferContentType(String) for HLS manifests.
      +
      +
      TYPE_IMA_ADPCM - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for IMA ADPCM audio data.
      +
      +
      TYPE_MLAW - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for 8-bit ITU-T G.711 mu-law audio data.
      +
      +
      TYPE_NO_TIMESTAMP - Static variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      The search didn't find any timestamps.
      +
      +
      TYPE_OPEN - Static variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      TYPE_OTHER - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Value returned by Util.inferContentType(String) for files other than DASH, HLS or + Smooth Streaming manifests.
      +
      +
      TYPE_PCM - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for integer PCM audio data.
      +
      +
      TYPE_POSITION_OVERESTIMATED - Static variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      The search found only timestamps larger than the target timestamp.
      +
      +
      TYPE_POSITION_UNDERESTIMATED - Static variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      The search found only timestamps smaller than the target timestamp.
      +
      +
      TYPE_READ - Static variable in exception com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
      +
       
      +
      TYPE_REMOTE - Static variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The error occurred in a remote component.
      +
      +
      TYPE_RENDERER - Static variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The error occurred in a Renderer.
      +
      +
      TYPE_SOURCE - Static variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The error occurred loading data from a MediaSource.
      +
      +
      TYPE_SS - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Value returned by Util.inferContentType(String) for Smooth Streaming manifests.
      +
      +
      TYPE_TARGET_TIMESTAMP_FOUND - Static variable in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      The search found a timestamp that it deems close enough to the given target.
      +
      +
      TYPE_UNEXPECTED - Static variable in exception com.google.android.exoplayer2.ExoPlaybackException
      +
      +
      The error was an unexpected RuntimeException.
      +
      +
      TYPE_UNEXPECTED - Static variable in exception com.google.android.exoplayer2.source.ads.AdsMediaSource.AdLoadException
      +
      +
      Type for when an unexpected error occurred while loading ads.
      +
      +
      TYPE_UNSET - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      An unset anchor, line, text size or vertical type value.
      +
      +
      TYPE_WAVE_FORMAT_EXTENSIBLE - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      WAVE type value for extended WAVE format.
      +
      +
      typeface - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred typeface, or null if unspecified.
      +
      +
      typeIndicator - Variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      The four byte type indicator.
      +
      +
      + + + +

      U

      +
      +
      UDP_PORT_UNSET - Static variable in class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      UdpDataSource - Class in com.google.android.exoplayer2.upstream
      +
      +
      A UDP DataSource.
      +
      +
      UdpDataSource() - Constructor for class com.google.android.exoplayer2.upstream.UdpDataSource
      +
       
      +
      UdpDataSource(int) - Constructor for class com.google.android.exoplayer2.upstream.UdpDataSource
      +
      +
      Constructs a new instance.
      +
      +
      UdpDataSource(int, int) - Constructor for class com.google.android.exoplayer2.upstream.UdpDataSource
      +
      +
      Constructs a new instance.
      +
      +
      UdpDataSource.UdpDataSourceException - Exception in com.google.android.exoplayer2.upstream
      +
      +
      Thrown when an error is encountered when trying to read from a UdpDataSource.
      +
      +
      UdpDataSourceException(IOException) - Constructor for exception com.google.android.exoplayer2.upstream.UdpDataSource.UdpDataSourceException
      +
       
      +
      uid - Variable in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      A unique identifier for the period.
      +
      +
      uid - Variable in class com.google.android.exoplayer2.Timeline.Window
      +
      +
      A unique identifier for the window.
      +
      +
      UID_UNSET - Static variable in interface com.google.android.exoplayer2.upstream.cache.Cache
      +
      +
      Returned by Cache.getUid() if initialization failed before the unique identifier was read or + generated.
      +
      +
      unboundedDataSpec_readEverything() - Method in class com.google.android.exoplayer2.testutil.DataSourceContractTest
      +
       
      +
      underestimatedResult(long, long) - Static method in class com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult
      +
      +
      Returns a result to signal that the current position in the input stream underestimates the + true position of the target frame, and the BinarySearchSeeker should modify its + BinarySearchSeeker.SeekOperationParams's floor timestamp and byte position using the given values.
      +
      +
      underrun(int, long, long) - Method in class com.google.android.exoplayer2.audio.AudioRendererEventListener.EventDispatcher
      +
      + +
      +
      unescapeFileName(String) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Unescapes an escaped file or directory name back to its original value.
      +
      +
      unescapeStream(byte[], int) - Static method in class com.google.android.exoplayer2.util.NalUnitUtil
      +
      +
      Unescapes data up to the specified limit, replacing occurrences of [0, 0, 3] with + [0, 0].
      +
      +
      UnexpectedLoaderException(Throwable) - Constructor for exception com.google.android.exoplayer2.upstream.Loader.UnexpectedLoaderException
      +
       
      +
      UnhandledAudioFormatException(AudioProcessor.AudioFormat) - Constructor for exception com.google.android.exoplayer2.audio.AudioProcessor.UnhandledAudioFormatException
      +
       
      +
      Uniform(int, int) - Constructor for class com.google.android.exoplayer2.util.GlUtil.Uniform
      +
      +
      Creates a new GL uniform.
      +
      +
      uniqueProgramId - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
      +
      The unique program id as defined in SCTE35, Section 9.3.3.
      +
      +
      uniqueProgramId - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      The unique program id as defined in SCTE35, Section 9.3.2.
      +
      +
      UNKNOWN - Static variable in class com.google.android.exoplayer2.device.DeviceInfo
      +
      +
      Unknown DeviceInfo.
      +
      +
      UNKNOWN - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      Unknown file type.
      +
      +
      UnknownNull - Annotation Type in com.google.android.exoplayer2.util
      +
      +
      Annotation for specifying unknown nullness.
      +
      +
      UnrecognizedInputFormatException - Exception in com.google.android.exoplayer2.source
      +
      +
      Thrown if the input format was not recognized.
      +
      +
      UnrecognizedInputFormatException(String, Uri) - Constructor for exception com.google.android.exoplayer2.source.UnrecognizedInputFormatException
      +
       
      +
      unregister() - Method in class com.google.android.exoplayer2.audio.AudioCapabilitiesReceiver
      +
      +
      Unregisters the receiver, meaning it will no longer notify the listener when audio capability + changes occur.
      +
      +
      unregisterCustomCommandReceiver(MediaSessionConnector.CommandReceiver) - Method in class com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector
      +
      +
      Unregisters a previously registered custom command receiver.
      +
      +
      Unseekable(long) - Constructor for class com.google.android.exoplayer2.extractor.SeekMap.Unseekable
      +
       
      +
      Unseekable(long, long) - Constructor for class com.google.android.exoplayer2.extractor.SeekMap.Unseekable
      +
       
      +
      UNSET - Static variable in class com.google.android.exoplayer2.MediaItem.LiveConfiguration
      +
      +
      A live playback configuration with unset values.
      +
      +
      UNSET_LOOKAHEAD - Static variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest
      +
       
      +
      UnshuffledShuffleOrder(int) - Constructor for class com.google.android.exoplayer2.source.ShuffleOrder.UnshuffledShuffleOrder
      +
      +
      Creates an instance with a specified length.
      +
      +
      UNSPECIFIED - Static variable in class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      UnsupportedDrmException - Exception in com.google.android.exoplayer2.drm
      +
      +
      Thrown when the requested DRM scheme is not supported.
      +
      +
      UnsupportedDrmException(int) - Constructor for exception com.google.android.exoplayer2.drm.UnsupportedDrmException
      +
       
      +
      UnsupportedDrmException(int, Exception) - Constructor for exception com.google.android.exoplayer2.drm.UnsupportedDrmException
      +
       
      +
      UnsupportedDrmException.Reason - Annotation Type in com.google.android.exoplayer2.drm
      +
      +
      The reason for the exception.
      +
      +
      UnsupportedMediaCrypto - Class in com.google.android.exoplayer2.drm
      +
      +
      ExoMediaCrypto type that cannot be used to handle any type of protected content.
      +
      +
      UnsupportedMediaCrypto() - Constructor for class com.google.android.exoplayer2.drm.UnsupportedMediaCrypto
      +
       
      +
      UnsupportedRequestException() - Constructor for exception com.google.android.exoplayer2.offline.DownloadRequest.UnsupportedRequestException
      +
       
      +
      update(byte[], int, int, byte[], int) - Method in class com.google.android.exoplayer2.upstream.crypto.AesFlushingCipher
      +
       
      +
      updateAndPost() - Method in class com.google.android.exoplayer2.ui.DebugTextViewHelper
      +
       
      +
      updateClipping(long, long) - Method in class com.google.android.exoplayer2.source.ClippingMediaPeriod
      +
      +
      Updates the clipping start/end times for this period, in microseconds.
      +
      +
      updateDroppedBufferCounters(int) - Method in class com.google.android.exoplayer2.video.DecoderVideoRenderer
      +
      +
      Updates decoder counters to reflect that droppedBufferCount additional buffers were + dropped.
      +
      +
      updateDroppedBufferCounters(int) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Updates local counters and DecoderCounters to reflect that droppedBufferCount + additional buffers were dropped.
      +
      +
      updateInPlace(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.crypto.AesFlushingCipher
      +
       
      +
      updateManifest(DashManifest) - Method in class com.google.android.exoplayer2.source.dash.PlayerEmsgHandler
      +
      +
      Updates the DashManifest that this handler works on.
      +
      +
      updateManifest(DashManifest, int) - Method in interface com.google.android.exoplayer2.source.dash.DashChunkSource
      +
      +
      Updates the manifest.
      +
      +
      updateManifest(DashManifest, int) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      updateManifest(SsManifest) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      updateManifest(SsManifest) - Method in interface com.google.android.exoplayer2.source.smoothstreaming.SsChunkSource
      +
      +
      Updates the manifest.
      +
      +
      updateMediaPeriodQueueInfo(List<MediaSource.MediaPeriodId>, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.analytics.AnalyticsCollector
      +
      +
      Updates the playback queue information used for event association.
      +
      +
      updateOrientation(float, float, float, float) - Method in class com.google.android.exoplayer2.ext.gvr.GvrAudioProcessor
      +
      +
      Deprecated.
      +
      Updates the listener head orientation.
      +
      +
      updateOutputFormatForTime(long) - Method in class com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
      +
      +
      Updates the output formats for the specified output buffer timestamp, calling MediaCodecRenderer.onOutputFormatChanged(com.google.android.exoplayer2.Format, android.media.MediaFormat) if a change has occurred.
      +
      +
      updateParametersWithOverride(DefaultTrackSelector.Parameters, int, TrackGroupArray, boolean, DefaultTrackSelector.SelectionOverride) - Static method in class com.google.android.exoplayer2.trackselection.TrackSelectionUtil
      +
      +
      Updates DefaultTrackSelector.Parameters with an override.
      +
      +
      updatePlaylistMetadata(MediaMetadata) - Method in class com.google.android.exoplayer2.ext.media2.SessionPlayerConnector
      +
       
      +
      updateSelectedTrack(long, long, long, List<? extends MediaChunk>, MediaChunkIterator[]) - Method in class com.google.android.exoplayer2.testutil.FakeTrackSelection
      +
       
      +
      updateSelectedTrack(long, long, long, List<? extends MediaChunk>, MediaChunkIterator[]) - Method in class com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection
      +
       
      +
      updateSelectedTrack(long, long, long, List<? extends MediaChunk>, MediaChunkIterator[]) - Method in interface com.google.android.exoplayer2.trackselection.ExoTrackSelection
      +
      +
      Updates the selected track for sources that load media in discrete MediaChunks.
      +
      +
      updateSelectedTrack(long, long, long, List<? extends MediaChunk>, MediaChunkIterator[]) - Method in class com.google.android.exoplayer2.trackselection.FixedTrackSelection
      +
       
      +
      updateSelectedTrack(long, long, long, List<? extends MediaChunk>, MediaChunkIterator[]) - Method in class com.google.android.exoplayer2.trackselection.RandomTrackSelection
      +
       
      +
      updateSessions(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      updateSessions(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Updates or creates sessions based on a player AnalyticsListener.EventTime.
      +
      +
      updateSessionsWithDiscontinuity(AnalyticsListener.EventTime, int) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      updateSessionsWithDiscontinuity(AnalyticsListener.EventTime, int) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Updates or creates sessions based on a position discontinuity at AnalyticsListener.EventTime.
      +
      +
      updateSessionsWithTimelineChange(AnalyticsListener.EventTime) - Method in class com.google.android.exoplayer2.analytics.DefaultPlaybackSessionManager
      +
       
      +
      updateSessionsWithTimelineChange(AnalyticsListener.EventTime) - Method in interface com.google.android.exoplayer2.analytics.PlaybackSessionManager
      +
      +
      Updates or creates sessions based on a Timeline change at AnalyticsListener.EventTime.
      +
      +
      updateTimeMs - Variable in class com.google.android.exoplayer2.offline.Download
      +
      +
      The last update time.
      +
      +
      updateTrackSelection(ExoTrackSelection) - Method in interface com.google.android.exoplayer2.source.dash.DashChunkSource
      +
      +
      Updates the track selection.
      +
      +
      updateTrackSelection(ExoTrackSelection) - Method in class com.google.android.exoplayer2.source.dash.DefaultDashChunkSource
      +
       
      +
      updateTrackSelection(ExoTrackSelection) - Method in class com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
      +
       
      +
      updateTrackSelection(ExoTrackSelection) - Method in interface com.google.android.exoplayer2.source.smoothstreaming.SsChunkSource
      +
      +
      Updates the track selection.
      +
      +
      updateVideoFrameProcessingOffsetCounters(long) - Method in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer
      +
      +
      Updates local counters and DecoderCounters with a new video frame processing offset.
      +
      +
      upgradeAndDelete(File, ActionFileUpgradeUtil.DownloadIdProvider, DefaultDownloadIndex, boolean, boolean) - Static method in class com.google.android.exoplayer2.offline.ActionFileUpgradeUtil
      +
      +
      Merges DownloadRequests contained in a legacy action file into a DefaultDownloadIndex, deleting the action file if the merge is successful or if + deleteOnFailure is true.
      +
      +
      upstreamDiscarded(int, long, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      upstreamDiscarded(MediaLoadData) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      + +
      +
      uptimeMillis() - Method in class com.google.android.exoplayer2.testutil.FakeClock
      +
       
      +
      uptimeMillis() - Method in interface com.google.android.exoplayer2.util.Clock
      +
       
      +
      uptimeMillis() - Method in class com.google.android.exoplayer2.util.SystemClock
      +
       
      +
      uri - Variable in class com.google.android.exoplayer2.MediaItem.PlaybackProperties
      +
      +
      The Uri.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.MediaItem.Subtitle
      +
      +
      The Uri to the subtitle file.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.offline.DownloadRequest
      +
      +
      The uri being downloaded.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.source.dash.manifest.Representation.SingleSegmentRepresentation
      +
      +
      The uri of the single segment.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.source.LoadEventInfo
      +
      +
      The Uri from which data is being read.
      +
      +
      uri - Variable in exception com.google.android.exoplayer2.source.UnrecognizedInputFormatException
      +
      +
      The Uri from which the unrecognized data was read.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.testutil.FakeDataSet.FakeData
      +
      +
      Uri of the data or null if this is the default FakeData.
      +
      +
      uri - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      A Uri from which data belonging to the resource can be read.
      +
      +
      uriAfterRedirects - Variable in exception com.google.android.exoplayer2.drm.MediaDrmCallbackException
      +
      +
      The Uri after redirections, or dataSpec.uri if no redirection + occurred.
      +
      +
      uriPositionOffset - Variable in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      The offset of the data located at DataSpec.uri within the resource.
      +
      +
      uris - Variable in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      The URI of each ad in the ad group.
      +
      +
      UriUtil - Class in com.google.android.exoplayer2.util
      +
      +
      Utility methods for manipulating URIs.
      +
      +
      url - Variable in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      url - Variable in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
      +
      The URL of the radio station (icy-url).
      +
      +
      url - Variable in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
      +
      The stream URL if present and decodable, or null.
      +
      +
      url - Variable in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      url - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Rendition
      +
      +
      The rendition's url, or null if the tag does not have a URI attribute.
      +
      +
      url - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      The variant's url.
      +
      +
      url - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist.SegmentBase
      +
      +
      The url of the segment.
      +
      +
      url - Variable in exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistResetException
      +
      +
      The url of the reset playlist.
      +
      +
      url - Variable in exception com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistTracker.PlaylistStuckException
      +
      +
      The url of the stuck playlist.
      +
      +
      UrlLinkFrame - Class in com.google.android.exoplayer2.metadata.id3
      +
      +
      Url link ID3 frame.
      +
      +
      UrlLinkFrame(String, String, String) - Constructor for class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      UrlTemplate - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      A template from which URLs can be built.
      +
      +
      usage - Variable in class com.google.android.exoplayer2.audio.AudioAttributes
      +
       
      +
      USAGE_ALARM - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_ASSISTANCE_ACCESSIBILITY - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_ASSISTANCE_NAVIGATION_GUIDANCE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_ASSISTANCE_SONIFICATION - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_ASSISTANT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_GAME - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_MEDIA - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION_COMMUNICATION_DELAYED - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION_COMMUNICATION_INSTANT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION_COMMUNICATION_REQUEST - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION_EVENT - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_NOTIFICATION_RINGTONE - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_UNKNOWN - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_VOICE_COMMUNICATION - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USAGE_VOICE_COMMUNICATION_SIGNALLING - Static variable in class com.google.android.exoplayer2.C
      +
       
      +
      USE_TRACK_COLOR_SETTINGS - Static variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      Use color setting specified by the track and fallback to default caption style.
      +
      +
      useBoundedDataSpecFor(String) - Method in class com.google.android.exoplayer2.testutil.CacheAsserts.RequestSet
      +
       
      +
      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
      +
       
      +
      usToMs(long) - Static method in class com.google.android.exoplayer2.C
      +
      +
      Converts a time in microseconds to the corresponding time in milliseconds, preserving C.TIME_UNSET and C.TIME_END_OF_SOURCE values.
      +
      +
      usToNonWrappedPts(long) - Static method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Converts a timestamp in microseconds to a 90 kHz clock timestamp.
      +
      +
      usToWrappedPts(long) - Static method in class com.google.android.exoplayer2.util.TimestampAdjuster
      +
      +
      Converts a timestamp in microseconds to a 90 kHz clock timestamp, performing wraparound to keep + the result within 33-bits.
      +
      +
      utcSpliceTime - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.ComponentSplice
      +
       
      +
      utcSpliceTime - Variable in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand.Event
      +
      +
      Represents the time of the signaled splice event as the number of seconds since 00 hours UTC, + January 6th, 1980, with the count of intervening leap seconds included.
      +
      +
      utcTiming - Variable in class com.google.android.exoplayer2.source.dash.manifest.DashManifest
      +
      +
      The UtcTimingElement, or null if not present.
      +
      +
      UtcTimingElement - Class in com.google.android.exoplayer2.source.dash.manifest
      +
      +
      Represents a UTCTiming element.
      +
      +
      UtcTimingElement(String, String) - Constructor for class com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
      +
       
      +
      UTF16_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use StandardCharsets or Charsets instead.
      +
      +
      +
      UTF16LE_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use StandardCharsets or Charsets instead.
      +
      +
      +
      UTF8_NAME - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Deprecated. +
      Use StandardCharsets or Charsets instead.
      +
      +
      +
      Util - Class in com.google.android.exoplayer2.util
      +
      +
      Miscellaneous utility methods.
      +
      +
      uuid - Variable in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
      +
      The UUID of the DRM scheme, or C.UUID_NIL if the data is universal (i.e.
      +
      +
      uuid - Variable in class com.google.android.exoplayer2.drm.FrameworkMediaCrypto
      +
      +
      The DRM scheme UUID.
      +
      +
      uuid - Variable in class com.google.android.exoplayer2.MediaItem.DrmConfiguration
      +
      +
      The UUID of the protection scheme.
      +
      +
      uuid - Variable in class com.google.android.exoplayer2.source.smoothstreaming.manifest.SsManifest.ProtectionElement
      +
       
      +
      UUID_NIL - Static variable in class com.google.android.exoplayer2.C
      +
      +
      The Nil UUID as defined by + RFC4122.
      +
      +
      + + + +

      V

      +
      +
      validateWebvttHeaderLine(ParsableByteArray) - Static method in class com.google.android.exoplayer2.text.webvtt.WebvttParserUtil
      +
      +
      Reads and validates the first line of a WebVTT file.
      +
      +
      validJoinTimeCount - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The number of playbacks with a valid join time as documented in PlaybackStats.totalValidJoinTimeMs.
      +
      +
      value - Variable in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
      +
      The value for the event.
      +
      +
      value - Variable in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
      +
      The value.
      +
      +
      value - Variable in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      value - Variable in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
      +
      The payload.
      +
      +
      value - Variable in class com.google.android.exoplayer2.source.dash.manifest.Descriptor
      +
      +
      The value, or null.
      +
      +
      value - Variable in class com.google.android.exoplayer2.source.dash.manifest.EventStream
      +
      +
      The value of the event stream.
      +
      +
      value - Variable in class com.google.android.exoplayer2.source.dash.manifest.UtcTimingElement
      +
       
      +
      variableDefinitions - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      Contains variable definitions, as defined by the #EXT-X-DEFINE tag.
      +
      +
      Variant(Uri, Format, String, String, String, String) - Constructor for class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
       
      +
      VariantInfo(int, int, String, String, String, String) - Constructor for class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      Creates an instance.
      +
      +
      variantInfos - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
      +
      The EXT-X-STREAM-INF tags attributes associated with this track.
      +
      +
      variants - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The variants declared by the playlist.
      +
      +
      vendor - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.CommentHeader
      +
       
      +
      vendor - Variable in class com.google.android.exoplayer2.mediacodec.MediaCodecInfo
      +
      +
      Whether the codec is from the vendor.
      +
      +
      verifyVorbisHeaderCapturePattern(int, ParsableByteArray, boolean) - Static method in class com.google.android.exoplayer2.extractor.VorbisUtil
      +
      +
      Verifies whether the next bytes in header are a Vorbis header of the given + headerType.
      +
      +
      version - Variable in class com.google.android.exoplayer2.audio.MpegAudioUtil.Header
      +
      +
      MPEG audio header version.
      +
      +
      version - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
      +
      The vorbis_version field.
      +
      +
      version - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMediaPlaylist
      +
      +
      The compatibility version, as defined by #EXT-X-VERSION.
      +
      +
      VERSION - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      The version of the library expressed as a string, for example "1.2.3".
      +
      +
      VERSION_INT - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      The version of the library expressed as an integer, for example 1002003.
      +
      +
      VERSION_SLASHY - Static variable in class com.google.android.exoplayer2.ExoPlayerLibraryInfo
      +
      +
      The version of the library expressed as "ExoPlayerLib/" + VERSION.
      +
      +
      VERSION_UNSET - Static variable in class com.google.android.exoplayer2.database.VersionTable
      +
      +
      Returned by VersionTable.getVersion(SQLiteDatabase, int, String) if the version is unset.
      +
      +
      VersionTable - Class in com.google.android.exoplayer2.database
      +
      +
      Utility methods for accessing versions of ExoPlayer database components.
      +
      +
      VERTICAL_TYPE_LR - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Vertical left-to-right (e.g.
      +
      +
      VERTICAL_TYPE_RL - Static variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Vertical right-to-left (e.g.
      +
      +
      verticalType - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The vertical formatting of this Cue, or Cue.TYPE_UNSET if the cue has no vertical setting + (and so should be horizontal).
      +
      +
      vertices - Variable in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      The SubMesh vertices.
      +
      +
      VIDEO_AV1 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_DIVX - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_DOLBY_VISION - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_FLV - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_FORMAT - Static variable in class com.google.android.exoplayer2.testutil.ExoPlayerTestRunner
      +
      +
      A generic video Format which can be used to set up a FakeMediaSource.
      +
      +
      VIDEO_H263 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_H264 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_H265 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MATROSKA - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MP2T - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MP4 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MP4V - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MPEG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_MPEG2 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_OGG - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_OUTPUT_MODE_NONE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Video decoder output mode is not set.
      +
      +
      VIDEO_OUTPUT_MODE_SURFACE_YUV - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Video decoder output mode that renders 4:2:0 YUV planes directly to a surface.
      +
      +
      VIDEO_OUTPUT_MODE_YUV - Static variable in class com.google.android.exoplayer2.C
      +
      +
      Video decoder output mode that outputs raw 4:2:0 YUV planes.
      +
      +
      VIDEO_PS - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_SCALING_MODE_DEFAULT - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A default video scaling mode for MediaCodec-based renderers.
      +
      +
      VIDEO_SCALING_MODE_DEFAULT - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      +
      Deprecated. +
      Use C.VIDEO_SCALING_MODE_DEFAULT.
      +
      +
      +
      VIDEO_SCALING_MODE_SCALE_TO_FIT - Static variable in class com.google.android.exoplayer2.C
      +
      + +
      +
      VIDEO_SCALING_MODE_SCALE_TO_FIT - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      + +
      +
      VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING - Static variable in class com.google.android.exoplayer2.C
      +
      + +
      +
      VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING - Static variable in interface com.google.android.exoplayer2.Renderer
      +
      + +
      +
      VIDEO_STREAM - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      VIDEO_STREAM_MASK - Static variable in class com.google.android.exoplayer2.extractor.ts.PsExtractor
      +
       
      +
      VIDEO_TEXTURE_ID - Static variable in class com.google.android.exoplayer2.video.spherical.Projection.SubMesh
      +
      +
      Texture ID for video frames.
      +
      +
      VIDEO_UNKNOWN - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_VC1 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_VP8 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_VP9 - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VIDEO_WEBM - Static variable in class com.google.android.exoplayer2.util.MimeTypes
      +
       
      +
      VideoDecoderGLSurfaceView - Class in com.google.android.exoplayer2.video
      +
      +
      GLSurfaceView for rendering video output.
      +
      +
      VideoDecoderGLSurfaceView(Context) - Constructor for class com.google.android.exoplayer2.video.VideoDecoderGLSurfaceView
      +
       
      +
      VideoDecoderGLSurfaceView(Context, AttributeSet) - Constructor for class com.google.android.exoplayer2.video.VideoDecoderGLSurfaceView
      +
       
      +
      VideoDecoderInputBuffer - Class in com.google.android.exoplayer2.video
      +
      +
      Input buffer to a video decoder.
      +
      +
      VideoDecoderInputBuffer(int) - Constructor for class com.google.android.exoplayer2.video.VideoDecoderInputBuffer
      +
      +
      Creates a new instance.
      +
      +
      VideoDecoderInputBuffer(int, int) - Constructor for class com.google.android.exoplayer2.video.VideoDecoderInputBuffer
      +
      +
      Creates a new instance.
      +
      +
      VideoDecoderOutputBuffer - Class in com.google.android.exoplayer2.video
      +
      +
      Video decoder output buffer containing video frame data.
      +
      +
      VideoDecoderOutputBuffer(OutputBuffer.Owner<VideoDecoderOutputBuffer>) - Constructor for class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      Creates VideoDecoderOutputBuffer.
      +
      +
      VideoDecoderOutputBufferRenderer - Interface in com.google.android.exoplayer2.video
      +
      + +
      +
      videoFormatHistory - Variable in class com.google.android.exoplayer2.analytics.PlaybackStats
      +
      +
      The video format history as EventTimeAndFormats ordered by + EventTime.realTimeMs.
      +
      +
      VideoFrameMetadataListener - Interface in com.google.android.exoplayer2.video
      +
      +
      A listener for metadata corresponding to video frames being rendered.
      +
      +
      videoFrameProcessingOffsetCount - Variable in class com.google.android.exoplayer2.decoder.DecoderCounters
      +
      +
      The number of video frame processing offsets added.
      +
      +
      VideoFrameReleaseHelper - Class in com.google.android.exoplayer2.video
      +
      +
      Helps a video Renderer release frames to a Surface.
      +
      +
      VideoFrameReleaseHelper(Context) - Constructor for class com.google.android.exoplayer2.video.VideoFrameReleaseHelper
      +
      +
      Constructs an instance.
      +
      +
      videoGroupId - Variable in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
      +
      The VIDEO value as defined in the EXT-X-STREAM-INF tag, or null if the VIDEO attribute is not + present.
      +
      +
      videoGroupId - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist.Variant
      +
      +
      The video rendition group referenced by this variant, or null.
      +
      +
      VideoListener - Interface in com.google.android.exoplayer2.video
      +
      +
      A listener for metadata corresponding to video being rendered.
      +
      +
      VideoRendererEventListener - Interface in com.google.android.exoplayer2.video
      +
      +
      Listener of video Renderer events.
      +
      +
      VideoRendererEventListener.EventDispatcher - Class in com.google.android.exoplayer2.video
      +
      +
      Dispatches events to a VideoRendererEventListener.
      +
      +
      videos - Variable in class com.google.android.exoplayer2.source.hls.playlist.HlsMasterPlaylist
      +
      +
      The video renditions declared by the playlist.
      +
      +
      videoSize - Variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      The size of the video data, in bytes.
      +
      +
      videoSizeChanged(int, int, int, float) - Method in class com.google.android.exoplayer2.video.VideoRendererEventListener.EventDispatcher
      +
      + +
      +
      videoStartPosition - Variable in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
      +
      The start offset of the video data, in bytes.
      +
      +
      VideoTrackScore(Format, DefaultTrackSelector.Parameters, int, boolean) - Constructor for class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.VideoTrackScore
      +
       
      +
      view - Variable in class com.google.android.exoplayer2.source.ads.AdsLoader.OverlayInfo
      +
      +
      The overlay view.
      +
      +
      VIEW_TYPE_CANVAS - Static variable in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Indicates subtitles should be displayed using a Canvas.
      +
      +
      VIEW_TYPE_WEB - Static variable in class com.google.android.exoplayer2.ui.SubtitleView
      +
      +
      Indicates subtitles should be displayed using a WebView.
      +
      +
      viewportHeight - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Viewport height in pixels.
      +
      +
      viewportOrientationMayChange - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Whether the viewport orientation may change during playback.
      +
      +
      viewportWidth - Variable in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
      +
      Viewport width in pixels.
      +
      +
      VorbisBitArray - Class in com.google.android.exoplayer2.extractor
      +
      +
      Wraps a byte array, providing methods that allow it to be read as a Vorbis bitstream.
      +
      +
      VorbisBitArray(byte[]) - Constructor for class com.google.android.exoplayer2.extractor.VorbisBitArray
      +
      +
      Creates a new instance that wraps an existing array.
      +
      +
      VorbisComment - Class in com.google.android.exoplayer2.metadata.flac
      +
      +
      A vorbis comment.
      +
      +
      VorbisComment(String, String) - Constructor for class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      VorbisIdHeader(int, int, int, int, int, int, int, int, boolean, byte[]) - Constructor for class com.google.android.exoplayer2.extractor.VorbisUtil.VorbisIdHeader
      +
       
      +
      VorbisUtil - Class in com.google.android.exoplayer2.extractor
      +
      +
      Utility methods for parsing Vorbis streams.
      +
      +
      VorbisUtil.CommentHeader - Class in com.google.android.exoplayer2.extractor
      +
      +
      Vorbis comment header.
      +
      +
      VorbisUtil.Mode - Class in com.google.android.exoplayer2.extractor
      +
      +
      Vorbis setup header modes.
      +
      +
      VorbisUtil.VorbisIdHeader - Class in com.google.android.exoplayer2.extractor
      +
      +
      Vorbis identification header.
      +
      +
      VpxDecoder - Class in com.google.android.exoplayer2.ext.vp9
      +
      +
      Vpx decoder.
      +
      +
      VpxDecoder(int, int, int, ExoMediaCrypto, int) - Constructor for class com.google.android.exoplayer2.ext.vp9.VpxDecoder
      +
      +
      Creates a VP9 decoder.
      +
      +
      VpxDecoderException - Exception in com.google.android.exoplayer2.ext.vp9
      +
      +
      Thrown when a libvpx decoder error occurs.
      +
      +
      vpxIsSecureDecodeSupported() - Static method in class com.google.android.exoplayer2.ext.vp9.VpxLibrary
      +
       
      +
      VpxLibrary - Class in com.google.android.exoplayer2.ext.vp9
      +
      +
      Configures and queries the underlying native library.
      +
      +
      VpxOutputBuffer - Class in com.google.android.exoplayer2.ext.vp9
      +
      +
      Deprecated. + +
      +
      +
      VpxOutputBuffer(OutputBuffer.Owner<VideoDecoderOutputBuffer>) - Constructor for class com.google.android.exoplayer2.ext.vp9.VpxOutputBuffer
      +
      +
      Deprecated.
      +
      Creates VpxOutputBuffer.
      +
      +
      + + + +

      W

      +
      +
      w(String, String) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      w(String, String, Throwable) - Static method in class com.google.android.exoplayer2.util.Log
      +
       
      +
      waitForIsLoading(boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until player.isLoading() changes to the specified value.
      +
      +
      WaitForIsLoading(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForIsLoading
      +
       
      +
      waitForMessage(ActionSchedule.PlayerTarget) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until a message arrives at the PlayerMessage.Target.
      +
      +
      WaitForMessage(String, ActionSchedule.PlayerTarget) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForMessage
      +
       
      +
      waitForPendingPlayerCommands() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until all pending player commands have been handled.
      +
      +
      WaitForPendingPlayerCommands(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForPendingPlayerCommands
      +
       
      +
      waitForPlaybackState(int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until the playback state changed to the specified state.
      +
      +
      WaitForPlaybackState(String, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForPlaybackState
      +
       
      +
      waitForPlayWhenReady(boolean) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until playWhenReady has the specified value.
      +
      +
      WaitForPlayWhenReady(String, boolean) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForPlayWhenReady
      +
       
      +
      waitForPositionDiscontinuity() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until the next position discontinuity.
      +
      +
      WaitForPositionDiscontinuity(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForPositionDiscontinuity
      +
       
      +
      waitForTimelineChanged() - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until any timeline change.
      +
      +
      waitForTimelineChanged(Timeline, int) - Method in class com.google.android.exoplayer2.testutil.ActionSchedule.Builder
      +
      +
      Schedules a delay until the timeline changed to a specified expected timeline.
      +
      +
      WaitForTimelineChanged(String) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForTimelineChanged
      +
      +
      Creates action waiting for any timeline change for any reason.
      +
      +
      WaitForTimelineChanged(String, Timeline, int) - Constructor for class com.google.android.exoplayer2.testutil.Action.WaitForTimelineChanged
      +
      +
      Creates action waiting for a timeline change for a given reason.
      +
      +
      waitingForKeys - Variable in class com.google.android.exoplayer2.decoder.DecoderInputBuffer
      +
      +
      Whether the last attempt to read a sample into this buffer failed due to not yet having the DRM + keys associated with the next sample.
      +
      +
      WAKE_MODE_LOCAL - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A wake mode that will cause the player to hold a PowerManager.WakeLock + during playback.
      +
      +
      WAKE_MODE_NETWORK - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A wake mode that will cause the player to hold a PowerManager.WakeLock and a + WifiManager.WifiLock during playback.
      +
      +
      WAKE_MODE_NONE - Static variable in class com.google.android.exoplayer2.C
      +
      +
      A wake mode that will not cause the player to hold any locks.
      +
      +
      warmDecoderInfoCache(String, boolean, boolean) - Static method in class com.google.android.exoplayer2.mediacodec.MediaCodecUtil
      +
      +
      Optional call to warm the codec cache for a given mime type.
      +
      +
      WAV - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the WAV format.
      +
      +
      WAVE_FOURCC - Static variable in class com.google.android.exoplayer2.audio.WavUtil
      +
      +
      Four character code for "WAVE".
      +
      +
      WavExtractor - Class in com.google.android.exoplayer2.extractor.wav
      +
      +
      Extracts data from WAV byte streams.
      +
      +
      WavExtractor() - Constructor for class com.google.android.exoplayer2.extractor.wav.WavExtractor
      +
       
      +
      WavFileAudioBufferSink(String) - Constructor for class com.google.android.exoplayer2.audio.TeeAudioProcessor.WavFileAudioBufferSink
      +
      +
      Creates a new audio buffer sink that writes to .wav files with the given prefix.
      +
      +
      WavUtil - Class in com.google.android.exoplayer2.audio
      +
      +
      Utilities for handling WAVE files.
      +
      +
      WebServerDispatcher - Class in com.google.android.exoplayer2.testutil
      +
      +
      A Dispatcher for MockWebServer that allows per-path + customisation of the static data served.
      +
      +
      WebServerDispatcher.Resource - Class in com.google.android.exoplayer2.testutil
      +
      +
      A resource served by WebServerDispatcher.
      +
      +
      WebServerDispatcher.Resource.Builder - Class in com.google.android.exoplayer2.testutil
      +
      + +
      +
      WEBVTT - Static variable in class com.google.android.exoplayer2.util.FileTypes
      +
      +
      File type for the WebVTT format.
      +
      +
      WebvttCssStyle - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      Style object of a Css style block in a Webvtt file.
      +
      +
      WebvttCssStyle() - Constructor for class com.google.android.exoplayer2.text.webvtt.WebvttCssStyle
      +
       
      +
      WebvttCssStyle.FontSizeUnit - Annotation Type in com.google.android.exoplayer2.text.webvtt
      +
      +
      Font size unit enum.
      +
      +
      WebvttCssStyle.StyleFlags - Annotation Type in com.google.android.exoplayer2.text.webvtt
      +
      +
      Style flag enum.
      +
      +
      WebvttCueInfo - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      A representation of a WebVTT cue.
      +
      +
      WebvttCueInfo(Cue, long, long) - Constructor for class com.google.android.exoplayer2.text.webvtt.WebvttCueInfo
      +
       
      +
      WebvttCueParser - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      Parser for WebVTT cues.
      +
      +
      WebvttCueParser() - Constructor for class com.google.android.exoplayer2.text.webvtt.WebvttCueParser
      +
       
      +
      WebvttDecoder - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      A SimpleSubtitleDecoder for WebVTT.
      +
      +
      WebvttDecoder() - Constructor for class com.google.android.exoplayer2.text.webvtt.WebvttDecoder
      +
       
      +
      WebvttExtractor - Class in com.google.android.exoplayer2.source.hls
      +
      +
      A special purpose extractor for WebVTT content in HLS.
      +
      +
      WebvttExtractor(String, TimestampAdjuster) - Constructor for class com.google.android.exoplayer2.source.hls.WebvttExtractor
      +
       
      +
      WebvttParserUtil - Class in com.google.android.exoplayer2.text.webvtt
      +
      +
      Utility methods for parsing WebVTT data.
      +
      +
      WIDEVINE_UUID - Static variable in class com.google.android.exoplayer2.C
      +
      +
      UUID for the Widevine DRM scheme.
      +
      +
      WidevineUtil - Class in com.google.android.exoplayer2.drm
      +
      +
      Utility methods for Widevine.
      +
      +
      width - Variable in class com.google.android.exoplayer2.Format
      +
      +
      The width of the video in pixels, or Format.NO_VALUE if unknown or not applicable.
      +
      +
      width - Variable in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
      +
      The width of the picture in pixels.
      +
      +
      width - Variable in class com.google.android.exoplayer2.util.NalUnitUtil.SpsData
      +
       
      +
      width - Variable in class com.google.android.exoplayer2.video.AvcConfig
      +
       
      +
      width - Variable in class com.google.android.exoplayer2.video.MediaCodecVideoRenderer.CodecMaxValues
      +
       
      +
      width - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      window - Variable in class com.google.android.exoplayer2.BasePlayer
      +
       
      +
      Window() - Constructor for class com.google.android.exoplayer2.Timeline.Window
      +
      +
      Creates window.
      +
      +
      windowColor - Variable in class com.google.android.exoplayer2.text.CaptionStyleCompat
      +
      +
      The preferred window color.
      +
      +
      windowColor - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      The fill color of the window.
      +
      +
      windowColorSet - Variable in class com.google.android.exoplayer2.text.Cue
      +
      +
      Specifies whether or not the Cue.windowColor property is set.
      +
      +
      windowIndex - Variable in class com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime
      +
      +
      Window index in the AnalyticsListener.EventTime.timeline this event belongs to, or the prospective window index + if the timeline is not yet known and empty.
      +
      +
      windowIndex - Variable in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      The timeline window index reported with the events.
      +
      +
      windowIndex - Variable in exception com.google.android.exoplayer2.IllegalSeekPositionException
      +
      +
      The index of the window being seeked to.
      +
      +
      windowIndex - Variable in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      The timeline window index reported with the events.
      +
      +
      windowIndex - Variable in class com.google.android.exoplayer2.Timeline.Period
      +
      +
      The index of the window to which this period belongs.
      +
      +
      windowOffsetInFirstPeriodUs - Variable in class com.google.android.exoplayer2.testutil.FakeTimeline.TimelineWindowDefinition
      +
       
      +
      windowSequenceNumber - Variable in class com.google.android.exoplayer2.source.MediaPeriodId
      +
      +
      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.Timeline.Window
      +
      +
      The window's start time in milliseconds since the Unix epoch, or C.TIME_UNSET if + unknown or not applicable.
      +
      +
      windowType - Variable in class com.google.android.exoplayer2.extractor.VorbisUtil.Mode
      +
       
      +
      withAbsoluteSize(int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.AbsoluteSized
      +
      +
      Checks that at least one of the matched spans has the expected size.
      +
      +
      withAdCount(int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns a new instance with the ad count set to count.
      +
      +
      withAdCount(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the number of ads in adGroupIndex resolved to adCount.
      +
      +
      withAdditionalHeaders(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a copy this data spec with additional HTTP request headers.
      +
      +
      withAdDurationsUs(long[]) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns a new instance with the specified ad durations, in microseconds.
      +
      +
      withAdDurationsUs(long[][]) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad durations, in microseconds.
      +
      +
      withAdLoadError(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad marked as having a load error.
      +
      +
      withAdResumePositionUs(long) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad resume position, in microseconds, relative to the + start of the current ad.
      +
      +
      withAdState(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns a new instance with the specified ad set to the specified state.
      +
      +
      withAdUri(int, int, Uri) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad URI.
      +
      +
      withAdUri(Uri, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns a new instance with the specified uri set for the specified ad, and the ad + marked as AdPlaybackState.AD_STATE_AVAILABLE.
      +
      +
      withAlignment(Layout.Alignment) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.Aligned
      +
      +
      Checks that at least one of the matched spans has the expected alignment.
      +
      +
      withAllAdsSkipped() - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState.AdGroup
      +
      +
      Returns an instance with all unavailable and available ads marked as skipped.
      +
      +
      withColor(int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.Colored
      +
      +
      Checks that at least one of the matched spans has the expected color.
      +
      +
      withContentDurationUs(long) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified content duration, in microseconds.
      +
      +
      withFamily(String) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.Typefaced
      +
      +
      Checks that at least one of the matched spans has the expected fontFamily.
      +
      +
      withFlags(int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.WithSpanFlags
      +
      +
      Checks that one of the matched spans has the expected flags.
      +
      +
      withManifestFormatInfo(Format) - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      withMarkAndPosition(int, int, int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.EmphasizedText
      +
      +
      Checks that at least one of the matched spans has the expected mark and + position.
      +
      +
      withParameters(int, MediaSource.MediaPeriodId) - Method in class com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher
      +
      +
      Creates a view of the event dispatcher with the provided window index and media period id.
      +
      +
      withParameters(int, MediaSource.MediaPeriodId, long) - Method in class com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher
      +
      +
      Creates a view of the event dispatcher with pre-configured window index, media period id, and + media time offset.
      +
      +
      withPlayedAd(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad marked as played.
      +
      +
      withRequestHeaders(Map<String, String>) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a copy of this data spec with the specified HTTP request headers.
      +
      +
      withSizeChange(float) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.RelativeSized
      +
      +
      Checks that at least one of the matched spans has the expected sizeChange.
      +
      +
      withSkippedAd(int, int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with the specified ad marked as skipped.
      +
      +
      withSkippedAdGroup(int) - Method in class com.google.android.exoplayer2.source.ads.AdPlaybackState
      +
      +
      Returns an instance with all ads in the specified ad group skipped (except for those already + marked as played or in the error state).
      +
      +
      withSpeed(float) - Method in class com.google.android.exoplayer2.PlaybackParameters
      +
      +
      Returns a copy with the given speed.
      +
      +
      withTextAndPosition(String, int) - Method in interface com.google.android.exoplayer2.testutil.truth.SpannedSubject.RubyText
      +
      +
      Checks that at least one of the matched spans has the expected text.
      +
      +
      withUri(Uri) - Method in class com.google.android.exoplayer2.upstream.DataSpec
      +
      +
      Returns a copy of this data spec with the specified Uri.
      +
      +
      WORKAROUND_DEVICE_NEEDS_KEYS_TO_CONFIGURE_CODEC - Static variable in class com.google.android.exoplayer2.drm.FrameworkMediaCrypto
      +
      +
      Whether the device needs keys to have been loaded into the DrmSession before codec + configuration.
      +
      +
      WorkManagerScheduler - Class in com.google.android.exoplayer2.ext.workmanager
      +
      +
      A Scheduler that uses WorkManager.
      +
      +
      WorkManagerScheduler(Context, String) - Constructor for class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
      +
       
      +
      WorkManagerScheduler(String) - Constructor for class com.google.android.exoplayer2.ext.workmanager.WorkManagerScheduler
      +
      +
      Deprecated. + +
      +
      +
      WorkManagerScheduler.SchedulerWorker - Class in com.google.android.exoplayer2.ext.workmanager
      +
      +
      A Worker that starts the target service if the requirements are met.
      +
      +
      WritableDownloadIndex - Interface in com.google.android.exoplayer2.offline
      +
      +
      A writable index of Downloads.
      +
      +
      write(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.ByteArrayDataSink
      +
       
      +
      write(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.cache.CacheDataSink
      +
       
      +
      write(byte[], int, int) - Method in class com.google.android.exoplayer2.upstream.crypto.AesCipherDataSink
      +
       
      +
      write(byte[], int, int) - Method in interface com.google.android.exoplayer2.upstream.DataSink
      +
      +
      Consumes the provided data.
      +
      +
      writeBoolean(Parcel, boolean) - Static method in class com.google.android.exoplayer2.util.Util
      +
      +
      Writes a boolean to a Parcel.
      +
      +
      writeData(long) - Method in class com.google.android.exoplayer2.testutil.FakeSampleStream
      +
      +
      Writes all not yet written sample stream items to the sample queue + starting at the given position.
      +
      +
      WriteException(int, Format, boolean) - Constructor for exception com.google.android.exoplayer2.audio.AudioSink.WriteException
      +
      +
      Creates an instance.
      +
      +
      writeToParcel(Parcel) - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand.ComponentSplice
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.drm.DrmInitData.SchemeData
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.drm.DrmInitData
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.Format
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.dvbsi.AppInfoTable
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.emsg.EventMessage
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.flac.PictureFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.flac.VorbisComment
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.icy.IcyHeaders
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.icy.IcyInfo
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.ApicFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.BinaryFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.ChapterTocFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.CommentFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.GeobFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.InternalFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.MlltFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.PrivFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.TextInformationFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.id3.UrlLinkFrame
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.Metadata
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.mp4.MdtaMetadataEntry
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.mp4.MotionPhotoMetadata
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData.Segment
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.mp4.SlowMotionData
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.mp4.SmtaMetadataEntry
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.scte35.PrivateCommand
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceInsertCommand
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceNullCommand
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.scte35.SpliceScheduleCommand
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.metadata.scte35.TimeSignalCommand
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.offline.DownloadRequest
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.offline.StreamKey
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.scheduler.Requirements
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry.VariantInfo
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.source.TrackGroup
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.source.TrackGroupArray
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.Parameters
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.trackselection.DefaultTrackSelector.SelectionOverride
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.trackselection.TrackSelectionParameters
      +
       
      +
      writeToParcel(Parcel, int) - Method in class com.google.android.exoplayer2.video.ColorInfo
      +
       
      +
      + + + +

      X

      +
      +
      XmlPullParserUtil - Class in com.google.android.exoplayer2.util
      +
      +
      XmlPullParser utility methods.
      +
      +
      + + + +

      Y

      +
      +
      yuvPlanes - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
      +
      YUV planes for YUV mode.
      +
      +
      yuvStrides - Variable in class com.google.android.exoplayer2.video.VideoDecoderOutputBuffer
      +
       
      +
      +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 
      + +
      + + + + + + + +
      + + + + diff --git a/docs/gh-pages/docs/reference/index.html b/docs/gh-pages/docs/reference/index.html new file mode 100644 index 0000000000..2313a09084 --- /dev/null +++ b/docs/gh-pages/docs/reference/index.html @@ -0,0 +1,82 @@ + + + + +ExoPlayer library + + + + + + + +
      +
      +
      + +
      +
      + +
      +
      +
      + +
      +
      + + diff --git a/docs/gh-pages/docs/reference/jquery/external/jquery/jquery.js b/docs/gh-pages/docs/reference/jquery/external/jquery/jquery.js new file mode 100644 index 0000000000..c5c648255c --- /dev/null +++ b/docs/gh-pages/docs/reference/jquery/external/jquery/jquery.js @@ -0,0 +1,9789 @@ +/*! + * jQuery JavaScript Library v1.10.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03T13:48Z + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<10 + // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + location = window.location, + document = window.document, + docElem = document.documentElement, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.10.2", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( jQuery.support.ownLast ) { + for ( key in obj ) { + return core_hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations. + // Note: this method belongs to the css module but it's needed here for the support module. + // If support gets modularized, this method should be moved back to the css module. + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +/*! + * Sizzle CSS Selector Engine v1.10.2 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03 + */ +(function( window, undefined ) { + +var i, + support, + cachedruns, + Expr, + getText, + isXML, + compile, + outermostContext, + sortInput, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + hasDuplicate = false, + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rsibling = new RegExp( whitespace + "*[+~]" ), + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent.attachEvent && parent !== parent.top ) { + parent.attachEvent( "onbeforeunload", function() { + setDocument(); + }); + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + div.innerHTML = "
      "; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Support: Opera 10-12/IE8 + // ^= $= *= and empty values + // Should not select anything + // Support: Windows 8 Native Apps + // The type attribute is restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "t", "" ); + + if ( div.querySelectorAll("[t^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val === undefined ? + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null : + val; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] && match[4] !== undefined ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + elem[ name ] === true ? name.toLowerCase() : null; + } + }); +} + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function( support ) { + + var all, a, input, select, fragment, opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = "
      a"; + + // Finish early in limited (non-browser) environments + all = div.getElementsByTagName("*") || []; + a = div.getElementsByTagName("a")[ 0 ]; + if ( !a || !a.style || !all.length ) { + return support; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName("tbody").length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName("link").length; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute("style") ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute("href") === "/a"; + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + support.opacity = /^0.5/.test( a.style.opacity ); + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!a.style.cssFloat; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement("form").enctype; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>"; + + // Will be defined later + support.inlineBlockNeedsLayout = false; + support.shrinkWrapBlocks = false; + support.pixelPosition = false; + support.deleteExpando = true; + support.noCloneEvent = true; + support.reliableMarginRight = true; + support.boxSizingReliable = true; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Support: IE<9 + // Iteration over object's inherited properties before its own. + for ( i in jQuery( support ) ) { + break; + } + support.ownLast = i !== "0"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "
      t
      "; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior. + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + + // Workaround failing boxSizing test due to offsetWidth returning wrong value + // with some non-1 values of body zoom, ticket #13543 + jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() { + support.boxSizing = div.offsetWidth === 4; + }); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "
      "; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})({}); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "applet": true, + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + data = null, + i = 0, + elem = this[0]; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( name.indexOf("data-") === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + jQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n\f]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // Use proper attribute retrieval(#6932, #12072) + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) { + optionSet = true; + } + } + + // force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? + ret : + ( elem[ name ] = value ); + + } else { + return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? + ret : + elem[ name ]; + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + } +}); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr; + + jQuery.expr.attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? + function( elem, name, isXML ) { + var fn = jQuery.expr.attrHandle[ name ], + ret = isXML ? + undefined : + /* jshint eqeqeq: false */ + (jQuery.expr.attrHandle[ name ] = undefined) != + getter( elem, name, isXML ) ? + + name.toLowerCase() : + null; + jQuery.expr.attrHandle[ name ] = fn; + return ret; + } : + function( elem, name, isXML ) { + return isXML ? + undefined : + elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + }; +}); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + jQuery.expr.attrHandle.id = jQuery.expr.attrHandle.name = jQuery.expr.attrHandle.coords = + // Some attributes are constructed with empty-string values when not defined + function( elem, name, isXML ) { + var ret; + return isXML ? + undefined : + (ret = elem.getAttributeNode( name )) && ret.value !== "" ? + ret.value : + null; + }; + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ret.specified ? + ret.value : + undefined; + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }; +} + +jQuery.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +}); + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }; + if ( !jQuery.support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + // Support: Webkit + // "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +var isSimple = /^.[^:#\[\.,]*$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + cur = ret.push( cur ); + break; + } + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( isSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
      ", "
      " ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
      " ], + tr: [ 2, "", "
      " ], + col: [ 2, "", "
      " ], + td: [ 3, "", "
      " ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
      ", "
      " ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var + // Snapshot the DOM in case .domManip sweeps something relevant into its fragment + args = jQuery.map( this, function( elem ) { + return [ elem.nextSibling, elem.parentNode ]; + }), + i = 0; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + var next = args[ i++ ], + parent = args[ i++ ]; + + if ( parent ) { + // Don't use the snapshot next if it has moved (#13810) + if ( next && next.parentNode !== parent ) { + next = this.nextSibling; + } + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + // Allow new content to include elements from the context set + }, true ); + + // Force removal if there was no new content (e.g., from empty arguments) + return i ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback, allowIntersection ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback, allowIntersection ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery._evalUrl( node.src ); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
      " && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + }, + + _evalUrl: function( url ) { + return jQuery.ajax({ + url: url, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } +}); +jQuery.fn.extend({ + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each(function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("